Results 1 to 2 of 2
  1. #1
    Senior Member
    Join Date
    Jul 2013
    Posts
    39

    IItemEventListener.Update performance

    Hi,

    I have several question about .NET IItemEventListener.Update:

    1. What is different between Java smartUpdate() and .NET update() function? Is smartUpdate better from performance view? Why don't you implement it in .NET?

    2. My scenario is: item A in MERGE mode with 3 fields: f1, f2, f3. The last time my .NET data adapter calls IItemEventListener.Update("itemA", [["f1", "x"], ["f2", "y"], ["f3", "z"]]); Which is your recommendation for next call:
    a) IItemEventListener.Update("itemA", [["f1", "x"], ["f2", "y"], ["f3", "BLA"]]);
    b) IItemEventListener.Update("itemA", [["f3", "BLA"]]);
    What should client receive?

    Thanks,

  2. #2
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    975
    About smartUpdate:
    This call provides the Adapter with a direct pointer to the internal structures related to the item being updated.
    If only the item name or any other symbolic reference were available, the Server would have to find the internal structures through some hashmap lookup.
    So, smartUpdate saves this operation; the cost of this operation relative to all other stuff done by the Server is difficult to estimate.
    The same is not possible with a Remote Adapter, which, when sending an update to the Server, can only supply the item name or a symbolic reference.

    About IItemEventListener.Update:
    Option b) is suggested, particularly with a Remote Adapter, where, by omitting fields, the data flow towards the Server is reduced.
    In fact, the two forms are equivalent, as the Server will interpret missing fields as unchanged fields.
    But note that this only applies to MERGE mode (your case) and to COMMAND mode (apart from the "key" and "command" fields).

 

 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT +1. The time now is 11:51 AM.