Hi,

currently we're evaluating the use of jOOQ for a new project.

We're facing two issues for JUnit testing.


*Setting*

   - We use the gradle jooq plugin for code generation with a PostgreSQL 
   database as source. This database is initially filled by liquibase-scripts. 
   - We use an HSQL-Spring-embedded-database for unit testing. Here we 
   configured jooq to use the HSQLDB dialect at runtime.
   - We try to mimic the PostgreSQL syntax with the HSQLDB by executing 
   "SET DATABASE SQL SYNTAX PGS TRUE;" on startup.
   - Versions: 
   - jOOQ: 3.2.0
      - HSQLDB: 2.3.1
   

*First issue*

When executing a query the following exception is thrown:

org.jooq.exception.DataAccessException: SQL [select 
"public"."person_example"."name", "public"."person_example"."age" from 
"public"."person_example" limit ? offset ?]; invalid schema name: public
    at org.jooq.impl.Utils.translate(Utils.java:1158)
    at 
org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:495)
    at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:325)
    at org.jooq.impl.AbstractResultQuery.fetch(AbstractResultQuery.java:324)
    at org.jooq.impl.SelectImpl.fetch(SelectImpl.java:1034)
    [...]

When I manually rename the name for the public schema to "PUBLIC" (in 
org.jooq.generated.Public), this issue seems to be resolved. So it seems to 
be a problem with case-sensitivity. Is there a better solution?


*Second issue*

When the first issue is manually resolved, this exception is thrown:

org.jooq.exception.DataAccessException: SQL [select 
"PUBLIC"."person_example"."name", "PUBLIC"."person_example"."age" from 
"PUBLIC"."person_example" limit ? offset ?]; user lacks privilege or object 
not found: person_example
    at org.jooq.impl.Utils.translate(Utils.java:1158)
    at 
org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:495)
    at org.jooq.impl.AbstractQuery.execute(AbstractQuery.java:325)
    at org.jooq.impl.AbstractResultQuery.fetch(AbstractResultQuery.java:324)
    at org.jooq.impl.SelectImpl.fetch(SelectImpl.java:1034)
    [...]

In Liquibase we explicitly stated to insert into the schema "PUBLIC". Since 
the database is only created on the fly, it is hard to see its real 
content...

Any idea on that?



For our better understanding: Is the code generated by the code-generator 
somehow database-specific or generic?

Thanks a lot!

Eugen

PS. Are there news on putting the gradle jooq generator into a jooq release?

-- 
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/groups/opt_out.

Reply via email to