Hello, 2017-02-26 3:38 GMT+01:00 <[email protected]>:
> Hi, > > I posted this question on stackoverflow around a week ago with no > response, so i'm forwarding it here: > http://stackoverflow.com/questions/42340848/jooq- > firebird-implementation-limit-exceeded > Yes, I've seen it. Thanks for the reminder. I haven't had a chance to take a closer look yet. Will do soon and will provide more feedback directly on the Stack Overflow uestion > This is the old firebird 64KB block limit again. Lukas warned about it > when JOOQ first started supporting firebird, so here we are. This > particular database is using UTF8, so the 64KB limit is now down to 16K > chars. > > Should i repost the question here? > Sure, cross linking is fine. It'll probably help future users with the same problem find answers more quickly. > PS: This issue is related, i guess? #3398 > https://github.com/jOOQ/jOOQ/issues/3398 > Very probably, yes. > Open since 2014, so i suppose it's a rather low priority. If you can point > me to the right direction, i'll see if i can hack something out. > Yes, it hasn't been a high priority because a thorough fix is rather difficult and will risk regressions in all 21 currently supported RDBMS integrations. However, I will increase the priority of https://github.com/jOOQ/jOOQ/issues/1735, which helps work around this limitation. If you want to patch jOOQ on your side, the cast decision is made in DefaultBinding.sql(BindingSQLContext). You will see there a couple of options how to override the current behaviour: 1. Override RenderContext.castMode() to always yield NEVER 2. Override the entire method in your own custom Binding 3. Patch the logic to never apply any casts > PP'S: As a side note: JOOQ logs are showing two SQL statements, one "with > bind values" and one without. The one without bind values uses the > varchar(4000) cast, while the one with bind values looks pretty normal. I'm > guessing jooq uses a PreparedStatement and send the "without bind values" > version first, and gets rejected. > One statement is exactly the SQL string that is sent to the server via JDBC, the other is for debugging purposes and contains only inlined bind variables, which usually do not need to be cast to their types. Hope this helps, Lukas -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
