Unsolved

This post is more than 5 years old

36 Posts

1406

November 16th, 2009 07:00

yacc stack overflow error while running DQL

Hi,

We have DQL where we pass large number of ids in the where clause. This query is working fine when we pass around 350 ids. However when we pass morethan 500 ids, we are getting "yacc stack overflow error"

select id from string_table where id in (1,2,3,.........................700)

Any help will be appreciated.

Regards,

Raj

2 Intern

 • 

428 Posts

November 16th, 2009 11:00

Hi,

this is a known limitation, and there is actually no workaround at all.

You simply can't execute DQL statements above a certain size. It's somehow close to 4K, I think.

The only possible solution is to execute the statement in two DQL's, if that's possible.

If you can't find any other way, you could store all your values in a registered table, and run a join against this one.

Regards

Jørg

July 8th, 2011 10:00

Thanks. I had the exact same issue. Also I want to know Does this apply to the SQL generated from a given shorter DQL as well. i.e. does the SQL that is run behind the scenes have a size llimit?

No Events found!

Top