2015-01-22 3 views
0

Я получаю сообщение об ошибке при попытке выполнить запрос динамической вставки в volt db с помощью функции voltQueueSQLExperimental(). SQL отлично, поскольку я запускал его отдельно в веб-студии вольт. Ошибка заключается в следующем:Ошибка при попытке запустить запрос вставки andhoc с помощью voltQueueSQLExperimental

Error: VOLTDB ERROR: USER ABORT Attempted to queue DML adhoc sql 'insert into volt_temp_constraints (asset_id,config_id,session_id,sam_id) values (12,13,'abc',12)' from read only procedure at procedures.testPrcUpdateConstraint.run(testPrcUpdateConstraint.java:155)

Пожалуйста, обратите внимание, что SQL генерируется динамична и АПЧРК, и это не может быть сгенерирован статически, прежде чем руки.

ответ

2

Документация не является их силой ...;), но я мог бы воспроизвести вашу ошибку.

Как я вижу, эти метки VoltDB скомпилированы. Процедуры как чтение, так и чтение. Как можно сделать вывод, из here. К сожалению, в настоящее время, похоже, нет другого пути, кроме создания INSERT/UPDTE/UPSERT SQLStatement в качестве свойства объекта и просто не использующего его.

Возможно, вы можете связаться с одним из разработчиков, чтобы добавить способ для этого.

Кстати, Исключение можно найти здесь: https://github.com/VoltDB/voltdb/blob/master/src/frontend/org/voltdb/ProcedureRunner.java в строке 620

Смежные вопросы