Search code examples
kdbq-lang

kdb ticker plant: where to find documentation on .u.upd?


I am aware of this resource. But it does not spell out what parameters .u.upd takes and how to check if it worked.

This statement executes without error, although it does not seem to do anything:

.u.upd[`t;(`$"abc";1;2;3)]

If I define the table beforehand, e.g.

t:([] name:"aaa";a:1;b:2;c:3)

then the above .u.upd still runs without error, and does not change t.


Solution

  • .u.upd has the same function signature as insert (see http://code.kx.com/q/ref/qsql/#insert) in prefix form. In the most simplest case, .u.upd may get defined as insert.

    so: .u.upd[`table;<records>]

    For example:

    q).u.upd:insert
    q)show tbl:([] a:`x`y;b:10 20)
       a b
       ----
       x 10
       y 20
    q).u.upd[`tbl;(`z;30)]
       ,2
    q)show tbl
       a b
       ----
       x 10
       y 20
       z 30
    q).u.upd[`tbl;(`a`b`c;1 2 3)]
       3 4 5
    q)show tbl
       a b
       ----
       x 10
       y 20
       z 30
       a 1
       b 2
       c 3