2013-11-07 3 views
1

Я использую HSQLDB в качестве базы данных в своих тестах автоматических компонентов. Он издевается над производственной базой данных Oracle.Последовательности уровней схемы в HSQL

В моем SQL-коде у меня есть последовательность, определенная в пределах области схемы, например.

CREATE SEQUENCE THE_SCHEMA.THE_SEQUENCE ... ; 

Тогда, когда я беру NEXTVAL из этой схемы:

Connection con = ... 
String query = "SELECT THE_SCHEMA.THE_SEQUENCE.nextval as MyNextVal from DUAL;" 
PreparedStatement ps = con.prepareStatement(query); 
ResultSet resultSet = ps.executeQuery(); 

Я получаю сообщение об ошибке, как показано ниже на con.prepareStatement (запрос) вызова.

Приведенный выше код работает хорошо, когда я определить последовательность в глобальном масштабе, как показано ниже

CREATE SEQUENCE THE_SEQUENCE ... ; 

и изменить

String query = "SELECT THE_SEQUENCE.nextval as MyNextVal from DUAL;" 

Мой вопрос делает последовательности поддержки HSQL уровня схемы?

Я что-то упустил?

(я "режим совместимости с Oracle" включен с SET DATABASE SQL СИНТАКСИС ORA TRUE;)

Stack след:

Caused by: java.lang.NullPointerException 
at org.hsqldb.RangeVariable.resolvesSchemaName(Unknown Source) 
at org.hsqldb.RangeVariable.resolvesSchemaAndTableName(Unknown Source) 
at org.hsqldb.RangeVariable.findColumn(Unknown Source) 
at org.hsqldb.ExpressionColumn.resolveColumnReference(Unknown Source) 
at org.hsqldb.ExpressionColumn.resolveColumnReferences(Unknown Source) 
at org.hsqldb.QuerySpecification.resolveColumnReferencesAndAllocate(Unknown Source) 
at org.hsqldb.QuerySpecification.resolveColumnReferences(Unknown Source) 
at org.hsqldb.QuerySpecification.resolveReferences(Unknown Source) 
at org.hsqldb.QueryExpression.resolve(Unknown Source) 
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source) 
at org.hsqldb.ParserCommand.compilePart(Unknown Source) 
at org.hsqldb.ParserCommand.compileStatement(Unknown Source) 
at org.hsqldb.Session.compileStatement(Unknown Source) 
at org.hsqldb.StatementManager.compile(Unknown Source) 
... 26 more 
java.sql.SQLException: java.lang.NullPointerException java.lang.NullPointerException 
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) 
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) 
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source) 
at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source) 

Подробности о исключением того, что это время, брошенные из con.prepareStatement (запрос) :

Exception type java.sql.SQLException 
cause = org.hsqldb.HsqlException: java.lang.NullPointerException 
detailMessage = java.lang.NullPointerException java.lang.NullPointerException 
next = null 
SQLState = S1000 
stackTrace = null 
vendorCode = -458 
+0

Что такое сообщение об ошибке? – fredt

+0

Только что обновил мой вопрос с помощью трассировки стека. – Michal

ответ

0

Пожалуйста, получите последний HSQLDB снимок баночку с http://hsqldb.org/support/ и проверить, если проблема была решена.

+0

Это должен быть комментарий, а не ответ –

+0

Это ответ! – fredt

+0

Проблема не возникает в версии моментального снимка hsqldb-20131025.144341-55. Благодаря! – Michal

Смежные вопросы