4
如果使用-w命令行參數設置最大內存,並且分配太多內存的錯誤查詢被觸發,KDB將以「-w abort」錯誤退出。防止由於中止錯誤導致KDB +數據庫死亡
是否有可能讓KDB停止執行該查詢並且不會自行終止。
至少有一個回調函數,kdb在調用自己之前會調用它?
感謝
如果使用-w命令行參數設置最大內存,並且分配太多內存的錯誤查詢被觸發,KDB將以「-w abort」錯誤退出。防止由於中止錯誤導致KDB +數據庫死亡
是否有可能讓KDB停止執行該查詢並且不會自行終止。
至少有一個回調函數,kdb在調用自己之前會調用它?
感謝
沒有爲不幸的是處理此錯誤回調,也不可能使用保護評估陷阱-w abort
。 http://code.kx.com/q/ref/errors/#trap
/process 1 (setup workspace/callbacks)
>q -w 1000 -p 4000 -e 1
q)tab:([]sym:30000000?`3;size:30000000?10f;time:30000000?.z.t)
q).z.pg:{0N!(`pg;x);@[value;x;(::)]}
q).z.exit:{'stop}
q).z.pc:{'stop}
/process 2 (issue sync request)
>q
q)(`::4000)"select from tab"
'close
/process 1 (output)
q)(`pg;"select from tab")
-w abort
相反,您可以嘗試防止此錯誤。一種方法是在執行查詢之前定義權限並驗證每個用戶請求。
請看下面的白色紙的詳細信息:
http://www.firstderivatives.com/downloads/q_for_gods_july_2013.pdf
我不相信有辦法把它不會中止。不幸的是還沒有回電。 – terrylynch