2015-03-19 49 views
1

我为vertica创建了一个简单的Web界面。 我在vertica集群上面公开了简单的操作。 我公开的功能之一是查询vertica。 当我的用户输入一个多重查询时,节点模块会抛出一个异常,并且我的进程退出并退出1. 有什么办法可以捕获这个异常吗? 有什么办法以不同的方式解决问题吗?node-vertica使用回调引发多查询异常

回答

2

现在,在查询结果中使用回调时无法解决此问题。

防止这种情况发生将涉及确保用户的输入中只有一个查询。这很难,因为它涉及解析SQL。

回调API不是为了处理多重查询而构建的。我根本没有想过要对这个案子进行妥善处理,因为这对我来说从来都不是问题。

您可以使用事件侦听器API来发送较低级别的消息,并自己处理它,而不是回调。

q = conn.query("SELECT...; SELECT..."); 
q.on("fields", function(fields) { ... }); // 1 time per query 
q.on("row", function(row) { ... });  // 0...* time per query 
q.on("end", function(status) { ... }); // 1 time per query