Hello Lukas, > Yes. Anything as simple as this might fail: > SELECT ? FROM RDB$DATABASE > SELECT ? + ? FROM RDB$DATABASE > Confirmed: This is unsupported. AFAIK even oracle doesn't support binding to the "column name" like this, although it looks like the query is just returning constants. I *really* need to start reading deeper into the jooq source to see why we need these types of query...
Many JDBC drivers / databases can infer types at bind time. This seems > not to work with Firebird. jOOQ's usual workaround as mentioned in > that blog post is to execute something like this (as jOOQ usually has > the type information): > > SELECT CAST(? AS INTEGER) FROM RDB$DATABASE > SELECT CAST(? AS INTEGER) + CAST(? AS INTEGER) FROM RDB$DATABASE > Confirmed that this seems to work on the jdbc level. SELECT > CAST(? AS VARCHAR(30000)), > CAST(? AS VARCHAR(30000)), > CAST(? AS VARCHAR(30000)) > FROM > RDB$DATABASE; > Ouch. You're completely correct: this query will not execute. Apparently there's a hard limit of 64KB per row, excluding BLOBs. The limit seems to also extends to SELECT resultset rows, which is kinda weird, but i suppose it is what it is. Is this a showstopper issue? Thanks, ts.
