2016-10-12 5 views
0

からHSQL機能を呼び出すと、ストレートdocumentation私はHSQLDB 2.3.4で次のストアドプロシージャ機能を持っているJDBC

CREATE FUNCTION an_hour_before (t TIMESTAMP) 
    RETURNS TIMESTAMP 
    RETURN t - 1 HOUR; 
/; 

から私は

try (Connection connection = this.dataSource.getConnection()) { 
    try (CallableStatement call = connection.prepareCall("{ ? = call an_hour_before(?)}")) { 
     ... 
    } 
} 

で関数を呼び出すために試してみて、私はNullPointerExceptionを取得次のスタックトレースを伴う

java.lang.NullPointerException 
    at org.hsqldb.StatementProcedure.getParametersMetaData(Unknown Source) 
    at org.hsqldb.result.Result.newPrepareResponse(Unknown Source) 
    at org.hsqldb.Session.execute(Unknown Source) 
    at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source) 
    at org.hsqldb.jdbc.JDBCCallableStatement.<init>(Unknown Source) 
    at org.hsqldb.jdbc.JDBCConnection.prepareCall(Unknown Source) 
    at com.acme.HsqlTest.test(HsqlTest.java:42) 
    ... 
+0

'this.dataSource.getConnection()は' null'を返しますか? –

+0

@GordThompson '#prepareCall'のHSQLDB実装の内部では' NullPointerException'はありません –

答えて

2

これは既知の問題です。 HSQLDB 2.3.4はSVNリポジトリで修正されました。以前のリリースのバージョンを使用するか、/ base/trunkコードからjarをコンパイルしてください。

+0

実際に2.3.3にダウングレードして問題を修正しました。あなたは2.3.5に関するETAを持っていますか? –

+0

ETAなし。トランクコードは安定しています。 – fredt

関連する問題