23.06.2016 13:59, liviuslivius wrote:
>
> i have attached file to http://tracker.firebirdsql.org/browse/CORE-1117

I see that it fails way before the 64KB limit, with just the first union 
part (simplified):

SELECT *
FROM
   UMOWA U
   INNER JOIN WARUNKI W ON W.UMOWA_ID = U.UMOWA_ID AND W.DYR_ID = 
U.DYR_ID AND W.UMOWA_ID_SEQ = U.UMOWA_ID_SEQ
   LEFT JOIN RODZAJ_UMOWY RU ON RU.RODZ_UMOWY_ID = U.RODZ_UMOWY_ID AND 
RU.TYP_UMOWY_ID = U.TYP_UMOWY_ID
   LEFT JOIN RODZAJ_DZIAL RD ON RD.RODZ_UMOWY_ID = U.RODZ_UMOWY_ID AND 
RD.TYP_UMOWY_ID = U.TYP_UMOWY_ID AND RD.RODZ_DZIAL_ID = W.RODZ_DZIAL_ID
WHERE
   (W.RODZ_DZIAL_ID = 'MZ3')
   -- skipped lots of conditions
   OR (W.RODZ_DZIAL_ID = 'M33')
   -- till this point it works
   OR (W.RODZ_DZIAL_ID = 'M34')
   -- this raises error

Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Unexpected end of command - line 8, column 4094

i.e. it's not about the total query length (just 4.5 KB), but about 
number of ORed elements in the WHERE clause. Some kind of parser 
limitation, I suspect.


Dmitry


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to