Hi Lukas, thanks for the quick reply. This did the trick:
Settings s = getSettings(); s.setRenderNameStyle(RenderNameStyle.AS_IS); > Yes, jOOQ doesn't apply quotes to SQL generated for SQLite, as there > are some open issues with that. It was simply a lucky shot trying different Factories. > What's curious is that you seem to have defined a case-insensitive > table name in lower case letters, which seems to be promoted by HSQLDB > dictionary views as being lower-case, when in fact it is > upper-case...? Maybe this was an error on my side by declaring my tables in lower- case? >What does the following query return on your HSQLDB > database? > > SELECT TABLE_NAME > FROM INFORMATION_SCHEMA.TABLES > WHERE LOWER(TABLE_NAME) = 'market' MARKET It's working fine now, thanks again. Regards. On May 7, 1:36 pm, Lukas Eder <[email protected]> wrote: > Hello, > > > user lacks privilege or object not found: market > > That is curious. jOOQ supports case-sensitivity of identifiers in SQL. > > > Now, when I switch and extend my factory from SQLiteFactory everything > > works so far: > > Yes, jOOQ doesn't apply quotes to SQL generated for SQLite, as there > are some open issues with that. > > > Seems clear that the problem is with the double quotes, so my question > > is, can I turn those off? > > By default, this is turned on, but you can turn it off using the > Factory's Settings' > RenderNameStyle:http://www.jooq.org/javadoc/latest/org/jooq/conf/Settings.html > > What's curious is that you seem to have defined a case-insensitive > table name in lower case letters, which seems to be promoted by HSQLDB > dictionary views as being lower-case, when in fact it is > upper-case...? What does the following query return on your HSQLDB > database? > > SELECT TABLE_NAME > FROM INFORMATION_SCHEMA.TABLES > WHERE LOWER(TABLE_NAME) = 'market' > > 2012/5/7 Ubersoldat <[email protected]>: > > > > > > > > > Hi guys, > > > First time poster and recent user of JOOQ (loving it so far!) > > > For testing purposes, I'm creating a database in HSQLDB 2.2.8 with, > > for example: > > > CREATE TABLE market ( > > id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1 > > INCREMENT BY 1) PRIMARY KEY, > > version TIMESTAMP DEFAULT CURRENT_TIMESTAMP, > > name VARCHAR(2), > > lang VARCHAR(10), > > country VARCHAR(2) > > ); > > > INSERT INTO market (name, lang, country) VALUES ('es', 'es', 'ES'); > > > This works OK and with direct JDBC I have had no problems so far. But > > when my factory extends from a JOOQ HSQLDBFactory I get the following > > query in the debug messages: > > > select "market"."id", "market"."version", "market"."name", > > "market"."lang", "market"."country" from "market" where "market"."id" > > = 1 > > > And this breaks the whole thing for HSQLDB: > > > org.jooq.exception.DataAccessException: AbstractQuery.execute; > > SQL [select "market"."id", "market"."version", "market"."name", > > "market"."lang", "market"."country" from "market" where "market"."id" > > = cast(? as bigint)]; > > user lacks privilege or object not found: market > > > Now, when I switch and extend my factory from SQLiteFactory everything > > works so far: > > > select market.id, market.version, market.name, market.lang, > > market.country from market where market.id = 1 > > > Seems clear that the problem is with the double quotes, so my question > > is, can I turn those off? > > > BTW, I've tested this in HSQLDB 2.2.4 & 2.2.8 with the same results. > > > Thanks for the help, and thanks for JOOQ.
