使用Cassandra触发器,是否有可能获得被解雇的query string
?ITrigger
的augment
方法有key和ColumnFamily输入。这个接口不能帮助捕获查询字符串。我如何获得查询字符串,如insert into blah blah
编程?
使用Cassandra触发器,是否有可能获得被触发的查询字符串?
不完全是这样,因为突变不能访问查询字符串。
如果你想看到查询正在执行,你可以修改o.a.c.cql3.QueryProcessor
,你可以访问查询字符串。对于任意字符串执行,您需要process(...)
,但对于预处理语句,这有点复杂。您可以在storePreparedStatement(...)
函数中准备(创建和存储)语句的查询字符串时访问它。要查看被绑定到语句的值,您必须检查processStatement(...)
的变量,它是ByteBuffers的集合。
查看CASSANDRA-6572了解更多细节。