I will have this issue fixed in the next SchemaCrawler release, 12.01.01, 
so no workaround will be needed. I plan a release this weekend, stay tuned.

Sualeh Fatehi, SchemaCrawler



On Wednesday, November 19, 2014 8:38:35 PM UTC-5, Markus Torstensson wrote:
>
> I have the same problem....
>
> You may circumvent this by doing the following: 
>
>         SchemaCrawlerOptions = new SchemaCrawlerOptions();       
>         schemaCrawlerOptions.setRoutineTypes(Arrays.asList(RoutineType.
> procedure, RoutineType.unknown)); //RoutineType.function omitted: h2 do 
> not support fetching functions
>
>
>         Database database = SchemaCrawlerUtility.getDatabase(dataSource.
> getConnection(), schemaCrawlerOptions);
>
>
> You might have some use of the rest of my code too:
>
>         SchemaTextExecutable schemaTextExecutable = new 
> SchemaTextExecutable("schema");
>
>
>         schemaTextExecutable.getSchemaTextOptions().setHideConstraintNames
> (true);
>         schemaTextExecutable.getSchemaTextOptions().setHideForeignKeyNames
> (true);
>         schemaTextExecutable.getSchemaTextOptions().setHideIndexNames(true
> );
>         schemaTextExecutable.getSchemaTextOptions().setHidePrimaryKeyNames
> (true);
>         schemaTextExecutable.getSchemaTextOptions().setHideTriggerNames(
> true);
>         schemaTextExecutable.getSchemaTextOptions().
> setHideRoutineSpecificNames(true);
>         schemaTextExecutable.getSchemaTextOptions().
> setShowUnqualifiedNames(true);
>         schemaTextExecutable.getOutputOptions().setOutputFormatValue(
> "json");
>
>
>         StringWriter stringWriter = new StringWriter();
>         schemaTextExecutable.getOutputOptions().setWriter(stringWriter);
>         schemaTextExecutable.executeOn(database, dataSource.getConnection
> ());
>         JSONArray report = (JSONArray) JSONValue.parse(stringWriter.
> getBuffer().toString());
>
>
> Den torsdagen den 21:e augusti 2014 kl. 04:31:42 UTC+2 skrev knutwannheden:
>>
>> Hi all,
>>
>> I just tried to use SchemaCrawler (http://schemacrawler.sourceforge.net/) 
>> to browse an H2 database. When I run the tool I immediately get this 
>> exception:
>>
>> Exception in thread "main" 
>> schemacrawler.schemacrawler.SchemaCrawlerException: Exception retrieving 
>> routines: Feature not supported: "getFunctions" [50100-176]
>> at schemacrawler.crawl.SchemaCrawler.crawlRoutines(SchemaCrawler.java:228)
>>  at schemacrawler.crawl.SchemaCrawler.crawl(SchemaCrawler.java:495)
>> at 
>> schemacrawler.tools.executable.BaseStagedExecutable.execute(BaseStagedExecutable.java:60)
>>  at 
>> schemacrawler.tools.commandline.SchemaCrawlerCommandLine.execute(SchemaCrawlerCommandLine.java:181)
>> at 
>> schemacrawler.tools.commandline.SchemaCrawlerMain.main(SchemaCrawlerMain.java:78)
>>  at 
>> schemacrawler.tools.commandline.SchemaCrawlerMain.main(SchemaCrawlerMain.java:39)
>> at schemacrawler.Main.main(Main.java:44)
>> Caused by: org.h2.jdbc.JdbcSQLException: Feature not supported: 
>> "getFunctions" [50100-176]
>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
>>  at org.h2.message.DbException.get(DbException.java:178)
>> at org.h2.message.DbException.get(DbException.java:154)
>>  at 
>> org.h2.message.DbException.getUnsupportedException(DbException.java:215)
>> at org.h2.message.TraceObject.unsupported(TraceObject.java:395)
>>  at 
>> org.h2.jdbc.JdbcDatabaseMetaData.getFunctions(JdbcDatabaseMetaData.java:3107)
>> at 
>> schemacrawler.crawl.RoutineRetriever.retrieveFunctions(RoutineRetriever.java:159)
>>  at 
>> schemacrawler.crawl.SchemaCrawler.crawlRoutines(SchemaCrawler.java:178)
>> ... 6 more
>>
>> Is that something that would be easy to add support for?
>>
>> Kind regards,
>>
>> Knut Wannheden
>>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to