Hi All,
When we are using “.u.upd” call to update through tickerplant, both
in-memory database and historical database are getting updated. But
when we are using “upsert” call to update through tickerplant, only
historical database is getting updated. “Upsert” call should be
updating the in-memory database, so that historical database gets
automatically on the timer loop. We are not able to figure why
“.u.upd” call is behaving in correct manner but upsert call is not.
Also, is there a way to configure “upsert” call also so that it will
behave in the same manner as “u.upd” call works.
We are not able to find any info about it in the manual.
Any help would be highly appreciated.
Regards
Tripuresh
–
Submitted via Google Groups
.u.upd and upsert do different things. If you are feeding data to a tickerplant you should be calling .u.upd.
.u.upd will publish to the tickerplant subscribers (e.g. rdb), which in turn may persist the data (to the hdb).
Why not just use .u.upd?
Hi,
?“.u.upd” call doesnt work on all databases. if it is a normal kdb+ database and you try to update using “.u.upd” call, it will throw some exception.
?Is there a way by which even normal kdb+ (non-commercial and non-tickerplants) databases can process the “.u.upd” calls successfully (meaning do update just like "upsert call).
Thats why we had to go with the upsert because it was working on normal (dev version) kdb+ database. It also works on tickerplant but differently.
Regards
Tripuresh
If you are trying to feed data into kdb+, you’ll likely want to do it through the tickerplant. If you don’t have the tickerplant and associated code, you’ll probably end up trying to duplicate it. Why do you want to avoid the tickerplant?
Hi,
?Because tickerplant is one kind of set up for kdb+. We want our adapter to be generic, so that it can be used for any kdb+ database whether non-commercial or tickerplant.
?But for tickerplant, upsert call is not behaving as it should have behaved. We are expecting upsert call to update “in-memory” database instead of historical database. Even if upsert is not behaving as “.u.upd” but it should be having the correct behaviour. When upsert call is used to update, only historical database is getting updated, no change in in-memory database. But actually in-memory database should be updated and historical database would get updated automatically on a timer loop.
Do you know any other way by which we can directly update in-memory database (instead of going through the tickerplant).
The main problem we are facing is that when using upsert call on a tickerplant, in-memory database is not getting updated.
Regards,
Tripuresh