>> The above Factory will avoid rendering "MySchema". With jOOQ 2.3.0,
>> there will also be a way to specify Settings.setRenderSchema(false),
>> to avoid rendering schema names all together. Right now, the default
>> schema will be your only option.
>
>
> Ok, so the string "MySchema" is unimportant here?  It could be "blahblah"
> and would still work?

Au contraire. Look at it this way:

- jOOQ by default fully qualifies schemata
- jOOQ is thus capable of running queries against multiple schemata
- Most users probably have only one schema. They want to use that as
the "default schema"
- The default schema can be set in the JDBC string in many databases
- The default schema can be overridden using SQL statements in many
databases. Examples

    -- Oracle syntax
    ALTER SESSION SET current_schema = my_other_schema;

    -- MySQL, Sybase ASE, Sybase SQL Anywhere
    USE my_other_schema;

    -- DB2, Derby, H2, HSQLDB
    SET SCHEMA my_other_schema

- hence, jOOQ can't make any assumption regarding a default schema,
you need to tell jOOQ

So in other words, write this:

new Factory(connection, dialect,
   new Settings().withRenderMapping(
   new 
RenderMapping().withDefaultSchema("[the-schema-name-that-you-consider-the-default-schema]")));

As I said, jOOQ 2.3.0 will include a more user-friendly feature for
the simple use-case of not fully qualifying table names...

Hope this helps
Lukas

Reply via email to