kdb - Tickperplant subscription by sym sending single records not tables by editing .u.pub -


i have ticker plant has schema:

quote:([]time:(); sym:();expiration:();mtype:();price:();cond:();exchange:();volume:()) trade:([]time:(); sym:();expiration:();mtype:();price:();cond:();exchange:();volume:()) rfills:([]time:();sym:();expiration:();tag:();price:();volume:()) 

i double check schema doing

meta trade 

table schema

i subscribe tickerplant such getting trade table

h(`.u.sub;`trade;`) 

but when try specify symbol sym doing

h(`.u.sub;`trade;`zb) 

no records being pushed, odd because when subscribe syms can see `zb sym being pushed shown below after setting upd show enter image description here

figured out above question, single record being pushed not table or key-value pair.this going on. publishing single record not table qsharp:

string giantstring2 = ".u.upd[" + "`trade;" + qdatetime + "," + rsymbol + "," + rexp + "," + qtype + "," + qprice + "," + qcondition + "," + qexchange + "," + qvolume + "  ]";  q.async(giantstring2); 

i set .u.upd .u.pub . clients recieve single record since not table nor key value pair doesn't grab sym. decided change .u.upd

.u.upd:{[tabname;tabdata]             tabname insert tabdata;             tabd1::tabdata;              r2:: last (eval tabname);             .u.pub[tabname; r2];                 }; 

so subscribing sym works there issue, keeps publishes entire table not record. thinking of how make want i'm not sure how go it. upon investigation of .u.pub function

{[t;x]{[t;x;w]if[count x:sel[x]w 1;(neg first w)(`upd;t;x)]}[t;x]each w t} 

it looks goes through table , publishes each record. assume can edit submit last record , should work how expect to. although unsure how that. ideas? assume need change each w t part grab last record , not entire table


Comments