【问题标题】:Error while trying to run an andhoc insert query using voltQueueSQLExperimental尝试使用 voltQueueSQLExperimental 运行临时插入查询时出错
【发布时间】:2015-01-22 10:01:25
【问题描述】:

我在尝试使用 voltQueueSQLExperimental() 函数在 volt db 中执行动态插入查询时遇到错误。 SQL 很好,因为我在 volt web studio 上单独运行它。错误如下:

错误:VOLTDB 错误:用户中止尝试对 DML adhoc sql 进行排队 '插入到 volt_temp_constraints (asset_id,config_id,session_id,sam_id) 值 (12,13,'abc',12)' 来自 只读程序 程序.testPrcUpdateConstraint.run(testPrcUpdateConstraint.java:155)

请注意,生成的 SQL 是动态的和临时的,不能事先静态生成。

【问题讨论】:

    标签: stored-procedures runtime-error voltdb


    【解决方案1】:

    文档不是他们的强项... ;),但我可以重现您的错误。

    在我看来,VoltDB 将已编译的过程标记为读写器或只读。可以从here 推断。不幸的是,除了创建一个 INSERT/UPDTE/UPSERT SQLStatement 作为对象属性并且根本不使用它之外,目前似乎没有任何其他方法。

    也许您可以联系其中一位开发人员,为此添加一些方法。

    顺便说一句,异常可以在这里找到:https://github.com/VoltDB/voltdb/blob/master/src/frontend/org/voltdb/ProcedureRunner.java in line 620

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2020-10-29
      • 2020-01-31
      • 1970-01-01
      相关资源
      最近更新 更多