To continue to use my "large datavolume" database, which is used for
testing on *trunk*, I did the "for debugging only" kind of upgrade.
That is, I built a sane, debug Derby 10.4 and then did the upgrade on my
10.3 database to 10.4.
(I first did a soft upgrade and later a full/hard upgrade.)
The upgrade seems to have been successful: My "large datavolume test" is
now running on an insane, nodebug Derby 10.4.
The problem I see is that when I do ij commands like
'describe table'
and
'show [ tables | views | ....] in schema'
I get this error:
ERROR 38000: The exception 'java.sql.SQLException: The parameter
position '4' is out of range. The number of parameters for this
prepared statement is '3'.' was thrown while evaluating an expression.
ERROR XCL13: The parameter position '4' is out of range. The number of
parameters for this prepared statement is '3'.
-----------------------------------------------------------------------------------------
>From derby.log:
2007-08-08 08:10:34.314 GMT Thread[DRDAConnThread_2,5,main] (XID =
254165672), (SESSIONID = 2), (DATABASE =
/export/raid/tmp/os136789/DOTS/derby/TESTDB), (DRDAID =
O19F76D6.EB43-796291522553895625{3}), Cleanup action starting
2007-08-08 08:10:34.314 GMT Thread[DRDAConnThread_2,5,main] (XID =
254165672), (SESSIONID = 2), (DATABASE =
/export/raid/tmp/os136789/DOTS/derby/TESTDB), (DRDAID =
O19F76D6.EB43-796291522553895625{3}), Failed Statement is: CALL
SYSIBM.SQLTABLES(?,?,?,?,?) with 5 parameters begin parameter #1: NULL
:end parameter begin parameter #2: U1 :end parameter begin parameter #3:
BID :end parameter begin parameter #4: NULL :end parameter begin
parameter #5:
DATATYPE='JDBC';DYNAMIC=0;REPORTPUBLICPRIVILEGES=1;CURSORHOLD=1 :end
parameter
ERROR 38000: The exception 'java.sql.SQLException: The parameter
position '4' is out of range. The number of parameters for this
prepared statement is '3'.' was thrown while evaluating an expression.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:294)
at
org.apache.derby.iapi.error.StandardException.unexpectedUserException(StandardException.java:554)
at
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:63)
at
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:57)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
at
org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:116)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
at
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4039)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3843)
at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:985)
at
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)
Caused by: java.sql.SQLException: The parameter position '4' is out of
range. The number of parameters for this prepared statement is '3'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:95)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:202)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
at
org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(EmbedResultSet.java:4414)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:495)
at
org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTables(EmbedDatabaseMetaData.java:1765)
at
org.apache.derby.catalog.SystemProcedures.SQLTABLES(SystemProcedures.java:308)
at
org.apache.derby.exe.acf81e0010x0114x447ex2cb3x00000207a6c82.g0(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46)
... 11 more
Caused by: java.sql.SQLException: The parameter position '4' is out of
range. The number of parameters for this prepared statement is '3'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:135)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
... 23 more
Caused by: ERROR XCL13: The parameter position '4' is out of range. The
number of parameters for this prepared statement is '3'.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
at
org.apache.derby.impl.sql.GenericParameterValueSet.checkPosition(GenericParameterValueSet.java:317)
at
org.apache.derby.impl.sql.GenericParameterValueSet.getParameterForSet(GenericParameterValueSet.java:174)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:492)
... 19 more
============= begin nested exception, level (1) ===========
java.sql.SQLException: The parameter position '4' is out of range. The
number of parameters for this prepared statement is '3'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:95)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:202)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
at
org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(EmbedResultSet.java:4414)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:495)
at
org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTables(EmbedDatabaseMetaData.java:1765)
at
org.apache.derby.catalog.SystemProcedures.SQLTABLES(SystemProcedures.java:308)
at
org.apache.derby.exe.acf81e0010x0114x447ex2cb3x00000207a6c82.g0(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46)
at
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:57)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
at
org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:116)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
at
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4039)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3843)
at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:985)
at
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)
Caused by: java.sql.SQLException: The parameter position '4' is out of
range. The number of parameters for this prepared statement is '3'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:135)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
... 23 more
Caused by: ERROR XCL13: The parameter position '4' is out of range. The
number of parameters for this prepared statement is '3'.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
at
org.apache.derby.impl.sql.GenericParameterValueSet.checkPosition(GenericParameterValueSet.java:317)
at
org.apache.derby.impl.sql.GenericParameterValueSet.getParameterForSet(GenericParameterValueSet.java:174)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:492)
... 19 more
============= end nested exception, level (1) ===========
============= begin nested exception, level (2) ===========
java.sql.SQLException: The parameter position '4' is out of range. The
number of parameters for this prepared statement is '3'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:135)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:202)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
at
org.apache.derby.impl.jdbc.EmbedResultSet.noStateChangeException(EmbedResultSet.java:4414)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:495)
at
org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTables(EmbedDatabaseMetaData.java:1765)
at
org.apache.derby.catalog.SystemProcedures.SQLTABLES(SystemProcedures.java:308)
at
org.apache.derby.exe.acf81e0010x0114x447ex2cb3x00000207a6c82.g0(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46)
at
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:57)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
at
org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:116)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
at
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4039)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3843)
at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:985)
at
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)
Caused by: ERROR XCL13: The parameter position '4' is out of range. The
number of parameters for this prepared statement is '3'.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
at
org.apache.derby.impl.sql.GenericParameterValueSet.checkPosition(GenericParameterValueSet.java:317)
at
org.apache.derby.impl.sql.GenericParameterValueSet.getParameterForSet(GenericParameterValueSet.java:174)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:492)
... 19 more
============= end nested exception, level (2) ===========
============= begin nested exception, level (3) ===========
ERROR XCL13: The parameter position '4' is out of range. The number of
parameters for this prepared statement is '3'.
at
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
at
org.apache.derby.impl.sql.GenericParameterValueSet.checkPosition(GenericParameterValueSet.java:317)
at
org.apache.derby.impl.sql.GenericParameterValueSet.getParameterForSet(GenericParameterValueSet.java:174)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.setString(EmbedPreparedStatement.java:492)
at
org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getTables(EmbedDatabaseMetaData.java:1765)
at
org.apache.derby.catalog.SystemProcedures.SQLTABLES(SystemProcedures.java:308)
at
org.apache.derby.exe.acf81e0010x0114x447ex2cb3x00000207a6c82.g0(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.derby.impl.services.reflect.ReflectMethod.invoke(ReflectMethod.java:46)
at
org.apache.derby.impl.sql.execute.CallStatementResultSet.open(CallStatementResultSet.java:57)
at
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
at
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
at
org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(EmbedCallableStatement.java:116)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
at
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4039)
at
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3843)
at
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:985)
at
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)
============= end nested exception, level (3) ===========
-----------------------------------------------------------------------------------------
--
Ole Solberg, Database Technology Group,
Sun Microsystems, Trondheim, Norway