kdb ticker plant: где найти документацию по .u.upd?

Мне известно об этом ресурсе. Но не прописано, какие параметры принимает .u.upd и как проверить, сработало ли оно.

Этот оператор выполняется без ошибок, хотя кажется, что он ничего не делает:

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

Если я заранее определяю таблицу, например.

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

то указанный выше .u.upd по-прежнему работает без ошибок и не меняет t.


person user443854    schedule 20.11.2013    source источник


Ответы (2)


.u.upd имеет ту же сигнатуру функции, что и insert (см. http://code.kx.com/q/ref/qsql/#insert) в форме префикса. В самом простом случае .u.upd можно определить как insert.

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

Например:

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
person MdSalih    schedule 20.11.2013

Документацию, включая последовательность событий, схему подключения и т. д. для тиккерплантов, можно найти здесь: http://www.timestored.com/kdb-guides/kdb-tick-data-store

введите здесь описание изображения

.u.upd[имя_таблицы; tableData] принимает два аргумента для вставки данных в именованную таблицу. Эта функция обычно вызывается из обработчика подачи. Он берет tableData, добавляет столбец времени, если он присутствует, вставляет его в таблицу в памяти, добавляет в файл журнала и, наконец, увеличивает счетчик файла журнала.

person John at TimeStored    schedule 16.08.2014