>
> The SQLite implementation may be a good choice as it is probably one 
> of the simplest ones, even if it doesn't really have any real 
> information_schema. 

As i understand it, firebird doesn't have a "schema" in this sense either. 
 

> What you'll need first, is a way to 
> reverse-engineer schema information from your Firebird database. I 
> found this website here: 
> http://www.alberton.info/firebird_sql_meta_info.html 
>
Yes, querying the system tables is pretty much the only way (CMIIW) of 
getting the internals of Firebird and Interbase. 
(Putting stuff here for future reference, just in case:) 

   - http://www.firebirdfaq.org/faq329/ 
   - http://www.firebirdfaq.org/faq174/ <http://www.firebirdfaq.org/faq329/>
    
   - There's a good writeup (with diagrams and everything!) 
   here: 
http://www.firebirdsql.it/download/doc_download/362-the-firebird-system-tables-martijn-tonies-

Another option is to implement #1636 
> https://github.com/jOOQ/jOOQ/issues/1636 
>
> This would allow for arbitrary database dialects to be supported by 
> jooq-meta, and thus by jooq-codegen, if their JDBC drivers 
> sufficiently implement the JDBC DatabaseMetaData API (which is rarely 
> the case, unfortunately). 
>
The default JDBC driver for firebird (Jaybird - 
http://www.firebirdsql.org/en/jdbc-driver/) has several classes that seems 
to do this (e.g. 
http://www.jarvana.com/jarvana/view/org/firebirdsql/jdbc/jaybird/2.1.6/jaybird-2.1.6-javadoc.jar!/org/firebirdsql/jdbc/FBDatabaseMetaData.html
 ) 
but i'm not familiar with them nor the API itself; I also couldn't find 
much info on whether jaybird fully support the API atm. This is definitely 
useful though. I suppose it would be interesting to retrofit a JDBC 
Metadata API solution after the basic implementation is done. 

Additional question: What's the significance of the "0" attached to the end 
of the method names? 
...
    protected List<SchemaDefinition> getSchemata0() throws SQLException 
    protected List<SequenceDefinition> getSequences0() throws SQLException 
    protected List<TableDefinition> getTables0() throws SQLException 
    protected List<RoutineDefinition> getRoutines0() throws SQLException 
    protected List<PackageDefinition> getPackages0() throws SQLException 
    protected List<EnumDefinition> getEnums0() throws SQLException 
    protected List<UDTDefinition> getUDTs0() throws SQLException 
    protected List<ArrayDefinition> getArrays0() throws SQLException 
..

Thanks,
ts.


Reply via email to