我喜欢为.z.pg编写逻辑,因此当远程客户端从端口登录时,我的表将填充某些信息,例如:
.ipc.history:enlist`time`handle`user`query`result!(0Np;0Ni;`;::;::)
所以我写了以下逻辑:
.z.pg:{[x] r:value x;`.ipc.history insert (.z.p;.z.w;.z.u;value x;r);r}
基于:
.z.pg:{[x]0N!(`zpg;x);value x }
我假设x是类似“ 1 + 1”的查询。
所以当我在端口上监听时:
q queryHistory1.q -p 5000
,客户端在handle:hopen 5000
上进行一些查询(r);我的表.ipc.history包含了其中的字段。
虽然我没有收到错误,但是我的表是空的。
答案 0 :(得分:1)
在我自己的测试中,您似乎已按预期工作。最初,在不更改您的代码的情况下,在对查询进行h“ 1 + 1”客户端
后,我的表被填充了以下内容time handle user query result
--------------------------------------------------------------------------
:: ::
2019.02.11D17:22:04.976012000 560 Liam McGrenaghan 2 2
您是使用正向句柄同步查询,还是使用负向句柄异步查询? .z.pg适用于前者,而.z.ps适用于后者。在以下链接中,还有更多有关使用.z功能进行监视的信息。 https://code.kx.com/q/cookbook/using-dotz/。
此外,您可能希望在表中显示原始查询本身,而不是查询的结果,如果是这种情况,则只需使用。
.z.pg:{[x] r:value x;`.ipc.history insert (.z.p;.z.w;.z.u;x;r);r}
其中x替换了值x。然后返回一个表,该表可能是您正在寻找的表。
time handle user query result
-------------------------------------------------------------------------
2019.02.11D17:24:25.008643000 560 Liam McGrenaghan "1+1" 2