Издательский стол обратно на тикерплан - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь опубликовать таблицу прямо из движка реального времени.По сути, у меня есть движок реального времени, который подключается к тикер-установке, подписывается на необработанную версию таблицы и добавляет несколько новых столбцов.Теперь я хочу, чтобы эта улучшенная версия стола была перенесена обратно на тикерплан.У меня есть функция паба, которая толкает таблицу следующим образом:

neg[handle](`.u.upd;`tablename;tabledata)

проблема в том, что я получаю ошибку типа.Я посмотрел на схемы таблицы, и они немного отличаются.

meta table1
c               | t f a
----------------| -----
time            | p
sym             | s
col1            | c
col2            | s
col3            | i

meta table2
c               | t f a
----------------| -----
time            | p
sym             | s
col1            | C
col2            | s
col3            | i

Этот капитал C, скорее всего, является проблемой.Однако я не могу загрузить схему в тикерпланте заглавными буквами.Любая идея, как я должен идти об этом?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Заглавная буква C в вашей мета-таблице является результатом вложенности входящих данных.Чтобы решить эту проблему, вы должны объявить схему с нетипизированным пустым списком.

table2:([] time:`timestamp$();sym:`$();col1:();col2:`$();col3:"I"$())

Следовательно, до тех пор, пока результат не будет введен, его мета будет:

q)meta table2
c   | t f a
----| -----
time| p
sym | s
col1|
col2| s
col3| i

Это будет обновляться в соответствии с первой записью в таблице.

Также, .u.upd требует, чтобы входные данные были не таблицей, а списком, это можно решить с помощью:

neg[handle](`.u.upd;`tablename;value flip tabledata)
0 голосов
/ 04 октября 2018

Вы можете определить схему с типом общего списка, и он будет принимать ее тип с первой вставки.

tab:([] col1:`int$();generic:();col3:`$())

Другая проблема заключается в том, что ваш тикерплан может ожидать отправки списка (списков) на его .u.upd, а не на таблицу, которую вы отправляете, поэтому вы можете захотеть value flip Ваш стол перед отправкой.(И обратите внимание, что тикерпланет попытается добавить метку времени, если первый столбец еще не является меткой времени)

...