Forum: Building VoltDB Clients

Post: adHoc Queries

adHoc Queries
yiannis
Feb 21, 2012
Hello,
When I am using adHoc queries and trying to insert into a varchar column text with symbol#, either from VoltDB studio or my own Java client i get a timeout and this on VoltDB's log
the column is varchar(128) not null
ERROR 01:53:35,715 [Heartbeat] ADHOCPLANNERTHREAD: Out-of-process planner appears to have hung. Killing it off.
I suppose it's a bug?
I am running version 2.1.2
yiannis
Feb 21, 2012
I am running version 2.1.2
It sounds like a bug.
jhugg
Feb 21, 2012
I am running version 2.1.2


Yes, that sounds like a bug. We've made some changes to the way Ad-hoc queries work in the 2.2 branch, but also in the master branch for the next release. I suspect that the issue has been resolved due to the updated way we handle ad hoc sql strings. I'm not sure if it would be fixed in 2.2.x or for the next release though.
If you could supply sample schema and a query that reproduces the effect, I'll try it against 2.1.2, 2.2.1 and the latest code in development. I'll make sure it gets fixed if it hasn't already been.
I tried with VoltDB 2.2.1 and
yiannis
Feb 22, 2012
Yes, that sounds like a bug. We've made some changes to the way Ad-hoc queries work in the 2.2 branch, but also in the master branch for the next release. I suspect that the issue has been resolved due to the updated way we handle ad hoc sql strings. I'm not sure if it would be fixed in 2.2.x or for the next release though.
If you could supply sample schema and a query that reproduces the effect, I'll try it against 2.1.2, 2.2.1 and the latest code in development. I'll make sure it gets fixed if it hasn't already been.


I tried with VoltDB 2.2.1 and there is no such problem anymore.
Just for reference, the schema looked similar to this :
create table table_name (
id integer unique not null
, name varchar(128) not null
, primary key(id)
);
for example these queries caused the problem:
insert into table_name (id,name) values(1,'#test:2');
or
insert into table_name (id,name) values(1,'#test@2');
Thanks for the help.