db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kmars...@apache.org
Subject svn commit: r124918 - in incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests: master master/DerbyNet master/j9_13 suites testData testData/ImportExport tests/jdbcapi tests/lang tests/store tests/tools util
Date Tue, 11 Jan 2005 19:54:00 GMT
Author: kmarsden
Date: Tue Jan 11 11:53:57 2005
New Revision: 124918

URL: http://svn.apache.org/viewcvs?view=rev&rev=124918
Log:
next installment of tests from IBM - prepared by myrna@golux.com 
includes jdbc20 suite, jdk14 suite, jdbcapi suite, and more store, tools and lang tests.

Added:
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Beetle6038.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/StmtCloseFunTest.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/autoGeneratedJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/characterStreams.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/dbMetaDataJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/getCurConnJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/maxfieldsize.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/prepStmtMetaData.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/resultset.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/scrollCursors1.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers1.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsersldap.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users2.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/EscalateLock.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/LOBTest.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/StmtCloseFunTest.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/URLCheck.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/autoGeneratedJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/backupRestore1.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/batchUpdate.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bestrowidentifier.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/blobclob4BLOB.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bootLock.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/characterStreams.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkPoint.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/connectionJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/dbMetaDataJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurConnJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorJava.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/iepnegativetests.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ieptests.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij2.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij3.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij4.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij5.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij6.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ijConnName.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExport.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExportThruIJ.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij5.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ijConnName.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxfieldsize.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/nullSQLText.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/prepStmtMetaData.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readUncommitted.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readlocks.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/resultset.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/resultsetJdbc20.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/resultsetJdbc30.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/resultsetStream.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/rollForwardBackup.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/savepointJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/scrollCursors1.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/scrollCursors2.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/scrollCursors3.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/secureUsers.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/secureUsers1.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/secureUsersldap.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/statementJdbc20.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/statementJdbc30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/streamingColumn.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatelocks.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/updatelocksJDBC30.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/users.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/users2.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/xaJNDI.out   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/jdbc20.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/jdbc20.runall   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/jdk14.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/jdk14.runall   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Access1.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Access2.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Access3.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt1.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt2.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt3.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt4.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt5.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Alt6.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/EndOfFile.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Tutor1.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Tutor2.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/Tutor3.asc   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/copyfiles.ant   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/db2ttypes.del   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/mixednl.del
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/position_info.del
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/sqlAnywhere1.txt
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/ImportExport/sqlAnywhere2.txt
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LOBTest.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/StmtCloseFunTest.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/aclob.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/autoGeneratedJdbc30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/autoGeneratedJdbc30_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/batchUpdate.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/batchUpdate_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/bestrowidentifier.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/bestrowidentifier_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/blobclob4BLOB.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/blobclob4BLOB_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/blobclob4BLOB_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/characterStreams.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/checkDataSource.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/checkDataSource30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/connectionJdbc20.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/dbMetaDataJdbc30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/dbMetaDataJdbc30_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/dbMetaDataJdbc30_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/empty.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/getCurConnJdbc20.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/littleclob.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/maxfieldsize.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/metadataJdbc20_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/nullSQLText.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/prepStmtMetaData.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultset.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetJdbc20.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetJdbc30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetJdbc30_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetJdbc30_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetStream.gif   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetStream.java
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetStream_app.properties
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/searchclob.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers1.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers1_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers1_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers1_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/secureUsers_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/short.txt   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/statementJdbc20.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/statementJdbc30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users2.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users2_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users2_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users2_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/users_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/xaJNDI.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorJava.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorJava_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/procedureJdbc30.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/scrollCursors1.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/scrollCursors2.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/scrollCursors3.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/Beetle6038.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/Beetle6038_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/EscalateLock.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/EscalateLock_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/EscalateLock_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/backupRestore1.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/backupRestore1_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/bootLock.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/bootLock1.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/bootLock_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/char32675.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/char32675trailingblanks.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/char32703.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/char32703trailingblanks.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/checkPoint.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/checkPoint_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/derby.banner   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/empty.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readBtreeCursorLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readBtreeSetLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readCursorLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readSetLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readUncommitted.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readUncommitted_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readUncommitted_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/readlocks.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/rollForwardBackup.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/rollForwardBackup_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/rollForwardBackup_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/short.data   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/shortbanner   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/streamingColumn.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/streamingColumn_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/streamingColumn_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updateBtreeCursorLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updateBtreeHoldCursorLocksJDBC30.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updateBtreeSetLocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updatecursorlocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updateholdcursorlocksJDBC30.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updatelocks.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updatelocksJDBC30.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updatelocksJDBC30_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/updatesetlocks.subsql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/URLCheck.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/URLCheck_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/iepnegativetests.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/iepnegativetests_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ieptests.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ieptests_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij2.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij2_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij2_derby.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij3.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij3_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij4.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij4_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij5.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij5_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij6.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij6_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ijConnName.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ijConnName_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/ij_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/importExport.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/importExportThruIJ.sql   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/importExportThruIJ_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/importExport_app.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/importExport_sed.properties   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/FTFileUtil.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/Jdbc20Test.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/TestRoutines.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/copyfiles.ant   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/metadataHelperProcs.java   (contents, props changed)
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/testRoutines.sql   (contents, props changed)
Modified:
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stmtCache0.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/stmtCache1.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/subquery2.out
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbyall.properties
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbytools.runall
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/noDerbyNet.runall
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemats.runall
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/xa.runall
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/testData/build.xml
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/build.xml
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/copyfiles.ant
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/savepointJdbc30.java
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/build.xml
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/compressTable.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/copyfiles.ant
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/inbetween.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/openScans.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/stmtCache0.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/stmtCache1.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/subquery.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/subquery2.sql
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/build.xml
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/copyfiles.ant
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/tools/copyfiles.ant
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/T_ConsistencyChecker.java
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/build.xml
   incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/nwsvr.policy

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Beetle6038.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Beetle6038.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/Beetle6038.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,2 @@
+data_encrypt_algorithm_version=1
+log_encrypt_algorithm_version=1

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/StmtCloseFunTest.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/StmtCloseFunTest.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/StmtCloseFunTest.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,21 @@
+Statement Close Fun Test starting 
+Statement test begin
+beetle 5524
+Statement Test failed (12)
+beetle 5524
+Statement Test failed (13)
+Statement test end
+Prepared Statement test begin
+beetle 5524
+Prepared Statement Test failed
+beetle 5524
+Prepared Statement Test failed
+Prepared Statement test end
+Callable Statement test begin
+The result is 3
+beetle 5524
+Callable Statement Test failed
+beetle 5524
+Callable Statement Test failed
+Callable Statement test end
+Statement Close Fun Test finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/autoGeneratedJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/autoGeneratedJdbc30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/autoGeneratedJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,273 @@
+Test autoGeneratedJdbc30 starting
+Test 1 - request for generated keys resultset on a brand new statement with no sql executed on it yet
+We will get a resultset with no rows because it is a non-insert sql
+<NULL>
+Test2 - request for generated keys on a statement which does select from a table ie a non-insert sql
+We will get a resultset with no rows because it is a non-insert sql
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Test 3 - insert multiple rows into a table with autogenerated key and request generated keys resultset
+ We will get a row with NULL value because this insert sql inserted more than one row and 
+ there was no prior one-row insert into a table with autogenerated key
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 4 - request for generated keys after doing an insert into a table with no auto generated keys
+ And there has been no one-row insert into a table with auto-generated keys yet.
+We should get a resultset with one row of NULL value from getGeneratedKeys
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5a - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5b - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5c - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 6 - request for generated keys after doing a one-row insert into a table with auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{29}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{30}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{31}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 7 - Now try again inserting multiple rows into a table with autogenerated key and request generated keys resultset
+ This time we will get a row of non-NULL value because there has been a prior one-row insert into table with auto-generated key 
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 8 - create a new statement and request for generated keys on it after doing an insert into 
+ a table with no auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 9 - request for generated keys on a statement which does a update 
+We should get a resultset with no rows from getGeneratedKeys because we executed a non-insert sql
+<NULL>
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+<NULL>
+Test 10 - request for generated keys on a statement which does a delete 
+We should get a resultset with no rows from getGeneratedKeys because we executed a non-insert sql
+<NULL>
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+<NULL>
+Test 11 - do a commit and request for generated keys on a statement which does insert into a table with 
+ no auto generated keys (previous transaction had a one-row insert on a table with auto-generated keys)
+expected to see resultset with one row of NULL value but instead get one row of non-NULL value from getGeneratedKeys
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 12 - do a rollback and request for generated keys on a statement which does insert into a table with 
+ no auto generated keys (previous transaction had a one-row insert on a table with auto-generated keys)
+had expected to see resultset with one row of NULL value but instead get one row of non-NULL value from getGeneratedKeys
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 13 - try savepoint rollback and see what happens to auto generated keys resultset
+Inside the savepoint unit, issue a one-row insert into a table with auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{33}
+Now rollback the savepoint unit, and make sure that autogenerated keys resultset still holds on to 
+ value that got set inside the rolled back savepoint unit
+	 1
+	 -
+	{33}
+Test 14 - Look at metadata of a getGeneratedKeys resultset
+The resultset will have one column only
+Found 1 column in the resultset
+Type of the column is DECIMAL
+Precision of the column is 31
+Scale of the column is 0
+	 1
+	 -
+	{25}
+Test 15 - Can not see the auto generated keys if insert is with NO_GENERATED_KEYS
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 16 - Can not see the auto generated keys if insert is done jdbc 2.0 way ie with no generated key feature
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 17 - non-insert with NO_GENERATED_KEYS
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 18 - non-insert is done jdbc 2.0 way ie with no generated key feature
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test19 - fix the no auto generated key resultset generated for INSERT with generated keys if server-side methods are invoked
+Back to client side looking for auto generated keys
+	 1
+	 -
+	{33}
+	 1
+	 -
+	{16}
+Test20 - bug 4837garbage collection of the generated key result sets was closing the activation.
+Test21 - insert select with columnIndexes[] array should fail
+Try passing array with Statement.execute
+PASS - expected exception - Feature not implemented
+Try passing array with Statement.executeUpdate
+PASS -- expected exception
+SQLSTATE(null): Driver not capable
+Test21ps - insert select with columnIndexes[] array should fail
+Try passing array with Connection.prepareStatement
+PASS -- expected exception
+SQLSTATE(null): Driver not capable
+Test22 - insert select with columnNames[] array should fail
+Try passing array with Statement.execute
+PASS -- expected exception
+SQLSTATE(null): Driver not capable
+Try passing array with Statement.executeUpdate
+PASS -- expected exception
+SQLSTATE(null): Driver not capable
+Test22ps - insert select with columnNames[] array should fail
+Try passing array with Connection.prepareStatement
+PASS -- expected exception
+SQLSTATE(null): Driver not capable
+Test autoGeneratedJdbc30 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/blobclob4BLOB.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,721 @@
+Test blobclob starting
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+unicode string 0 correct
+unicode string 1 correct
+unicode string 2 correct
+Finished prepareUnicodeFile
+Length of clob is 5009
+unicode string 0 matched
+unicode string 1 matched
+unicode string 2 matched
+EOF matched
+setCharacterStreamTest finished
+clobTest0 finished
+clobTest11 finished
+Succeeded to match, row 1
+PASSED, row 1, length was 3
+Succeeded to match, row 2
+PASSED, row 2, length was 3
+Succeeded to match, row 3
+PASSED, row 3, length was 3
+Succeeded to match, row 4
+PASSED, row 4, length was 5016
+Succeeded to match, row 5
+PASSED, row 5, length was 5016
+Succeeded to match, row 6
+PASSED, row 6, length was 5016
+clobTest12 finished
+CLOB getSubString 9905 > 0
+Known JCC Bug 5914 - String index out of range: -9904
+CLOB getSubString 5910 > 0
+Known JCC Bug 5914 - String index out of range: -5909
+CLOB getSubString 5910 > 0
+Known JCC Bug 5914 - String index out of range: -5909
+CLOB getSubString 204 > 0
+Known JCC Bug 5914 - String index out of range: -203
+CLOB getSubString 68 > 0
+Known JCC Bug 5914 - String index out of range: -67
+CLOB getSubString 1 > 0
+1(5) (len 50) 
+CLOB FAIL - NO ERROR ON getSubString POS TOO LARGE 1 > 0
+CLOB getSubString 1 > 0
+1(6) (len 1) 
+CLOB FAIL - NO ERROR ON getSubString POS TOO LARGE 1 > 0
+CLOB getSubString 9905 > 65
+Known JCC Bug 5914 - String index out of range: -9839
+CLOB getSubString 5910 > 65
+Known JCC Bug 5914 - String index out of range: -5844
+CLOB getSubString 5910 > 65
+Known JCC Bug 5914 - String index out of range: -5844
+CLOB getSubString 204 > 65
+Known JCC Bug 5914 - String index out of range: -138
+CLOB getSubString 68 > 65
+Known JCC Bug 5914 - String index out of range: -2
+2(5) (len 50) you can lead a horse to water but you can't form i
+2(6) (len 1) y
+CLOB getSubString 9905 > 26
+Known JCC Bug 5914 - String index out of range: -9878
+CLOB getSubString 5910 > 26
+Known JCC Bug 5914 - String index out of range: -5883
+CLOB getSubString 5910 > 26
+Known JCC Bug 5914 - String index out of range: -5883
+CLOB getSubString 204 > 26
+Known JCC Bug 5914 - String index out of range: -177
+CLOB getSubString 68 > 26
+Known JCC Bug 5914 - String index out of range: -41
+3(5) (len 50) a stitch in time says ouch
+3(6) (len 1) a
+CLOB getSubString 9905 > 42
+Known JCC Bug 5914 - String index out of range: -9862
+CLOB getSubString 5910 > 42
+Known JCC Bug 5914 - String index out of range: -5867
+CLOB getSubString 5910 > 42
+Known JCC Bug 5914 - String index out of range: -5867
+CLOB getSubString 204 > 42
+Known JCC Bug 5914 - String index out of range: -161
+CLOB getSubString 68 > 42
+Known JCC Bug 5914 - String index out of range: -25
+4(5) (len 50) here is a string with a return 
+ character
+4(6) (len 1) h
+CLOB getSubString 9905 > 56
+Known JCC Bug 5914 - String index out of range: -9848
+CLOB getSubString 5910 > 56
+Known JCC Bug 5914 - String index out of range: -5853
+CLOB getSubString 5910 > 56
+Known JCC Bug 5914 - String index out of range: -5853
+CLOB getSubString 204 > 56
+Known JCC Bug 5914 - String index out of range: -147
+CLOB getSubString 68 > 56
+Known JCC Bug 5914 - String index out of range: -11
+5(5) (len 50) test data: a string column inserted as an Ascii st
+5(6) (len 1) t
+6(0) (len 50) wwPosition-9907-behold-the-end-of-the-clob-is-nigh
+6(1) (len 150) I-am-hiding-here-at-position-5910-in-this-little-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(2) (len 50) I-am-hiding-here-at-position-5910-in-this-little-c
+6(3) (len 50) This-is-position-204wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(4) (len 50) wposition-69-end-of-the-first-l
+ine-we-are-now-on
+6(5) (len 50) Beginning-this-is-itwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(6) (len 1) B
+6(7) 
+wwwwwwPosition-9907-behold-the-end-of-the-clob-is-nighwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+CLOB getSubString 9905 > 0
+Known JCC Bug 5914 - String index out of range: -9904
+CLOB getSubString 5910 > 0
+Known JCC Bug 5914 - String index out of range: -5909
+CLOB getSubString 5910 > 0
+Known JCC Bug 5914 - String index out of range: -5909
+CLOB getSubString 204 > 0
+Known JCC Bug 5914 - String index out of range: -203
+CLOB getSubString 68 > 0
+Known JCC Bug 5914 - String index out of range: -67
+CLOB getSubString 1 > 0
+7(5) (len 50) 
+CLOB FAIL - NO ERROR ON getSubString POS TOO LARGE 1 > 0
+CLOB getSubString 1 > 0
+7(6) (len 1) 
+CLOB FAIL - NO ERROR ON getSubString POS TOO LARGE 1 > 0
+CLOB getSubString 9905 > 5000
+Known JCC Bug 5914 - String index out of range: -4904
+CLOB getSubString 5910 > 5000
+Known JCC Bug 5914 - String index out of range: -909
+CLOB getSubString 5910 > 5000
+Known JCC Bug 5914 - String index out of range: -909
+8(3) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(4) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+8(5) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(6) (len 1) w
+8(7) 
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(0) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(1) (len 150) I-am-hiding-here-at-position-5910-in-this-humungus-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(2) (len 50) I-am-hiding-here-at-position-5910-in-this-humungus
+9(3) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(4) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+9(5) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(6) (len 1) w
+9(7) 
+wwHere-I-am-at-position-299003-near-the-end-of-the-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+clobTest2 finished
+Row 1 : Succeeded
+Row 2 : Succeeded
+Row 3 : Succeeded
+Row 4 : Succeeded
+Second time Succeeded
+Row 5 : Succeeded
+Second time Succeeded
+Row 6 : Succeeded
+Second time Succeeded
+clobTest22 finished
+Found horse in row 1 starting from position 1 at position  NOTFOUND 
+Found ouch in row 1 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 1 starting from position 1 at position  NOTFOUND 
+Found  in row 1 starting from position 1 at position 1
+Found Beginning in row 1 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 1 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 1 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 1 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 1 starting from position 1 at position  NOTFOUND 
+Found horse in row 2 starting from position 1 at position 16
+Found ouch in row 2 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 2 starting from position 1 at position  NOTFOUND 
+Found  in row 2 starting from position 1 at position 1
+Found Beginning in row 2 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 2 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 2 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 2 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 2 starting from position 1 at position  NOTFOUND 
+Found horse in row 3 starting from position 1 at position  NOTFOUND 
+Found ouch in row 3 starting from position 1 at position 23
+Found 
+ in row 3 starting from position 1 at position  NOTFOUND 
+Found  in row 3 starting from position 1 at position 1
+Found Beginning in row 3 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 3 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 3 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 3 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 3 starting from position 1 at position  NOTFOUND 
+Found horse in row 4 starting from position 1 at position  NOTFOUND 
+Found ouch in row 4 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 4 starting from position 1 at position 32
+Found  in row 4 starting from position 1 at position 1
+Found Beginning in row 4 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 4 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 4 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 4 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 4 starting from position 1 at position  NOTFOUND 
+Found horse in row 5 starting from position 1 at position  NOTFOUND 
+Found ouch in row 5 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 5 starting from position 1 at position 56
+Found  in row 5 starting from position 1 at position 1
+Found Beginning in row 5 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 5 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 5 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 5 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 5 starting from position 1 at position  NOTFOUND 
+Found horse in row 6 starting from position 1 at position  NOTFOUND 
+Found ouch in row 6 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 6 starting from position 1 at position 100
+Found  in row 6 starting from position 1 at position 1
+Found Beginning in row 6 starting from position 1 at position 1
+Found Beginning in row 6 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 6 starting from position 1 at position 69
+Found This-is-position-204 in row 6 starting from position 1 at position 204
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 1 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5910 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 6 starting from position 1 at position 9907
+Found horse in row 7 starting from position 1 at position  NOTFOUND 
+Found ouch in row 7 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 7 starting from position 1 at position  NOTFOUND 
+Found  in row 7 starting from position 1 at position 1
+Found Beginning in row 7 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 7 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 7 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 7 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 7 starting from position 1 at position  NOTFOUND 
+Found horse in row 8 starting from position 1 at position  NOTFOUND 
+Found ouch in row 8 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 8 starting from position 1 at position 100
+Found  in row 8 starting from position 1 at position 1
+Found Beginning in row 8 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 8 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 8 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 8 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 8 starting from position 1 at position  NOTFOUND 
+clobTest3 finished
+Succeeded: Found unicode string 0 at position 1,row 1
+Succeeded: Found unicode string 0 at position -1,row 1
+Succeeded: Found unicode string 1 at position 1,row 2
+Succeeded: Found unicode string 1 at position -1,row 2
+Succeeded: Found unicode string 2 at position 1,row 3
+Succeeded: Found unicode string 2 at position -1,row 3
+Succeeded: Found unicode string 0 at position 1,row 4
+Succeeded: Found unicode string 0 at position 5004,row 4
+Succeeded: Found unicode string 1 at position 1,row 5
+Succeeded: Found unicode string 1 at position 5004,row 5
+Succeeded: Found unicode string 2 at position 1,row 6
+Succeeded: Found unicode string 2 at position 5004,row 6
+clobTest32 finished
+position(clob) NOT FOUND 1 searchStr horse
+position(clob) NOT FOUND 1 searchStr ouch
+position(clob) NOT FOUND 1 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 1 searchStr Beginning
+position(clob) NOT FOUND 1 searchStr position-69
+position(clob) NOT FOUND 1 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 1 searchStr Position-9907
+position(clob) NOT FOUND 1 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 1 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 1 searchStr >150chars
+searchClob row 13 skipped (too large)
+Found horse in row 2 at position 16
+position(clob) NOT FOUND 2 searchStr ouch
+position(clob) NOT FOUND 2 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 65
+position(clob) NOT FOUND 2 searchStr Beginning
+position(clob) NOT FOUND 2 searchStr position-69
+position(clob) NOT FOUND 2 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 2 searchStr Position-9907
+position(clob) NOT FOUND 2 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 2 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 65
+position(clob) NOT FOUND 2 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 3 searchStr horse
+Found ouch in row 3 at position 23
+position(clob) NOT FOUND 3 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 26
+position(clob) NOT FOUND 3 searchStr Beginning
+position(clob) NOT FOUND 3 searchStr position-69
+position(clob) NOT FOUND 3 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 3 searchStr Position-9907
+position(clob) NOT FOUND 3 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 3 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 26
+position(clob) NOT FOUND 3 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 4 searchStr horse
+position(clob) NOT FOUND 4 searchStr ouch
+Found 
+ in row 4 at position 32
+position(clob) FOUND @ 1 with empty search clob in clob of length 42
+position(clob) NOT FOUND 4 searchStr Beginning
+position(clob) NOT FOUND 4 searchStr position-69
+position(clob) NOT FOUND 4 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 4 searchStr Position-9907
+position(clob) NOT FOUND 4 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 4 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 42
+position(clob) NOT FOUND 4 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 5 searchStr horse
+position(clob) NOT FOUND 5 searchStr ouch
+Found 
+ in row 5 at position 56
+position(clob) FOUND @ 1 with empty search clob in clob of length 56
+position(clob) NOT FOUND 5 searchStr Beginning
+position(clob) NOT FOUND 5 searchStr position-69
+position(clob) NOT FOUND 5 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 5 searchStr Position-9907
+Found test data: a string column inserted as an Ascii stream
+ in row 5 at position 1
+position(clob) NOT FOUND 5 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 56
+position(clob) NOT FOUND 5 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 6 searchStr horse
+position(clob) NOT FOUND 6 searchStr ouch
+Found 
+ in row 6 at position 100
+position(clob) FOUND @ 1 with empty search clob in clob of length 10000
+Found Beginning in row 6 at position 1
+Found position-69 in row 6 at position 69
+Found I-am-hiding-here-at-position-5910 in row 6 at position 5910
+Found Position-9907 in row 6 at position 9907
+position(clob) NOT FOUND 6 searchStr test data: a string column inserted as an Ascii stream
+Found clob (row 10)  in row 6 at position 1
+position(clob) FOUND @ 1 with empty search clob in clob of length 10000
+Found clob (row 12)  in row 6 at position 301
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 7 searchStr horse
+position(clob) NOT FOUND 7 searchStr ouch
+position(clob) NOT FOUND 7 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 7 searchStr Beginning
+position(clob) NOT FOUND 7 searchStr position-69
+position(clob) NOT FOUND 7 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 7 searchStr Position-9907
+position(clob) NOT FOUND 7 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 7 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 7 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 8 searchStr horse
+position(clob) NOT FOUND 8 searchStr ouch
+Found 
+ in row 8 at position 100
+position(clob) FOUND @ 1 with empty search clob in clob of length 5000
+position(clob) NOT FOUND 8 searchStr Beginning
+position(clob) NOT FOUND 8 searchStr position-69
+position(clob) NOT FOUND 8 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 8 searchStr Position-9907
+position(clob) NOT FOUND 8 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 8 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 5000
+Found clob (row 12)  in row 8 at position 1
+searchClob row 13 skipped (too large)
+testCLOB_MAIN row 9 skipped (too large)
+clobTest4 finished
+Succeeded: Found clob at position 1,row 0
+Succeeded: Found clob at position 1,row 1
+Succeeded: Found clob at position 1,row 2
+clobTest42 finished
+clobTest51 finished
+create table testInteger (a integer)
+insert into testInteger values('158')
+select a from testInteger
+getClob(1)
+52: SQLException
+EXPECTED SQL Exception: Invalid data conversion: Wrong result column type for requested conversion.
+clobTest53 finished
+start clobTest54
+EXPECTED SQLSTATE(22018): Invalid character string format for type INTEGER.
+end clobTest54
+ negative tests for clob.getSubstring won't run  for network server  until 5243 is fixed
+start clobTest7
+clobTest7 finished
+start clobTest8
+small string pattern
+@1  position MATCH(129)
+@2  position MATCH(2074)
+@3  position MATCH(4595)
+@4  position MATCH(34584)
+@5  position MATCH(67918)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+small java.sql.Clob pattern
+@1  position MATCH(129)
+@2  position MATCH(2074)
+@3  position MATCH(4595)
+@4  position MATCH(34584)
+@5  position MATCH(67918)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+medium string pattern
+@1  position MATCH(11253)
+@2  position MATCH(12225)
+@3  position MATCH(13478)
+@4  position MATCH(43467)
+@5  position MATCH(76801)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+medium java.sql.Clob pattern
+@1  position MATCH(11253)
+@2  position MATCH(12225)
+@3  position MATCH(13478)
+@4  position MATCH(43467)
+@5  position MATCH(76801)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+long string pattern
+@1  position MATCH(287875)
+@2  position MATCH(288847)
+@3  position MATCH(290108)
+@4  position MATCH(305102)
+@5  position MATCH(321769)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+long java.sql.Clob pattern
+@1  position MATCH(287875)
+@2  position MATCH(288847)
+@3  position MATCH(290108)
+@4  position MATCH(305102)
+@5  position MATCH(321769)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+complete clobTest8
+done row 0, length was 0
+done row 1, length was 65
+done row 2, length was 26
+done row 3, length was 42
+done row 4, length was 56
+done row 5, length was 10000
+done row 6, length was 0
+done row 7, length was 5000
+done row 8, length was 300000
+row 9 is null, skipped
+clobTest91 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(40XL1): A lock could not be obtained within the time requested
+clobTest92 finished
+shortClob length after commit is 26
+clobTest94 finished
+shortClob length after closing connection is 26
+EXPECTED SQL Exception: Lob method called after connection was closed
+EXPECTED SQL Exception: Lob method called after connection was closed
+EXPECTED SQL Exception: Lob method called after connection was closed
+EXPECTED SQL Exception: Lob method called after connection was closed
+clobTest95 finished
+clobTest96 finished
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+blobTest0 finished
+testing Blob.getBytes() with pos 9905 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 1 > 0
+1(5) 
+FAIL testing Blob.getBytes() with pos 1 > 0
+testing Blob.getBytes() with pos 1 > 0
+1(6) 
+FAIL testing Blob.getBytes() with pos 1 > 0
+testing Blob.getBytes() with pos 9905 > 65
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 65
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 65
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 65
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 65
+Known JCC Bug 5914
+2(5) you can lead a horse to water but you can't form i
+2(6) y
+testing Blob.getBytes() with pos 9905 > 26
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 26
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 26
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 26
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 26
+Known JCC Bug 5914
+3(5) a stitch in time says ouch
+3(6) a
+testing Blob.getBytes() with pos 9905 > 42
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 42
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 42
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 42
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 42
+Known JCC Bug 5914
+4(5) here is a string with a return 
+ character
+4(6) h
+testing Blob.getBytes() with pos 9905 > 56
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 56
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 56
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 56
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 56
+Known JCC Bug 5914
+5(5) test data: a string column inserted as an Ascii st
+5(6) t
+6(0) wwPosition-9907-behold-the-end-of-the-clob-is-nigh
+6(1) I-am-hiding-here-at-position-5910-in-this-little-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(2) I-am-hiding-here-at-position-5910-in-this-little-c
+6(3) This-is-position-204wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(4) wposition-69-end-of-the-first-l
+ine-we-are-now-on
+6(5) Beginning-this-is-itwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(6) B
+6(7) 
+wwwwwwPosition-9907-behold-the-end-of-the-clob-is-nighwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+testing Blob.getBytes() with pos 9905 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 204 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 68 > 0
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 1 > 0
+7(5) 
+FAIL testing Blob.getBytes() with pos 1 > 0
+testing Blob.getBytes() with pos 1 > 0
+7(6) 
+FAIL testing Blob.getBytes() with pos 1 > 0
+testing Blob.getBytes() with pos 9905 > 5000
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 5000
+Known JCC Bug 5914
+testing Blob.getBytes() with pos 5910 > 5000
+Known JCC Bug 5914
+8(3) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(4) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+8(5) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(6) w
+8(7) 
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(0) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(1) I-am-hiding-here-at-position-5910-in-this-humungus-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(2) I-am-hiding-here-at-position-5910-in-this-humungus
+9(3) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(4) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+9(5) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(6) w
+9(7) 
+wwHere-I-am-at-position-299003-near-the-end-of-the-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+blobTest2 finished
+Found horse in row 2 starting from position 1 at position 16
+Found ouch in row 3 starting from position 1 at position 23
+Found 
+ in row 4 starting from position 1 at position 32
+Found 
+ in row 5 starting from position 1 at position 56
+Found 
+ in row 6 starting from position 1 at position 100
+Found Beginning in row 6 starting from position 1 at position 1
+Found position-69 in row 6 starting from position 1 at position 69
+Found This-is-position-204 in row 6 starting from position 1 at position 204
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 1 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5910 at position 5910
+Found Position-9907 in row 6 starting from position 1 at position 9907
+Found 
+ in row 8 starting from position 1 at position 100
+blobTest3 finished
+searchBlob row 13 skipped (too large)
+Found horse in row 2 at position 16
+searchBlob row 13 skipped (too large)
+Found ouch in row 3 at position 23
+searchBlob row 13 skipped (too large)
+Found 
+ in row 4 at position 32
+searchBlob row 13 skipped (too large)
+Found 
+ in row 5 at position 56
+Found test data: a string column inserted as an Ascii stream
+ in row 5 at position 1
+searchBlob row 13 skipped (too large)
+Found 
+ in row 6 at position 100
+Found Beginning in row 6 at position 1
+Found position-69 in row 6 at position 69
+Found I-am-hiding-here-at-position-5910 in row 6 at position 5910
+Found Position-9907 in row 6 at position 9907
+Found blob (row 10)  in row 6 at position 1
+Found blob (row 12)  in row 6 at position 301
+searchBlob row 13 skipped (too large)
+searchBlob row 13 skipped (too large)
+Found 
+ in row 8 at position 100
+Found blob (row 12)  in row 8 at position 1
+searchBlob row 13 skipped (too large)
+testBlob row 9 skipped (too large)
+blobTest4 finished
+blobTest51 finished
+EXPECTED SQLSTATE(null): Invalid data conversion: Wrong result column type for requested conversion.
+blobTest53 finished
+EXPECTED SQLSTATE(XCL12): An attempt was made to put a data value of type 'byte[]' into a data value of type 'INTEGER'.
+EXPECTED SQLSTATE(null): Invalid position 0 or length 5
+EXPECTED SQLSTATE(null): Invalid position 1 or length -76
+EXPECTED SQLSTATE(null): Search pattern cannot be null.
+EXPECTED SQLSTATE(null): Search pattern cannot be null.
+blobTest6 finished
+blobTest7 finished
+done row 0, length was 0
+done row 1, length was 65
+done row 2, length was 26
+done row 3, length was 42
+done row 4, length was 56
+done row 5, length was 10000
+done row 6, length was 0
+done row 7, length was 5000
+done row 8, length was 300000
+row 9 is null, skipped
+blobTest91 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(40XL1): A lock could not be obtained within the time requested
+blobTest93 finished
+shortBlob length after commit is 26
+blobTest94 finished
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+EXPECTED SQLSTATE(null): Lob method called after connection was closed
+blobTest95 finished
+blobTest96 finished
+length of clob chosen is 10000
+After update
+Row 1 value.substring(0,50) is jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+10000 total bytes read
+clobTestSelfDestructive finished
+length of clob chosen is 10000
+After drop
+Expect to get an IOException, container has been closed
+10000 total bytes read
+clobTestSelfDestructive2 finished
+FINISHED TEST blobclob :-)
+Test blobclob finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/characterStreams.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/characterStreams.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/characterStreams.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1 @@
+SKIP TEST FOR NOW

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/dbMetaDataJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/dbMetaDataJdbc30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/dbMetaDataJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,31 @@
+Test dbMetaDataJdbc30 starting
+JDBC Driver 'IBM DB2 JDBC Universal Driver Architecture', version (EXPECTED VERSION)
+The URL is: jdbc:derby:net://localhost:1527/wombat;create=true
+supportsSavepoints() : true
+supportsNamedParameters() : false
+supportsMultipleOpenResults() : true
+supportsGetGeneratedKeys() : false
+supportsResultSetHoldability(HOLD_CURSORS_OVER_COMMIT) : true
+supportsResultSetHoldability(CLOSE_CURSORS_AT_COMMIT) : true
+getJDBCMajorVersion() : 3
+getJDBCMinorVersion() : 0
+getSQLStateType() : 2
+getResultSetHoldability() : 1
+getDatabaseMajorVersion() : 10
+getDatabaseMinorVersion() : 1
+supportsStatementPooling() : false
+getMaxColumnNameLength() = 30
+getMaxCursorNameLength() = 18
+getMaxSchemaNameLength() = 30
+getMaxProcedureNameLength() = 128
+getMaxTableNameLength() = 128
+getMaxUserNameLength() = 30
+getSuperTypes() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+getSuperTables() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+getAttributes() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+locatorsUpdateCopy(): 
+Returned: true
+Test dbMetaDataJdbc30 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/getCurConnJdbc20.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/getCurConnJdbc20.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/getCurConnJdbc20.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,22 @@
+ij> -- test getCurConnJdbc20
+----- this test will get run under jdk12 only. If run under jdk11x, will get an exception like
+----- following for call to newToJdbc20Method
+----- ERROR 38000: The exception 'java.lang.NoSuchMethodError: java.sql.Connection: method 
+----- createStatement(II)Ljava/sql/Statement; not found' was thrown while evaluating an expression.
+----- method alias and table used later
+create procedure newToJdbc20Method() PARAMETER STYLE JAVA LANGUAGE JAVA EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.Jdbc20Test.newToJdbc20Method';
+0 rows inserted/updated/deleted
+ij> create table T (a int NOT NULL primary key);
+0 rows inserted/updated/deleted
+ij> insert into T values (1);
+1 row inserted/updated/deleted
+ij> -- now lets try a variety of errors
+call newToJdbc20Method();
+Statement executed.
+ij> ------------------------------------------------------------
+----- drop the table
+drop table T;
+0 rows inserted/updated/deleted
+ij> drop procedure newToJdbc20Method;
+0 rows inserted/updated/deleted
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/maxfieldsize.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/maxfieldsize.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/maxfieldsize.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,893 @@
+Test MaxFieldSize  starting
+Iteration #: 0
+Max Field Size = 0
+Column #: 1
+getObject(1)
+  as byte[] length 100
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getObject(2)
+  as byte[] length 43
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getObject(3)
+  as byte[] length 43
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+Column #: 5
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 1
+Max Field Size = 0
+Column #: 1
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(1) length 200
+43315858585858585858585858585858585858585858585858585858585858585858585858585858585858202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
+Column #: 2
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(2) length 86
+43325858585858585858585858585858585858585858585858585858585858585858585858585858585858
+Column #: 3
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(3) length 86
+43335858585858585858585858585858585858585858585858585858585858585858585858585858585858
+Column #: 4
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(4) length 100
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+Column #: 5
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(5) length 45
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(6) length 46
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 2
+Max Field Size = 0
+Column #: 1
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 5
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #: 6
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 3
+Max Field Size = 0
+Column #: 1
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 4
+Max Field Size = 0
+Column #: 1
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 5
+Max Field Size = 24
+Column #: 1
+getObject(1)
+  as byte[] length 24
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getObject(2)
+  as byte[] length 24
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getObject(3)
+  as byte[] length 24
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXX
+Column #: 5
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 6
+Max Field Size = 24
+Column #: 1
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(1) length 24
+433158585858585858585858
+Column #: 2
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(2) length 24
+433258585858585858585858
+Column #: 3
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(3) length 24
+433358585858585858585858
+Column #: 4
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(4) length 24
+C4XXXXXXXXXXXXXXXXXXXXXX
+Column #: 5
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(5) length 24
+C5XXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+beetle 5350 - JCC returns incorrect result for maxfieldsize()
+getString(6) length 24
+C6XXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 7
+Max Field Size = 24
+Column #: 1
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 5
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 6
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 8
+Max Field Size = 24
+Column #: 1
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 9
+Max Field Size = 24
+Column #: 1
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Expected Exception - Invalid maxFieldsize
+Doing external sort
+Max Field Size = 0
+Iteration #: 0
+Column #1: 4999
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 1
+Column #1: 4998
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 2
+Column #1: 4997
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 3
+Column #1: 4996
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4
+Column #1: 4995
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4995
+Column #1: 4
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4996
+Column #1: 3
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4997
+Column #1: 2
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4998
+Column #1: 1
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4999
+Column #1: 0
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Max Field Size = 24
+Iteration #: 0
+Column #1: 4999
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 1
+Column #1: 4998
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 2
+Column #1: 4997
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 3
+Column #1: 4996
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4
+Column #1: 4995
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4995
+Column #1: 4
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4996
+Column #1: 3
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4997
+Column #1: 2
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4998
+Column #1: 1
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4999
+Column #1: 0
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Test maxfieldsize  finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/metadataJdbc20.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,14 @@
+Test metadataJdbc20 starting
+JDBC Driver 'IBM DB2 JDBC Universal Driver Architecture', version (EXPECTED VERSION)
+The URL is: jdbc:derby:net://localhost:1527/wombat;create=true
+getUDTs() with user-named types null :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('JAVA_OBJECT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('STRUCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('DISTINCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('JAVA_OBJECT', 'STRUCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+Test metadataJdbc20 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/prepStmtMetaData.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/prepStmtMetaData.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/prepStmtMetaData.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,26 @@
+Test prepStmtMetaData starting
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+Result meta data for select
+A,B
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+bug 4579 and 5338 : Result meta data for select *
+C11
+bug 4579 and 5338 : Result meta data for select * after alter table but w/o execute query
+C11
+bug 4579 and 5338 : Result meta data for select * after alter table and execute query
+C11
+Test prepStmtMetaData finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/resultset.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/resultset.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/resultset.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,1014 @@
+Test resultset starting
+getColumnCount(): 16
+isAutoIncrement(1): false
+isCaseSensitive(1): false
+isSearchable(1): true
+isCurrency(1): false
+isNullable(1): 1
+isSigned(1): true
+getColumnDisplaySize(1): 11
+getColumnLabel(1): I
+getColumnName(1): I
+getTableName(1): T
+getSchemaName(1): 
+getCatalogName(1): 
+getColumnType(1): 4
+getPrecision(1): 10
+getScale(1): 0
+getColumnTypeName(1): INTEGER
+isReadOnly(1): true
+isDefinitelyWritable(1): false
+isAutoIncrement(2): false
+isCaseSensitive(2): false
+isSearchable(2): true
+isCurrency(2): false
+isNullable(2): 1
+isSigned(2): true
+getColumnDisplaySize(2): 6
+getColumnLabel(2): S
+getColumnName(2): S
+getTableName(2): T
+getSchemaName(2): 
+getCatalogName(2): 
+getColumnType(2): 5
+getPrecision(2): 5
+getScale(2): 0
+getColumnTypeName(2): SMALLINT
+isReadOnly(2): true
+isDefinitelyWritable(2): false
+isAutoIncrement(3): false
+isCaseSensitive(3): false
+isSearchable(3): true
+isCurrency(3): false
+isNullable(3): 1
+isSigned(3): true
+getColumnDisplaySize(3): 13
+getColumnLabel(3): R
+getColumnName(3): R
+getTableName(3): T
+getSchemaName(3): 
+getCatalogName(3): 
+getColumnType(3): 7
+getPrecision(3): 7
+getScale(3): 0
+getColumnTypeName(3): REAL
+isReadOnly(3): true
+isDefinitelyWritable(3): false
+isAutoIncrement(4): false
+isCaseSensitive(4): false
+isSearchable(4): true
+isCurrency(4): false
+isNullable(4): 1
+isSigned(4): true
+getColumnDisplaySize(4): 22
+getColumnLabel(4): D
+getColumnName(4): D
+getTableName(4): T
+getSchemaName(4): 
+getCatalogName(4): 
+getColumnType(4): 8
+getPrecision(4): 15
+getScale(4): 0
+getColumnTypeName(4): DOUBLE
+isReadOnly(4): true
+isDefinitelyWritable(4): false
+isAutoIncrement(5): false
+isCaseSensitive(5): false
+isSearchable(5): true
+isCurrency(5): false
+isNullable(5): 1
+isSigned(5): false
+getColumnDisplaySize(5): 10
+getColumnLabel(5): DT
+getColumnName(5): DT
+getTableName(5): T
+getSchemaName(5): 
+getCatalogName(5): 
+getColumnType(5): 91
+getPrecision(5): 10
+getScale(5): 0
+getColumnTypeName(5): DATE
+isReadOnly(5): true
+isDefinitelyWritable(5): false
+isAutoIncrement(6): false
+isCaseSensitive(6): false
+isSearchable(6): true
+isCurrency(6): false
+isNullable(6): 1
+isSigned(6): false
+getColumnDisplaySize(6): 8
+getColumnLabel(6): T
+getColumnName(6): T
+getTableName(6): T
+getSchemaName(6): 
+getCatalogName(6): 
+getColumnType(6): 92
+getPrecision(6): 8
+getScale(6): 0
+getColumnTypeName(6): TIME
+isReadOnly(6): true
+isDefinitelyWritable(6): false
+isAutoIncrement(7): false
+isCaseSensitive(7): false
+isSearchable(7): true
+isCurrency(7): false
+isNullable(7): 1
+isSigned(7): false
+getColumnDisplaySize(7): 26
+getColumnLabel(7): TS
+getColumnName(7): TS
+getTableName(7): T
+getSchemaName(7): 
+getCatalogName(7): 
+getColumnType(7): 93
+getPrecision(7): 26
+getScale(7): 6
+getColumnTypeName(7): TIMESTAMP
+isReadOnly(7): true
+isDefinitelyWritable(7): false
+isAutoIncrement(8): false
+isCaseSensitive(8): true
+isSearchable(8): true
+isCurrency(8): false
+isNullable(8): 1
+isSigned(8): false
+getColumnDisplaySize(8): 10
+getColumnLabel(8): C
+getColumnName(8): C
+getTableName(8): T
+getSchemaName(8): 
+getCatalogName(8): 
+getColumnType(8): 1
+getPrecision(8): 10
+getScale(8): 0
+getColumnTypeName(8): CHAR
+isReadOnly(8): true
+isDefinitelyWritable(8): false
+isAutoIncrement(9): false
+isCaseSensitive(9): true
+isSearchable(9): true
+isCurrency(9): false
+isNullable(9): 0
+isSigned(9): false
+getColumnDisplaySize(9): 40
+getColumnLabel(9): V
+getColumnName(9): V
+getTableName(9): T
+getSchemaName(9): 
+getCatalogName(9): 
+getColumnType(9): 12
+getPrecision(9): 40
+getScale(9): 0
+getColumnTypeName(9): VARCHAR
+isReadOnly(9): true
+isDefinitelyWritable(9): false
+isAutoIncrement(10): false
+isCaseSensitive(10): false
+isSearchable(10): true
+isCurrency(10): false
+isNullable(10): 1
+isSigned(10): true
+getColumnDisplaySize(10): 12
+getColumnLabel(10): DC
+getColumnName(10): DC
+getTableName(10): T
+getSchemaName(10): 
+getCatalogName(10): 
+getColumnType(10): 3
+getPrecision(10): 10
+getScale(10): 2
+getColumnTypeName(10): DECIMAL
+isReadOnly(10): true
+isDefinitelyWritable(10): false
+isAutoIncrement(11): false
+isCaseSensitive(11): false
+isSearchable(11): true
+isCurrency(11): false
+isNullable(11): 1
+isSigned(11): true
+getColumnDisplaySize(11): 20
+getColumnLabel(11): BI
+getColumnName(11): BI
+getTableName(11): T
+getSchemaName(11): 
+getCatalogName(11): 
+getColumnType(11): -5
+getPrecision(11): 19
+getScale(11): 0
+getColumnTypeName(11): BIGINT
+isReadOnly(11): true
+isDefinitelyWritable(11): false
+isAutoIncrement(12): false
+isCaseSensitive(12): false
+isSearchable(12): true
+isCurrency(12): false
+isNullable(12): 1
+isSigned(12): false
+getColumnDisplaySize(12): 20
+getColumnLabel(12): CBD
+getColumnName(12): CBD
+getTableName(12): T
+getSchemaName(12): 
+getCatalogName(12): 
+getColumnType(12): -2
+getPrecision(12): 10
+getScale(12): 0
+getColumnTypeName(12): CHAR FOR BIT DATA
+isReadOnly(12): true
+isDefinitelyWritable(12): false
+isAutoIncrement(13): false
+isCaseSensitive(13): false
+isSearchable(13): true
+isCurrency(13): false
+isNullable(13): 1
+isSigned(13): false
+getColumnDisplaySize(13): 20
+getColumnLabel(13): VBD
+getColumnName(13): VBD
+getTableName(13): T
+getSchemaName(13): 
+getCatalogName(13): 
+getColumnType(13): -3
+getPrecision(13): 10
+getScale(13): 0
+getColumnTypeName(13): VARCHAR FOR BIT DATA
+isReadOnly(13): true
+isDefinitelyWritable(13): false
+isAutoIncrement(14): false
+isCaseSensitive(14): false
+isSearchable(14): true
+isCurrency(14): false
+isNullable(14): 1
+isSigned(14): false
+getColumnDisplaySize(14): 65400
+getColumnLabel(14): LVBD
+getColumnName(14): LVBD
+getTableName(14): T
+getSchemaName(14): 
+getCatalogName(14): 
+getColumnType(14): -4
+getPrecision(14): 32700
+getScale(14): 0
+getColumnTypeName(14): LONG VARCHAR FOR BIT DATA
+isReadOnly(14): true
+isDefinitelyWritable(14): false
+isAutoIncrement(15): false
+isCaseSensitive(15): true
+isSearchable(15): true
+isCurrency(15): false
+isNullable(15): 1
+isSigned(15): false
+getColumnDisplaySize(15): 2147483647
+getColumnLabel(15): CL
+getColumnName(15): CL
+getTableName(15): T
+getSchemaName(15): 
+getCatalogName(15): 
+getColumnType(15): 2005
+getPrecision(15): 2147483647
+getScale(15): 0
+getColumnTypeName(15): CLOB
+isReadOnly(15): true
+isDefinitelyWritable(15): false
+isAutoIncrement(16): false
+isCaseSensitive(16): false
+isSearchable(16): true
+isCurrency(16): false
+isNullable(16): 1
+isSigned(16): false
+getColumnDisplaySize(16): -2147483648
+getColumnLabel(16): BL
+getColumnName(16): BL
+getTableName(16): T
+getSchemaName(16): 
+getCatalogName(16): 
+getColumnType(16): 2004
+getPrecision(16): 1073741824
+getScale(16): 0
+getColumnTypeName(16): BLOB
+isReadOnly(16): true
+isDefinitelyWritable(16): false
+getBigDecimal(1,1): 1.0
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(i,1): 1.0
+getBoolean(1): true
+getBoolean(i): true
+getByte(1): 1
+getByte(i): 1
+getBytes(1) got exception 
+Data Conversion SQLException
+getBytes(i) got exception 
+Data Conversion SQLException
+getDate(1) got exception 
+Data Conversion SQLException
+getDate(i) got exception 
+Data Conversion SQLException
+getDouble(1): 1.0
+getDouble(i): 1.0
+getFloat(1): 1.0
+getFloat(i): 1.0
+getInt(1): 1
+getInt(i): 1
+getLong(1): 1
+getLong(i): 1
+getObject(1): 1
+getObject(i): 1
+getShort(1): 1
+getShort(i): 1
+getString(1): 1
+getString(i): 1
+getTime(1) got exception 
+Data Conversion SQLException
+getTime(i) got exception 
+Data Conversion SQLException
+getTimestamp(1) got exception 
+Data Conversion SQLException
+getTimestamp(i) got exception 
+Data Conversion SQLException
+getBigDecimal(2,1): 2.0
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(s,1): 2.0
+getBoolean(2): true
+getBoolean(s): true
+getByte(2): 2
+getByte(s): 2
+getBytes(2) got exception 
+Data Conversion SQLException
+getBytes(s) got exception 
+Data Conversion SQLException
+getDate(2) got exception 
+Data Conversion SQLException
+getDate(s) got exception 
+Data Conversion SQLException
+getDouble(2): 2.0
+getDouble(s): 2.0
+getFloat(2): 2.0
+getFloat(s): 2.0
+getInt(2): 2
+getInt(s): 2
+getLong(2): 2
+getLong(s): 2
+getObject(2): 2
+getObject(s): 2
+getShort(2): 2
+getShort(s): 2
+getString(2): 2
+getString(s): 2
+getTime(2) got exception 
+Data Conversion SQLException
+getTime(s) got exception 
+Data Conversion SQLException
+getTimestamp(2) got exception 
+Data Conversion SQLException
+getTimestamp(s) got exception 
+Data Conversion SQLException
+getBigDecimal(3,1): 3.3
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(r,1): 3.3
+getBoolean(3): true
+getBoolean(r): true
+getByte(3): 3
+getByte(r): 3
+getBytes(3) got exception 
+Data Conversion SQLException
+getBytes(r) got exception 
+Data Conversion SQLException
+getDate(3) got exception 
+Data Conversion SQLException
+getDate(r) got exception 
+Data Conversion SQLException
+getDouble(3): 3.299999952316284
+getDouble(r): 3.299999952316284
+getFloat(3): 3.3
+getFloat(r): 3.3
+getInt(3): 3
+getInt(r): 3
+getLong(3): 3
+getLong(r): 3
+getObject(3): 3.3
+getObject(r): 3.3
+getShort(3): 3
+getShort(r): 3
+getString(3): 3.3
+getString(r): 3.3
+getTime(3) got exception 
+Data Conversion SQLException
+getTime(r) got exception 
+Data Conversion SQLException
+getTimestamp(3) got exception 
+Data Conversion SQLException
+getTimestamp(r) got exception 
+Data Conversion SQLException
+getBigDecimal(4,1): 4.4
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(d,1): 4.4
+getBoolean(4): true
+getBoolean(d): true
+getByte(4): 4
+getByte(d): 4
+getBytes(4) got exception 
+Data Conversion SQLException
+getBytes(d) got exception 
+Data Conversion SQLException
+getDate(4) got exception 
+Data Conversion SQLException
+getDate(d) got exception 
+Data Conversion SQLException
+getDouble(4): 4.4
+getDouble(d): 4.4
+getFloat(4): 4.4
+getFloat(d): 4.4
+getInt(4): 4
+getInt(d): 4
+getLong(4): 4
+getLong(d): 4
+getObject(4): 4.4
+getObject(d): 4.4
+getShort(4): 4
+getShort(d): 4
+getString(4): 4.4
+getString(d): 4.4
+getTime(4) got exception 
+Data Conversion SQLException
+getTime(d) got exception 
+Data Conversion SQLException
+getTimestamp(4) got exception 
+Data Conversion SQLException
+getTimestamp(d) got exception 
+Data Conversion SQLException
+getBigDecimal(5,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(dt,1) got exception 
+Data Conversion SQLException
+getBoolean(5) got exception 
+Data Conversion SQLException
+getBoolean(dt) got exception 
+Data Conversion SQLException
+getByte(5) got exception 
+Data Conversion SQLException
+getByte(dt) got exception 
+Data Conversion SQLException
+getBytes(5) got exception 
+Data Conversion SQLException
+getBytes(dt) got exception 
+Data Conversion SQLException
+getDate(5): 1990-05-05
+getDate(dt): 1990-05-05
+getDouble(5) got exception 
+Data Conversion SQLException
+getDouble(dt) got exception 
+Data Conversion SQLException
+getFloat(5) got exception 
+Data Conversion SQLException
+getFloat(dt) got exception 
+Data Conversion SQLException
+getInt(5) got exception 
+Data Conversion SQLException
+getInt(dt) got exception 
+Data Conversion SQLException
+getLong(5) got exception 
+Data Conversion SQLException
+getLong(dt) got exception 
+Data Conversion SQLException
+getObject(5): 1990-05-05
+getObject(dt): 1990-05-05
+getShort(5) got exception 
+Data Conversion SQLException
+getShort(dt) got exception 
+Data Conversion SQLException
+getString(5): 1990-05-05
+getString(dt): 1990-05-05
+getTime(5) got exception 
+Data Conversion SQLException
+getTime(dt) got exception 
+Data Conversion SQLException
+getTimestamp(5): xxxxxxFILTERED-TIMESTAMPxxxxx
+getTimestamp(dt): xxxxxxFILTERED-TIMESTAMPxxxxx
+getBigDecimal(6,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(t,1) got exception 
+Data Conversion SQLException
+getBoolean(6) got exception 
+Data Conversion SQLException
+getBoolean(t) got exception 
+Data Conversion SQLException
+getByte(6) got exception 
+Data Conversion SQLException
+getByte(t) got exception 
+Data Conversion SQLException
+getBytes(6) got exception 
+Data Conversion SQLException
+getBytes(t) got exception 
+Data Conversion SQLException
+getDate(6) got exception 
+Data Conversion SQLException
+getDate(t) got exception 
+Data Conversion SQLException
+getDouble(6) got exception 
+Data Conversion SQLException
+getDouble(t) got exception 
+Data Conversion SQLException
+getFloat(6) got exception 
+Data Conversion SQLException
+getFloat(t) got exception 
+Data Conversion SQLException
+getInt(6) got exception 
+Data Conversion SQLException
+getInt(t) got exception 
+Data Conversion SQLException
+getLong(6) got exception 
+Data Conversion SQLException
+getLong(t) got exception 
+Data Conversion SQLException
+getObject(6): 12:06:06
+getObject(t): 12:06:06
+getShort(6) got exception 
+Data Conversion SQLException
+getShort(t) got exception 
+Data Conversion SQLException
+getString(6): 12:06:06
+getString(t): 12:06:06
+getTime(6): 12:06:06
+getTime(t): 12:06:06
+getTimestamp(6): xxxxxxFILTERED-TIMESTAMPxxxxx
+getTimestamp(t): xxxxxxFILTERED-TIMESTAMPxxxxx
+getBigDecimal(7,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(ts,1) got exception 
+Data Conversion SQLException
+getBoolean(7) got exception 
+Data Conversion SQLException
+getBoolean(ts) got exception 
+Data Conversion SQLException
+getByte(7) got exception 
+Data Conversion SQLException
+getByte(ts) got exception 
+Data Conversion SQLException
+getBytes(7) got exception 
+Data Conversion SQLException
+getBytes(ts) got exception 
+Data Conversion SQLException
+getDate(7): 1990-07-07
+getDate(ts): 1990-07-07
+getDouble(7) got exception 
+Data Conversion SQLException
+getDouble(ts) got exception 
+Data Conversion SQLException
+getFloat(7) got exception 
+Data Conversion SQLException
+getFloat(ts) got exception 
+Data Conversion SQLException
+getInt(7) got exception 
+Data Conversion SQLException
+getInt(ts) got exception 
+Data Conversion SQLException
+getLong(7) got exception 
+Data Conversion SQLException
+getLong(ts) got exception 
+Data Conversion SQLException
+getObject(7): xxxxxxFILTERED-TIMESTAMPxxxxx
+getObject(ts): xxxxxxFILTERED-TIMESTAMPxxxxx
+getShort(7) got exception 
+Data Conversion SQLException
+getShort(ts) got exception 
+Data Conversion SQLException
+getString(7): xxxxxxFILTERED-TIMESTAMPxxxxx
+getString(ts): xxxxxxFILTERED-TIMESTAMPxxxxx
+getTime(7): 07:07:07
+getTime(ts): 07:07:07
+getTimestamp(7): xxxxxxFILTERED-TIMESTAMPxxxxx
+getTimestamp(ts): xxxxxxFILTERED-TIMESTAMPxxxxx
+getBigDecimal(8,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(c,1) got exception 
+Data Conversion SQLException
+getBoolean(8): true
+getBoolean(c): true
+getByte(8) got exception 
+Data Conversion SQLException
+getByte(c) got exception 
+Data Conversion SQLException
+getBytes(8) got exception 
+Data Conversion SQLException
+getBytes(c) got exception 
+Data Conversion SQLException
+getDate(8) got exception 
+Data Conversion SQLException
+getDate(c) got exception 
+Data Conversion SQLException
+getDouble(8) got exception 
+Data Conversion SQLException
+getDouble(c) got exception 
+Data Conversion SQLException
+getFloat(8) got exception 
+Data Conversion SQLException
+getFloat(c) got exception 
+Data Conversion SQLException
+getInt(8) got exception 
+Data Conversion SQLException
+getInt(c) got exception 
+Data Conversion SQLException
+getLong(8) got exception 
+Data Conversion SQLException
+getLong(c) got exception 
+Data Conversion SQLException
+getObject(8): eight     
+getObject(c): eight     
+getShort(8) got exception 
+Data Conversion SQLException
+getShort(c) got exception 
+Data Conversion SQLException
+getString(8): eight     
+getString(c): eight     
+getTime(8) got exception 
+Data Conversion SQLException
+getTime(c) got exception 
+Data Conversion SQLException
+getTimestamp(8) got exception 
+Data Conversion SQLException
+getTimestamp(c) got exception 
+Data Conversion SQLException
+getBigDecimal(9,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(v,1) got exception 
+Data Conversion SQLException
+getBoolean(9): true
+getBoolean(v): true
+getByte(9) got exception 
+Data Conversion SQLException
+getByte(v) got exception 
+Data Conversion SQLException
+getBytes(9) got exception 
+Data Conversion SQLException
+getBytes(v) got exception 
+Data Conversion SQLException
+getDate(9) got exception 
+Data Conversion SQLException
+getDate(v) got exception 
+Data Conversion SQLException
+getDouble(9) got exception 
+Data Conversion SQLException
+getDouble(v) got exception 
+Data Conversion SQLException
+getFloat(9) got exception 
+Data Conversion SQLException
+getFloat(v) got exception 
+Data Conversion SQLException
+getInt(9) got exception 
+Data Conversion SQLException
+getInt(v) got exception 
+Data Conversion SQLException
+getLong(9) got exception 
+Data Conversion SQLException
+getLong(v) got exception 
+Data Conversion SQLException
+getObject(9): nine
+getObject(v): nine
+getShort(9) got exception 
+Data Conversion SQLException
+getShort(v) got exception 
+Data Conversion SQLException
+getString(9): nine
+getString(v): nine
+getTime(9) got exception 
+Data Conversion SQLException
+getTime(v) got exception 
+Data Conversion SQLException
+getTimestamp(9) got exception 
+Data Conversion SQLException
+getTimestamp(v) got exception 
+Data Conversion SQLException
+getBigDecimal(10,1): 10.1
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(dc,1): 10.1
+getBoolean(10): true
+getBoolean(dc): true
+getByte(10): 10
+getByte(dc): 10
+getBytes(10) got exception 
+Data Conversion SQLException
+getBytes(dc) got exception 
+Data Conversion SQLException
+getDate(10) got exception 
+Data Conversion SQLException
+getDate(dc) got exception 
+Data Conversion SQLException
+getDouble(10): 10.1
+getDouble(dc): 10.1
+getFloat(10): 10.1
+getFloat(dc): 10.1
+getInt(10): 10
+getInt(dc): 10
+getLong(10): 10
+getLong(dc): 10
+getObject(10): 10.10
+getObject(dc): 10.10
+getShort(10): 10
+getShort(dc): 10
+getString(10): 10.10
+getString(dc): 10.10
+getTime(10) got exception 
+Data Conversion SQLException
+getTime(dc) got exception 
+Data Conversion SQLException
+getTimestamp(10) got exception 
+Data Conversion SQLException
+getTimestamp(dc) got exception 
+Data Conversion SQLException
+getBigDecimal(11,1): 11.0
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(bi,1): 11.0
+getBoolean(11): true
+getBoolean(bi): true
+getByte(11): 11
+getByte(bi): 11
+getBytes(11) got exception 
+Data Conversion SQLException
+getBytes(bi) got exception 
+Data Conversion SQLException
+getDate(11) got exception 
+Data Conversion SQLException
+getDate(bi) got exception 
+Data Conversion SQLException
+getDouble(11): 11.0
+getDouble(bi): 11.0
+getFloat(11): 11.0
+getFloat(bi): 11.0
+getInt(11): 11
+getInt(bi): 11
+getLong(11): 11
+getLong(bi): 11
+getObject(11): 11
+getObject(bi): 11
+getShort(11): 11
+getShort(bi): 11
+getString(11): 11
+getString(bi): 11
+getTime(11) got exception 
+Data Conversion SQLException
+getTime(bi) got exception 
+Data Conversion SQLException
+getTimestamp(11) got exception 
+Data Conversion SQLException
+getTimestamp(bi) got exception 
+Data Conversion SQLException
+getBigDecimal(12,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(cbd,1) got exception 
+Data Conversion SQLException
+getBoolean(12) got exception 
+Data Conversion SQLException
+getBoolean(cbd) got exception 
+Data Conversion SQLException
+getByte(12) got exception 
+Data Conversion SQLException
+getByte(cbd) got exception 
+Data Conversion SQLException
+getBytes(12): 0x007400770065006C0076
+getBytes(cbd): 0x007400770065006C0076
+getDate(12) got exception 
+Data Conversion SQLException
+getDate(cbd) got exception 
+Data Conversion SQLException
+getDouble(12) got exception 
+Data Conversion SQLException
+getDouble(cbd) got exception 
+Data Conversion SQLException
+getFloat(12) got exception 
+Data Conversion SQLException
+getFloat(cbd) got exception 
+Data Conversion SQLException
+getInt(12) got exception 
+Data Conversion SQLException
+getInt(cbd) got exception 
+Data Conversion SQLException
+getLong(12) got exception 
+Data Conversion SQLException
+getLong(cbd) got exception 
+Data Conversion SQLException
+getObject(12) is ok
+getObject(cbd) is ok 
+getShort(12) got exception 
+Data Conversion SQLException
+getShort(cbd) got exception 
+Data Conversion SQLException
+getString(12): 007400770065006c0076
+getString(cbd): 007400770065006c0076
+getTime(12) got exception 
+Data Conversion SQLException
+getTime(cbd) got exception 
+Data Conversion SQLException
+getTimestamp(12) got exception 
+Data Conversion SQLException
+getTimestamp(cbd) got exception 
+Data Conversion SQLException
+getBigDecimal(13,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(vbd,1) got exception 
+Data Conversion SQLException
+getBoolean(13) got exception 
+Data Conversion SQLException
+getBoolean(vbd) got exception 
+Data Conversion SQLException
+getByte(13) got exception 
+Data Conversion SQLException
+getByte(vbd) got exception 
+Data Conversion SQLException
+getBytes(13): 0x0033007400650065006E
+getBytes(vbd): 0x0033007400650065006E
+getDate(13) got exception 
+Data Conversion SQLException
+getDate(vbd) got exception 
+Data Conversion SQLException
+getDouble(13) got exception 
+Data Conversion SQLException
+getDouble(vbd) got exception 
+Data Conversion SQLException
+getFloat(13) got exception 
+Data Conversion SQLException
+getFloat(vbd) got exception 
+Data Conversion SQLException
+getInt(13) got exception 
+Data Conversion SQLException
+getInt(vbd) got exception 
+Data Conversion SQLException
+getLong(13) got exception 
+Data Conversion SQLException
+getLong(vbd) got exception 
+Data Conversion SQLException
+getObject(13) is ok
+getObject(vbd) is ok 
+getShort(13) got exception 
+Data Conversion SQLException
+getShort(vbd) got exception 
+Data Conversion SQLException
+getString(13): 0033007400650065006e
+getString(vbd): 0033007400650065006e
+getTime(13) got exception 
+Data Conversion SQLException
+getTime(vbd) got exception 
+Data Conversion SQLException
+getTimestamp(13) got exception 
+Data Conversion SQLException
+getTimestamp(vbd) got exception 
+Data Conversion SQLException
+getBigDecimal(14,1) got exception 
+Data Conversion SQLException
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(lvbd,1) got exception 
+Data Conversion SQLException
+getBoolean(14) got exception 
+Data Conversion SQLException
+getBoolean(lvbd) got exception 
+Data Conversion SQLException
+getByte(14) got exception 
+Data Conversion SQLException
+getByte(lvbd) got exception 
+Data Conversion SQLException
+getBytes(14): 0x0034007400650065006E
+getBytes(lvbd): 0x0034007400650065006E
+getDate(14) got exception 
+Data Conversion SQLException
+getDate(lvbd) got exception 
+Data Conversion SQLException
+getDouble(14) got exception 
+Data Conversion SQLException
+getDouble(lvbd) got exception 
+Data Conversion SQLException
+getFloat(14) got exception 
+Data Conversion SQLException
+getFloat(lvbd) got exception 
+Data Conversion SQLException
+getInt(14) got exception 
+Data Conversion SQLException
+getInt(lvbd) got exception 
+Data Conversion SQLException
+getLong(14) got exception 
+Data Conversion SQLException
+getLong(lvbd) got exception 
+Data Conversion SQLException
+getObject(14) is ok
+getObject(lvbd) is ok 
+getShort(14) got exception 
+Data Conversion SQLException
+getShort(lvbd) got exception 
+Data Conversion SQLException
+getString(14): 0034007400650065006e
+getString(lvbd): 0034007400650065006e
+getTime(14) got exception 
+Data Conversion SQLException
+getTime(lvbd) got exception 
+Data Conversion SQLException
+getTimestamp(14) got exception 
+Data Conversion SQLException
+getTimestamp(lvbd) got exception 
+Data Conversion SQLException
+getBigDecimal(15,1): null
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(cl,1): null
+getBoolean(15): false
+getBoolean(cl): false
+getByte(15): 0
+getByte(cl): 0
+getBytes(15): null
+getBytes(cl): null
+getDate(15): null
+getDate(cl): null
+getDouble(15): 0.0
+getDouble(cl): 0.0
+getFloat(15): 0.0
+getFloat(cl): 0.0
+getInt(15): 0
+getInt(cl): 0
+getLong(15): 0
+getLong(cl): 0
+getObject(15) is ok
+getObject(cl) is ok 
+getShort(15): 0
+getShort(cl): 0
+getString(15): null
+getString(cl): null
+getTime(15): null
+getTime(cl): null
+getTimestamp(15): null
+getTimestamp(cl): null
+getBigDecimal(16,1): null
+beetle 5328 - JCC returns incorrect scale for getBigDecimal(String,int)
+getBigDecimal(bl,1): null
+getBoolean(16): false
+getBoolean(bl): false
+getByte(16): 0
+getByte(bl): 0
+getBytes(16): null
+getBytes(bl): null
+getDate(16): null
+getDate(bl): null
+getDouble(16): 0.0
+getDouble(bl): 0.0
+getFloat(16): 0.0
+getFloat(bl): 0.0
+getInt(16): 0
+getInt(bl): 0
+getLong(16): 0
+getLong(bl): 0
+getObject(16) is ok
+getObject(bl) is ok 
+getShort(16): 0
+getShort(bl): 0
+getString(16): null
+getString(bl): null
+getTime(16): null
+getTime(bl): null
+getTimestamp(16): null
+getTimestamp(bl): null
+rs.next() on closed result set got exception 
+Result Set Closed Exception
+just auto commit
+  bug4810 1, 1
+  bug4810 1, 2
+  LOCK TABLE
+Locks are held
+  bug4810 1, 3
+  LOCK TABLE
+Locks are held
+  LOCK TABLE
+commit with auto commit
+  bug4810 1, 1
+  bug4810 1, 2
+commit
+  LOCK TABLE
+Result Set Closed Exception
+  LOCK TABLE
+  LOCK TABLE
+rollback with auto commit
+  bug4810 1, 1
+  bug4810 1, 2
+rollback
+  LOCK TABLE
+Result Set Closed Exception
+  LOCK TABLE
+  LOCK TABLE
+START testMutableValues
+CHECKING on getXXX()
+ROW 1
+ROW 2
+ROW 3
+OK EQUALITY OBJECT RETURNED column 4 existing 1
+OK EQUALITY OBJECT RETURNED column 5 existing 1
+OK EQUALITY OBJECT RETURNED column 6 existing 1
+CHECKING on getObject()
+ROW 1
+ROW 2
+ROW 3
+OK EQUALITY OBJECT RETURNED column 4 existing 1
+OK EQUALITY OBJECT RETURNED column 5 existing 1
+OK EQUALITY OBJECT RETURNED column 6 existing 1
+COMPLETE testMutableValues
+Test resultset finished

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out?view=diff&rev=124918&p1=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out&r1=124917&p2=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out&r2=124918
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out	(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/savepointJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -40,18 +40,16 @@
 Expected Exception is Multiple or conflicting keywords involving the 'ON ROLLBACK RETAIN CURSORS' clause are present.
 Expected Exception is Multiple or conflicting keywords involving the 'ON ROLLBACK RETAIN LOCKS' clause are present.
 Expected Exception is Multiple or conflicting keywords involving the 'UNIQUE' clause are present.
-Test 17 No nested savepoints allowed when using SQL to set savepoints. This is to match DB2 LUW behavior
+Test 17 No nested savepoints allowed when using SQL to set savepoints.
 Test 17a Test with UNIQUE clause.
 Expected Exception is The maximum number of savepoints has been reached. 
 Test 17b Test without UNIQUE clause.
 Since no nesting is allowed, skipping UNIQUE still gives error for trying to define another savepoint
 Expected Exception is The maximum number of savepoints has been reached. 
 Test 18 No nested SQL savepoints allowed inside JDBC savepoint.
-This is to match DB2 LUW behavior
 Following SQL savepoint will fail because we are trying to nest it inside JDBC savepoint
 Expected Exception is The maximum number of savepoints has been reached. 
 Test 19 No nested SQL savepoints allowed inside SQL savepoint.
-This is to match DB2 LUW behavior
 Following SQL savepoint will fail because we are trying to nest it inside SQL savepoint
 Expected Exception is The maximum number of savepoints has been reached. 
 Test 20 Rollback of SQL savepoint works same as rollback of JDBC savepoint.

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/scrollCursors1.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/scrollCursors1.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/scrollCursors1.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,649 @@
+ij> -- create some tables
+create table t1(c50 char(50), i int);
+0 rows inserted/updated/deleted
+ij> create table t2(c50 char(50), i int);
+0 rows inserted/updated/deleted
+ij> -- populate tables
+insert into t1 values ('b', 2), ('c', 3), ('d', 4), ('e', 5),
+		      ('f', 6), ('g', 7), ('h', 8), ('i', 9),
+		      ('j', 10), ('k', 11), ('l', 12), ('m', 13);
+12 rows inserted/updated/deleted
+ij> autocommit off;
+ij> -- negative
+----- position on forward only cursor
+get cursor c1 as 'select i from t1';
+ij> getcurrentrownumber c1;
+IJ ERROR: GETCURRENTROWNUMBER is not allowed on a forward only cursor.
+ij> first c1;
+IJ ERROR: FIRST is not allowed on a forward only cursor.
+ij> last c1;
+IJ ERROR: LAST is not allowed on a forward only cursor.
+ij> previous c1;
+IJ ERROR: PREVIOUS is not allowed on a forward only cursor.
+ij> next c1;
+I          
+-----
+2          
+ij> before first c1;
+IJ ERROR: BEFORE FIRST is not allowed on a forward only cursor.
+ij> after last c1;
+IJ ERROR: AFTER LAST is not allowed on a forward only cursor.
+ij> absolute 1 c1;
+IJ ERROR: ABSOLUTE is not allowed on a forward only cursor.
+ij> relative 1 c1;
+IJ ERROR: RELATIVE is not allowed on a forward only cursor.
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- 0 is invalid value for absolute
+absolute 0 c1;
+IJ ERROR: 0 is an invalid value for ABSOLUTE <integer> <cursorname>
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- relative is invalid when not positioned on a row
+relative 0 c1;
+ERROR (no SQLState): Cursor is Not on a Valid Row
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- relative is invalid when not positioned on a row
+relative 2 c1;
+ERROR (no SQLState): Cursor is Not on a Valid Row
+ij> close c1;
+ij> -- positive
+----- test positioning
+get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- 2
+first c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> -- 3
+next c1;
+C50 |I          
+-----
+c |3          
+ij> getcurrentrownumber c1;
+2
+ij> -- 2
+first c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> -- 3
+next c1;
+C50 |I          
+-----
+c |3          
+ij> getcurrentrownumber c1;
+2
+ij> -- 4
+next c1;
+C50 |I          
+-----
+d |4          
+ij> getcurrentrownumber c1;
+3
+ij> -- 2
+first c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> -- 3
+next c1;
+C50 |I          
+-----
+c |3          
+ij> getcurrentrownumber c1;
+2
+ij> -- null
+after last c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- beetle 5509
+----- null
+next c1;
+No current row
+ij> -- beetle 5509
+getcurrentrownumber c1;
+0
+ij> -- beetle 5509
+----- 13
+previous c1;
+C50 |I          
+-----
+m |13         
+ij> -- beetle 5509
+getcurrentrownumber c1;
+12
+ij> -- beetle 5509
+----- 12
+previous c1;
+C50 |I          
+-----
+l |12         
+ij> -- beetle 5509
+getcurrentrownumber c1;
+11
+ij> -- 13
+last c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+12
+ij> -- null
+before first c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 2
+next c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> -- 13
+absolute 12 c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+12
+ij> -- 3
+absolute -11 c1;
+C50 |I          
+-----
+c |3          
+ij> getcurrentrownumber c1;
+2
+ij> -- null
+absolute 13 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- null
+absolute -13 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- absolute -1 should be last row
+absolute -1 c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+12
+ij> close c1;
+ij> -- do last first
+get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- 13
+last c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+12
+ij> -- null
+next c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 13
+last c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+12
+ij> -- 12
+previous c1;
+C50 |I          
+-----
+l |12         
+ij> getcurrentrownumber c1;
+11
+ij> -- 2
+first c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> -- null
+previous c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 2
+next c1;
+C50 |I          
+-----
+b |2          
+ij> getcurrentrownumber c1;
+1
+ij> close c1;
+ij> -- do after last first
+get scroll insensitive cursor c1 as 'select * from t1';
+ij> -- null
+after last c1;
+No current row
+ij> -- 13
+previous c1;
+C50 |I          
+-----
+m |13         
+ij> -- 12
+previous c1;
+C50 |I          
+-----
+l |12         
+ij> close c1;
+ij> -- go to next to last row, then do next
+get scroll insensitive cursor c1 as 'select * from t1 where i >= 11';
+ij> -- 11
+next c1;
+C50 |I          
+-----
+k |11         
+ij> getcurrentrownumber c1;
+1
+ij> -- 12
+next c1;
+C50 |I          
+-----
+l |12         
+ij> getcurrentrownumber c1;
+2
+ij> -- 13
+last c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+3
+ij> -- 12
+previous c1;
+C50 |I          
+-----
+l |12         
+ij> getcurrentrownumber c1;
+2
+ij> -- null
+after last c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 13
+previous c1;
+C50 |I          
+-----
+m |13         
+ij> close c1;
+ij> -- start at after last
+get scroll insensitive cursor c1 as 'select * from t1 where i >= 11';
+ij> -- null
+after last c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 13
+previous c1;
+C50 |I          
+-----
+m |13         
+ij> getcurrentrownumber c1;
+3
+ij> close c1;
+ij> -- use absolute to get rows before
+----- scan would get to them
+get scroll insensitive cursor c1 as 'select i from t1';
+ij> -- 6
+absolute 5 c1;
+I          
+-----
+6          
+ij> getcurrentrownumber c1;
+5
+ij> -- 9
+absolute -5 c1;
+I          
+-----
+9          
+ij> getcurrentrownumber c1;
+8
+ij> -- 6
+absolute 5 c1;
+I          
+-----
+6          
+ij> getcurrentrownumber c1;
+5
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select i from t1';
+ij> -- null
+absolute 13 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 13
+previous c1;
+I          
+-----
+13         
+ij> getcurrentrownumber c1;
+12
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select i from t1';
+ij> -- null
+absolute -13 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 2
+next c1;
+I          
+-----
+2          
+ij> getcurrentrownumber c1;
+1
+ij> close c1;
+ij> -- test relative implementation
+get scroll insensitive cursor c1 as 'select i from t1';
+ij> -- 2
+first c1;
+I          
+-----
+2          
+ij> getcurrentrownumber c1;
+1
+ij> -- 13
+relative 11 c1;
+I          
+-----
+13         
+ij> getcurrentrownumber c1;
+12
+ij> -- null
+relative 1 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> -- 13
+last c1;
+I          
+-----
+13         
+ij> getcurrentrownumber c1;
+12
+ij> -- 2
+relative -11 c1;
+I          
+-----
+2          
+ij> getcurrentrownumber c1;
+1
+ij> close c1;
+ij> -- scroll sensitive cursor becomes scroll insensitive
+commit;
+ij> get scroll sensitive cursor c1 as 'select i from t1';
+ij> first c1;
+I          
+-----
+2          
+ij> next c1;
+I          
+-----
+3          
+ij> update t1 set i = 666 where i = 2;
+1 row inserted/updated/deleted
+ij> first c1;
+I          
+-----
+2          
+ij> rollback;
+ij> -- verify that statement cache works
+----- correctly with scroll and forward only
+----- cursors on same query text
+get scroll insensitive cursor c1 as 'select i from t1';
+ij> get cursor c2 as 'select i from t1';
+ij> first c1;
+I          
+-----
+2          
+ij> next c2;
+I          
+-----
+2          
+ij> first c2;
+IJ ERROR: FIRST is not allowed on a forward only cursor.
+ij> close c1;
+ij> close c2;
+ij> -- first, last, etc. on empty result set
+get scroll insensitive cursor c1 as 'select i from t1 where 1=0';
+ij> first c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> previous c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> next c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> last c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> next c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> previous c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> absolute 1 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> absolute -1 c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select i from t1 where 1=0';
+ij> after last c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> previous c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> before first c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> next c1;
+No current row
+ij> getcurrentrownumber c1;
+0
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select i from t1 where 1=0';
+ij> absolute 1 c1;
+No current row
+ij> absolute -1 c1;
+No current row
+ij> close c1;
+ij> get scroll insensitive cursor c1 as 'select i from t1 where 1=0';
+ij> absolute -1 c1;
+No current row
+ij> absolute 1 c1;
+No current row
+ij> close c1;
+ij> autocommit on;
+ij> get scroll insensitive with hold cursor c1 as 'select i from t1 where 1=0';
+ij> first c1;
+No current row
+ij> first c1;
+No current row
+ij> last c1;
+No current row
+ij> last c1;
+No current row
+ij> absolute 1 c1;
+No current row
+ij> absolute -1 c1;
+No current row
+ij> before first c1;
+No current row
+ij> after last c1;
+No current row
+ij> previous c1;
+No current row
+ij> next c1;
+No current row
+ij> -- beetle 5510
+next c1;
+No current row
+ij> close c1;
+ij> -- cursor on a sort
+get scroll insensitive cursor c1 as 'select * from t1 order by i desc';
+ij> -- 2
+last c1;
+C50 |I          
+-----
+b |2          
+ij> -- 13
+first c1;
+C50 |I          
+-----
+m |13         
+ij> -- 2
+relative 11 c1;
+C50 |I          
+-----
+b |2          
+ij> -- 3
+previous c1;
+C50 |I          
+-----
+c |3          
+ij> close c1;
+ij> -- RTS
+call SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);
+Statement executed.
+ij> maximumdisplaywidth 2000;
+ij> get scroll insensitive cursor c1 as 'select * from t1';
+ij> last c1;
+C50 |I          
+-----
+m |13         
+ij> first c1;
+C50 |I          
+-----
+b |2          
+ij> next c1;
+C50 |I          
+-----
+c |3          
+ij> close c1;
+ij> values SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS();
+1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
+-----
+Statement Name: 
+	SQL_CURSH200C3
+Statement Text: 
+	select * from t1
+Parse Time: 0
+Bind Time: 0
+Optimize Time: 0
+Generate Time: 0
+Compile Time: 0
+Execute Time: 0
+Begin Compilation Timestamp : null
+End Compilation Timestamp : null
+Begin Execution Timestamp : null
+End Execution Timestamp : null
+Statement Execution Plan Text: 
+Scroll Insensitive ResultSet:
+Number of opens = 1
+Rows seen = 11
+Number of reads from hash table = 15
+Number of writes to hash table = 12
+	constructor time (milliseconds) = 0
+	open time (milliseconds) = 0
+	next time (milliseconds) = 0
+	close time (milliseconds) = 0
+Source result set:
+	Table Scan ResultSet for T1 at read committed isolation level using instantaneous share row locking chosen by the optimizer
+	Number of opens = 1
+	Rows seen = 12
+	Rows filtered = 0
+	Fetch Size = 16
+		constructor time (milliseconds) = 0
+		open time (milliseconds) = 0
+		next time (milliseconds) = 0
+		close time (milliseconds) = 0
+		next time in milliseconds/row = 0
+	scan information: 
+		Bit set of columns fetched=All
+		Number of columns fetched=2
+		Number of pages visited=1
+		Number of rows qualified=12
+		Number of rows visited=12
+		Scan type=heap
+		start position: 
+null		stop position: 
+null		qualifiers:
+None
+ij> get scroll insensitive cursor c1 as 'select * from t1';
+ij> close c1;
+ij> -- for following set of tests, setting the holdability over commit to false for this connection since that is what we want to test below
+----- Using this rather than passing with nohold to cursor statement because this test also runs in jdk13 and lower and there is no way to
+----- set the holdability using jdbc api in those jdks (unless trying that through a jdbc program where one can use reflection to set holdability
+----- in jdk131)
+NoholdForConnection;
+ij> -- beetle 4551 - insensitive cursor uses estimated row count which might be
+----- pessimistic and will get out of memory error
+create table big(a int generated always as identity (start with 1, increment by 1));
+0 rows inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> insert into big values(default);
+1 row inserted/updated/deleted
+ij> get scroll insensitive cursor s1 as
+'select * from big b1 left outer join  big b2 on b1.a = b2.a left outer join  big b3 on b2.a = b3.a left outer join big b4 on b3.a = b4.a left outer join (big b5 left outer join (big b6 left outer join (big b7 left outer join big b8 on b7.a = b8.a) on b6.a=b7.a) on b5.a = b6.a) on b4.a = b5.a';
+ij> -- clean up
+drop table t1;
+0 rows inserted/updated/deleted
+ij> drop table t2;
+0 rows inserted/updated/deleted
+ij> drop table big;
+0 rows inserted/updated/deleted
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,205 @@
+ij> --
+----- Specifically test SECURE users and various authentication
+----- service/scheme configuration for different databases.
+-----
+----- Configure the 6 different databases with for each
+----- of them, a different authentication scheme.
+-----
+----- 'wombat'				- default DERBY scheme &
+-----						  users known at system level.
+-----						  Some authorization restriction.
+----- 'guestSchemeDB'		- No authentication
+----- 'derbySchemeDB'	- BUILTIN authentication
+-----						  & some db authorization restriction.
+----- 'simpleSchemeDB'		- BUILTIN authentication and
+-----						  some db authorization restriction.
+-----                        (was the old Cloudscape 1.5 simple scheme)
+-----
+----- let's create all the dbs and configure them.
+----- we will authenticate using a default system user that we
+----- have configured.
+----- A typical bad guy who cannot access any database but guest
+----- is Jamie.
+-----
+-----
+----- 'guestSchemeDB' database authentication/authorization config
+-----
+connect 'guestSchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION1)> -- override requireAuthentication to be turned OFF at the database level
+autocommit off;
+ij(CONNECTION1)> prepare p1 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION1)> execute p1 using 'values(''derby.connection.requireAuthentication'', ''false'')';
+Statement executed.
+ij(CONNECTION1)> commit;
+ij(CONNECTION1)> autocommit on;
+ij(CONNECTION1)> --
+----- 'derbySchemeDB' database authentication/authorization config
+-----
+connect 'derbySchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION2)> autocommit off;
+ij(CONNECTION2)> prepare p2 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION2)> execute p2 using 'values(''derby.authentication.provider'', ''BUILTIN'')';
+Statement executed.
+ij(CONNECTION2)> -- let's define users in this database (other than the ones
+----- known at the system level. This is for the test
+----- These 3 users will only be known in this database
+execute p2 using 'values(''derby.user.martin'', ''obfuscateIt'')';
+Statement executed.
+ij(CONNECTION2)> execute p2 using 'values(''derby.user.dan'', ''makeItFaster'')';
+Statement executed.
+ij(CONNECTION2)> execute p2 using 'values(''derby.user.mamta'', ''ieScape'')';
+Statement executed.
+ij(CONNECTION2)> execute p2 using 'values(''derby.database.propertiesOnly'', ''true'')';
+Statement executed.
+ij(CONNECTION2)> commit;
+ij(CONNECTION2)> autocommit on;
+ij(CONNECTION2)> --
+----- 'simpleSchemeDB' database authentication/authorization config
+-----
+connect 'simpleSchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION3)> autocommit off;
+ij(CONNECTION3)> prepare p5 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION3)> execute p5 using 'values(''derby.authentication.provider'', ''BUILTIN'')';
+Statement executed.
+ij(CONNECTION3)> --
+-----  only allow these 3 users
+execute p5 using 'values(''derby.database.fullAccessUsers'', ''system,jeff,howardR'')';
+Statement executed.
+ij(CONNECTION3)> execute p5 using 'values(''derby.database.readOnlyAccessUsers'', ''francois'')';
+Statement executed.
+ij(CONNECTION3)> -- no access to Jamie only as he's a well known hooligan
+execute p5 using 'values(''derby.database.defaultConnectionMode'', ''noAccess'')';
+Statement executed.
+ij(CONNECTION3)> commit;
+ij(CONNECTION3)> autocommit on;
+ij(CONNECTION3)> --
+----- Shutdown the system for database properties to take effect
+-----
+disconnect all;
+ij> connect 'wombat;user=system;password=manager;shutdown=true';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij> connect 'guestSchemeDB;user=system;password=manager;shutdown=true';
+ERROR 08006: guestSchemeDB08006.DDatabase 'guestSchemeDB' shutdown.((server log XXX)
+ij> connect 'derbySchemeDB;user=system;password=manager;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'simpleSchemeDB;user=system;password=manager;shutdown=true';
+ERROR 08006: simpleSchemeDB08006.DDatabase 'simpleSchemeDB' shutdown.((server log XXX)
+ij> disconnect all;
+ij> -- shuting down the system causes IJ to loose the protocol, therefore
+----- we'd be doomed :(
+#connect ';shutdown=true;user=system;password=manager';
+IJ ERROR: Unable to establish connection
+ij> -- 1) Valid authentication & authorization requests/ops
+----- 
+connect 'wombat;create=true;user=kreg;password=IwasBornReady';
+ij> connect 'wombat;user=jeff;password=homeRun';
+ij(CONNECTION1)> connect 'wombat;user=howardR;password=takeItEasy';
+ij(CONNECTION2)> connect 'wombat;user=francois;password=paceesalute';
+ij(CONNECTION3)> -- Invalid ones:
+connect 'wombat;user=Jamie;password=theHooligan';
+ij(CONNECTION4)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;create=true;user=kreg;password=IwasBornReady
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=homeRun
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=takeItEasy
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION4* - 	jdbc:derby:net://localhost:1527/wombat;user=Jamie;password=theHooligan
+* = current connection
+ij(CONNECTION4)> connect 'guestSchemeDB;user=kreg;password=IwasBornReady';
+ij(CONNECTION5)> connect 'guestSchemeDB;user=jeff;password=homeRun';
+ij(CONNECTION6)> connect 'guestSchemeDB;user=howardR;password=takeItEasy';
+ij(CONNECTION7)> connect 'guestSchemeDB;user=francois;password=paceesalute';
+ij(CONNECTION8)> -- Invalid ones:
+connect 'guestSchemeDB;user=Jamie;password=theHooligan';
+ij(CONNECTION9)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;create=true;user=kreg;password=IwasBornReady
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=homeRun
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=takeItEasy
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/wombat;user=Jamie;password=theHooligan
+CONNECTION5 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=kreg;password=IwasBornReady
+CONNECTION6 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=jeff;password=homeRun
+CONNECTION7 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=howardR;password=takeItEasy
+CONNECTION8 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=francois;password=paceesalute
+CONNECTION9* - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=Jamie;password=theHooligan
+* = current connection
+ij(CONNECTION9)> connect 'derbySchemeDB;user=mamta;password=ieScape';
+ij(CONNECTION10)> connect 'derbySchemeDB;user=dan;password=makeItFaster';
+ij(CONNECTION11)> connect 'derbySchemeDB;user=martin;password=obfuscateIt';
+ij(CONNECTION12)> -- Invalid ones:
+connect 'derbySchemeDB;user=Jamie;password=theHooligan';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION12)> connect 'derbySchemeDB;user=francois;password=paceesalute';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION12)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;create=true;user=kreg;password=IwasBornReady
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=homeRun
+CONNECTION10 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION11 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION12* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=takeItEasy
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/wombat;user=Jamie;password=theHooligan
+CONNECTION5 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=kreg;password=IwasBornReady
+CONNECTION6 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=jeff;password=homeRun
+CONNECTION7 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=howardR;password=takeItEasy
+CONNECTION8 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=francois;password=paceesalute
+CONNECTION9 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=Jamie;password=theHooligan
+* = current connection
+ij(CONNECTION12)> connect 'simpleSchemeDB;user=jeff;password=homeRun';
+ij(CONNECTION13)> connect 'simpleSchemeDB;user=howardR;password=takeItEasy';
+ij(CONNECTION14)> connect 'simpleSchemeDB;user=francois;password=paceesalute';
+ij(CONNECTION15)> -- Read-only user
+create table t1 (c1 int);
+ERROR 25503: DDL is not permitted for a read-only connection, user or database.
+ij(CONNECTION15)> -- Invalid ones:
+connect 'simpleSchemeDB;user=Jamie;password=theHooligan';
+ERROR 04501: 04501.CDatabase connection refused.((server log XXX)
+ij(CONNECTION15)> connect 'simpleSchemeDB;user=dan;password=makeItFaster';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION15)> connect 'simpleSchemeDB;user=francois;password=corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION15)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;create=true;user=kreg;password=IwasBornReady
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=homeRun
+CONNECTION10 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION11 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION12 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+CONNECTION13 - 	jdbc:derby:net://localhost:1527/simpleSchemeDB;user=jeff;password=homeRun
+CONNECTION14 - 	jdbc:derby:net://localhost:1527/simpleSchemeDB;user=howardR;password=takeItEasy
+CONNECTION15* - 	jdbc:derby:net://localhost:1527/simpleSchemeDB;user=francois;password=paceesalute
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=takeItEasy
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/wombat;user=Jamie;password=theHooligan
+CONNECTION5 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=kreg;password=IwasBornReady
+CONNECTION6 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=jeff;password=homeRun
+CONNECTION7 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=howardR;password=takeItEasy
+CONNECTION8 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=francois;password=paceesalute
+CONNECTION9 - 	jdbc:derby:net://localhost:1527/guestSchemeDB;user=Jamie;password=theHooligan
+* = current connection
+ij(CONNECTION15)> disconnect all;
+ij> show connections;
+No connections available.
+ij> -- Database shutdown - check user - should fail
+connect 'derbySchemeDB;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> show connections;
+No connections available.
+ij> -- Database shutdown - check user - should succeed
+connect 'wombat;user=jeff;password=homeRun;shutdown=true';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij> connect 'guestSchemeDB;user=kreg;password=IwasBornReady;shutdown=true';
+ERROR 08006: guestSchemeDB08006.DDatabase 'guestSchemeDB' shutdown.((server log XXX)
+ij> connect 'derbySchemeDB;user=mamta;password=ieScape;shutdown=true';
+ERROR 08006: derbySchemeDB08006.DDatabase 'derbySchemeDB' shutdown.((server log XXX)
+ij> connect 'simpleSchemeDB;user=jeff;password=homeRun;shutdown=true';
+ERROR 08006: simpleSchemeDB08006.DDatabase 'simpleSchemeDB' shutdown.((server log XXX)
+ij> show connections;
+No connections available.
+ij> -- Derby system shutdown - check user - should fail
+connect ';user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> disconnect all;
+ij> -- Derby system shutdown - check user - should succeed
+connect ';user=system;password=manager;shutdown=true';
+ERROR XJ015: XJ015.MDerby system shutdown.((server log XXX)
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers1.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers1.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsers1.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,41 @@
+ij> --
+----- Negative test for SECURE users. This tries to authenticate against an LDAP
+----- server on a machine which is not accessible/doesn't exist.
+-----
+----- 'ldapSchemeDB'		- LDAP authentication (on NT thru LDAP)
+----- let's create the db and configure it.
+----- we will authenticate using a default system user that we have configured.
+-----
+----- 'ldapSchemeDB' database authentication/authorization config
+-----
+connect 'ldapSchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION1)> autocommit off;
+ij(CONNECTION1)> prepare p1 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION1)> execute p1 using 'values(''derby.authentication.provider'', ''LDAP'')';
+Statement executed.
+ij(CONNECTION1)> -- there is no such machine as noSuchMachine and so the authentication will fail
+execute p1 using 'values(''derby.authentication.server'', ''noSuchMachine:389'')';
+Statement executed.
+ij(CONNECTION1)> execute p1 using 'values(''derby.authentication.ldap.searchBase'', ''o=opensource.apache.com'')';
+Statement executed.
+ij(CONNECTION1)> -- this is the default search filter
+execute p1 using 'values(''derby.authentication.ldap.searchFilter'', ''(&(objectClass=inetOrgPerson)(uid=%USERNAME%))'')';
+Statement executed.
+ij(CONNECTION1)> commit;
+ij(CONNECTION1)> autocommit on;
+ij(CONNECTION1)> --
+----- Shutdown the system for database properties to take effect
+-----
+disconnect all;
+ij> connect 'ldapSchemeDB;user=system;password=manager;shutdown=true';
+ERROR 08006: ldapSchemeDB08006.DDatabase 'ldapSchemeDB' shutdown.((server log XXX)
+ij> disconnect all;
+ij> connect 'ldapSchemeDB;user=mamta;password=yeeHaLdap';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> show connections;
+No connections available.
+ij> disconnect all;
+ij> -- Derby system shutdown - check user - should succeed
+connect ';user=system;password=manager;shutdown=true';
+ERROR XJ015: XJ015.MDerby system shutdown.((server log XXX)
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsersldap.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsersldap.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/secureUsersldap.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,223 @@
+ij> --
+----- Specifically test SECURE users with ldap 
+----- Configure the ldap databases, plus some for reference
+-----
+----- 'derbySchemeDB'	- BUILTIN authentication
+-----						  & some db authorization restriction.
+----- 'ldapSchemeDB'		- LDAP authentication
+-----						  (or NT thru LDAP)
+----- 'ldapSchemeDBJN'	- LDAP setting url through java.naming.*
+-----						  some db authorization restriction.
+-----
+----- let's create all the dbs and configure them.
+----- we will authenticate using a default system user that we
+----- have configured.
+----- A typical bad guy who cannot access any database but guest
+----- is Jamie.
+-----
+-----
+----- 'derbySchemeDB' database authentication/authorization config
+-----
+connect 'derbySchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION1)> autocommit off;
+ij(CONNECTION1)> prepare p2 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION1)> execute p2 using 'values(''derby.authentication.provider'', ''BUILTIN'')';
+Statement executed.
+ij(CONNECTION1)> -- let's define users in this database (other than the ones
+----- known at the system level. This is for the test
+----- These 3 users will only be known in this database
+execute p2 using 'values(''derby.user.martin'', ''obfuscateIt'')';
+Statement executed.
+ij(CONNECTION1)> execute p2 using 'values(''derby.user.dan'', ''makeItFaster'')';
+Statement executed.
+ij(CONNECTION1)> execute p2 using 'values(''derby.user.mamta'', ''ieScape'')';
+Statement executed.
+ij(CONNECTION1)> execute p2 using 'values(''derby.database.propertiesOnly'', ''true'')';
+Statement executed.
+ij(CONNECTION1)> commit;
+ij(CONNECTION1)> autocommit on;
+ij(CONNECTION1)> --
+----- 'ldapSchemeDB' database authentication/authorization config
+-----
+connect 'ldapSchemeDB;create=true;user=system;password=manager';
+ij(CONNECTION2)> autocommit off;
+ij(CONNECTION2)> prepare p3 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION2)> execute p3 using 'values(''derby.authentication.provider'', ''LDAP'')';
+Statement executed.
+ij(CONNECTION2)> execute p3 using 'values(''derby.authentication.server'', ''thehost.opensource.apache.com:389'')';
+Statement executed.
+ij(CONNECTION2)> execute p3 using 'values(''derby.authentication.ldap.searchBase'', ''o=opensource.apache.com'')';
+Statement executed.
+ij(CONNECTION2)> -- this is the default search filter
+execute p3 using 'values(''derby.authentication.ldap.searchFilter'', ''(&(objectClass=inetOrgPerson)(uid=%USERNAME%))'')';
+Statement executed.
+ij(CONNECTION2)> commit;
+ij(CONNECTION2)> autocommit on;
+ij(CONNECTION2)> connect 'ldapSchemeDBJN;create=true;user=system;password=manager';
+ij(CONNECTION3)> autocommit off;
+ij(CONNECTION3)> prepare p3 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION3)> execute p3 using 'values(''derby.authentication.provider'', ''LDAP'')';
+Statement executed.
+ij(CONNECTION3)> execute p3 using 'values(''java.naming.provider.url'', ''ldap://thehost.opensource.apache.com:389'')';
+Statement executed.
+ij(CONNECTION3)> execute p3 using 'values(''derby.authentication.ldap.searchBase'', ''o=opensource.apache.com'')';
+Statement executed.
+ij(CONNECTION3)> -- this is the default search filter
+execute p3 using 'values(''derby.authentication.ldap.searchFilter'', ''(&(objectClass=inetOrgPerson)(uid=%USERNAME%))'')';
+Statement executed.
+ij(CONNECTION3)> commit;
+ij(CONNECTION3)> autocommit on;
+ij(CONNECTION3)> disconnect;
+ij> --
+----- Shutdown the system for database properties to take effect
+-----
+disconnect all;
+ij> connect 'derbySchemeDB;user=system;password=manager;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'ldapSchemeDB;user=system;password=manager;shutdown=true';
+ERROR 08006: ldapSchemeDB08006.DDatabase 'ldapSchemeDB' shutdown.((server log XXX)
+ij> connect 'ldapSchemeDBJN;user=system;password=manager;shutdown=true';
+ERROR 08006: ldapSchemeDBJN08006.DDatabase 'ldapSchemeDBJN' shutdown.((server log XXX)
+ij> disconnect all;
+ij> -- shuting down the system causes IJ to loose the protocol, therefore
+----- we'd be doomed :(
+#connect ';shutdown=true;user=system;password=manager';
+IJ ERROR: Unable to establish connection
+ij> -- 1) Valid authentication & authorization requests/ops
+connect 'derbySchemeDB;user=mamta;password=ieScape';
+ij> connect 'derbySchemeDB;user=dan;password=makeItFaster';
+ij(CONNECTION1)> connect 'derbySchemeDB;user=martin;password=obfuscateIt';
+ij(CONNECTION2)> -- Invalid ones:
+connect 'derbySchemeDB;user=Jamie;password=theHooligan';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'derbySchemeDB;user=francois;password=paceesalute';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> --
+----- 1rst test phase for LDAP
+----- We look-up the user DN and authenticate to LDAP with passed-in
+----- credentials
+connect 'ldapSchemeDB;user=mamta;password=yeeHaLdap';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=francois;password=corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> -- Invalid ones:
+connect 'ldapSchemeDB;user=Jamie;password=theHooligan';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=dan;password=makeItFaster';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> -- wrong ldap password
+connect 'ldapSchemeDB;user=francois;password=paceesalute';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> --
+----- 2nd test phases for LDAP - Cache the User DN locally
+----- to avoid the initial look-up
+-----
+connect 'ldapSchemeDB;user=francois;password=corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> autocommit off;
+ij(CONNECTION2)> prepare p5 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION2)> execute p5 using 'values(''derby.authentication.ldap.searchFilter'', ''derby.user'')';
+Statement executed.
+ij(CONNECTION2)> -- set the users DN locally now
+execute p5 using 'values(''derby.user.mamta'', ''uid=mamta,ou=People,o=opensource.apache.com'')';
+Statement executed.
+ij(CONNECTION2)> execute p5 using 'values(''derby.user.francois'', ''uid=francois,ou=People,o=opensource.apache.com'')';
+Statement executed.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> commit;
+ij(CONNECTION2)> autocommit on;
+ij(CONNECTION2)> -- restart ldapSchemeDB for properties to take effect & reconnect to test
+connect 'ldapSchemeDB;user=francois;password=corsica;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> -- re-test
+connect 'ldapSchemeDB;user=mamta;password=yeeHaLdap';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=francois;password=corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> -- 2a) Some users with no local DN: rachael, kathy
+-----     as no local DN cached, look-up will be performed with
+-----     default search filter.
+-----
+connect 'ldapSchemeDB;user=kathy;password=kathyS';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=rachael;password=rachaelF';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> -- Invalid ones:
+connect 'ldapSchemeDB;user=Jamie;password=theHooligan';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=dan;password=makeItFaster';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> -- wrong ldap password
+connect 'ldapSchemeDB;user=francois;password=paceesalute';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> -- Database shutdown - check user - should fail
+connect 'derbySchemeDB;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> -- Database shutdown - check user - should succeed
+connect 'derbySchemeDB;user=mamta;password=ieScape;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'ldapSchemeDB;user=mamta;password=yeeHaLdap;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=mamta;password=ieScape
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=dan;password=makeItFaster
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/derbySchemeDB;user=martin;password=obfuscateIt
+* = current connection
+ij(CONNECTION2)> -- Derby system shutdown - check user - should fail
+connect ';user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> disconnect all;
+ij> --
+----- 1rst test phase for LDAP
+----- We look-up the user DN and authenticate to LDAP with passed-in
+----- credentials
+connect 'ldapSchemeDBJN;user=mamta;password=yeeHaLdap';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'ldapSchemeDBJN;user=francois;password=corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> -- Invalid ones:
+connect 'ldapSchemeDBJN;user=Jamie;password=theHooligan';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'ldapSchemeDBJN;user=dan;password=makeItFaster';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> -- wrong ldap password
+connect 'ldapSchemeDBJN;user=francois;password=paceesalute';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> show connections;
+No connections available.
+ij> disconnect all;
+ij> -- Derby system shutdown - check user - should succeed
+connect ';user=system;password=manager;shutdown=true';
+ERROR XJ015: XJ015.MDerby system shutdown.((server log XXX)
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,153 @@
+ij> --
+connect 'wombat;create=true;user=dan;password=MakeItFaster';
+ij(CONNECTION1)> autocommit off;
+ij(CONNECTION1)> prepare p1 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION1)> execute p1 using 'values(''derby.database.defaultConnectionMode'', ''noAccess'')';
+Statement executed.
+ij(CONNECTION1)> execute p1 using 'values(''derby.database.fullAccessUsers'', ''francois,jeff,howardR,ames,kreg'')';
+Statement executed.
+ij(CONNECTION1)> remove p1;
+ij(CONNECTION1)> commit;
+ij(CONNECTION1)> autocommit on;
+ij(CONNECTION1)> disconnect;
+ij> connect 'wombat;shutdown=true;user=francois;password=paceesalute';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij> connect 'myDB;create=true;user=dan;password=MakeItFaster';
+ij(CONNECTION1)> autocommit off;
+ij(CONNECTION1)> prepare p2 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij(CONNECTION1)> execute p2 using 'values(''derby.database.defaultConnectionMode'', ''noAccess'')';
+Statement executed.
+ij(CONNECTION1)> execute p2 using 'values(''derby.database.fullAccessUsers'', ''jerry,kreg,dan,jamie,ames,francois'')';
+Statement executed.
+ij(CONNECTION1)> remove p2;
+ij(CONNECTION1)> commit;
+ij(CONNECTION1)> autocommit on;
+ij(CONNECTION1)> disconnect;
+ij> connect 'myDB;shutdown=true;user=dan;password=MakeItFaster';
+ERROR 08006: myDB08006.DDatabase 'myDB' shutdown.((server log XXX)
+ij> -- beetle 5468
+disconnect all;
+ij> -- Specifically test JBMS users.
+-----
+----- check allowed users in wombat db.
+connect 'wombat;user=kreg;password=visualWhat?';
+ij> connect 'wombat;user=jeff;password=HomeRun61';
+ij(CONNECTION1)> connect 'wombat;user=ames;password=AnyVolunteer?';
+ij(CONNECTION2)> connect 'wombat;user=howardR;password=IamBetterAtTennis';
+ij(CONNECTION3)> connect 'wombat;user=francois;password=paceesalute';
+ij(CONNECTION4)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;user=kreg;password=visualWhat?
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=HomeRun61
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=ames;password=AnyVolunteer?
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=IamBetterAtTennis
+CONNECTION4* - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+* = current connection
+ij(CONNECTION4)> disconnect all;
+ij> -- check allowed users in myDB db.
+----- also check USER flavors
+connect 'myDB;user=jerry;password=SacreBleu';
+ij> create table APP.t1(c1 char(30) check (UPPER(c1) <> 'JAMIE'));
+0 rows inserted/updated/deleted
+ij> insert into APP.t1 values CURRENT_USER;
+1 row inserted/updated/deleted
+ij> connect 'myDB;user=kreg;password=visualWhat?';
+ij(CONNECTION1)> insert into APP.t1 values USER;
+1 row inserted/updated/deleted
+ij(CONNECTION1)> connect 'myDB;user=ames;password=AnyVolunteer?';
+ij(CONNECTION2)> insert into APP.t1 values SESSION_USER;
+1 row inserted/updated/deleted
+ij(CONNECTION2)> connect 'myDB;user=dan;password=MakeItFaster';
+ij(CONNECTION3)> select * from APP.t1;
+C1                            
+-----
+JERRY                         
+KREG                          
+AMES                          
+ij(CONNECTION3)> update APP.t1 set c1 = {fn user() };
+3 rows inserted/updated/deleted
+ij(CONNECTION3)> select * from APP.t1;
+C1                            
+-----
+DAN                           
+DAN                           
+DAN                           
+ij(CONNECTION3)> connect 'myDB;user=francois;password=paceesalute';
+ij(CONNECTION4)> update APP.t1 set c1 = USER;
+3 rows inserted/updated/deleted
+ij(CONNECTION4)> connect 'myDB;user=jamie;password=MrNamePlates';
+ij(CONNECTION5)> select * from APP.t1;
+C1                            
+-----
+FRANCOIS                      
+FRANCOIS                      
+FRANCOIS                      
+ij(CONNECTION5)> update APP.t1 set c1 = USER;
+ERROR 23513: The check constraint 'xxxxGENERATED-IDxxxx' was violated while performing an INSERT or UPDATE on table 'APP.T1'.
+ij(CONNECTION5)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/myDB;user=jerry;password=SacreBleu
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/myDB;user=kreg;password=visualWhat?
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/myDB;user=ames;password=AnyVolunteer?
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/myDB;user=dan;password=MakeItFaster
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/myDB;user=francois;password=paceesalute
+CONNECTION5* - 	jdbc:derby:net://localhost:1527/myDB;user=jamie;password=MrNamePlates
+* = current connection
+ij(CONNECTION5)> disconnect all;
+ij> --
+----- some negative cases
+-----
+----- Invalid login's
+connect 'wombat';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=badUser1;password=YeeHa!';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=badUser2;password=YeeHa!';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'myDB;user=dan;password=MakeItSlower';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'myDB;user=jamie;password=LetMeIn';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=francois;password=Corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> -- Invalid database users
+connect 'myDB;user=howardR;password=IamBetterAtTennis';
+ERROR 04501: 04501.CDatabase connection refused.((server log XXX)
+ij> connect 'wombat;user=jerry;password=SacreBleu';
+ERROR 04501: 04501.CDatabase connection refused.((server log XXX)
+ij> connect 'wombat;user=jamie;password=MrNamePlates';
+ERROR 04501: 04501.CDatabase connection refused.((server log XXX)
+ij> show connections;
+No connections available.
+ij> connect 'wombat;user=francois;password=paceesalute';
+ij> connect 'myDB;user=jerry;password=SacreBleu';
+ij(CONNECTION1)> -- Database shutdown - check user - should fail
+connect 'myDB;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION1)> connect 'myDB;user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION1)> connect 'wombat;user=jerry;password=SacreBleu;shutdown=true';
+ERROR 04501: 04501.CDatabase connection refused.((server log XXX)
+ij(CONNECTION1)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION1* - 	jdbc:derby:net://localhost:1527/myDB;user=jerry;password=SacreBleu
+* = current connection
+ij(CONNECTION1)> -- Database shutdown - check user - should succeed
+----- beetle 5367
+connect 'wombat;user=francois;password=paceesalute;shutdown=true';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij(CONNECTION1)> connect 'myDB;user=jerry;password=SacreBleu;shutdown=true';
+ERROR 08006: myDB08006.DDatabase 'myDB' shutdown.((server log XXX)
+ij(CONNECTION1)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION1* - 	jdbc:derby:net://localhost:1527/myDB;user=jerry;password=SacreBleu
+* = current connection
+ij(CONNECTION1)> -- JBMS System shutdown - check user - should fail
+connect ';user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION1)> disconnect all;
+ij> -- JBMS System shutdown - check user - should succeed
+connect ';user=francois;password=paceesalute;shutdown=true';
+ERROR XJ015: XJ015.MDerby system shutdown.((server log XXX)
+ij> -- beetle 5390
+----- the server does not shut down properly in network server
+;
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users2.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users2.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/users2.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,241 @@
+ij> --
+----- Specifically test Derby users using DERBY scheme
+----- and by only looking at database properties for authentication
+----- The only user at the system level is system/manager
+-----
+----- check allowed users in wombat db.
+----- initial connection in sysprop was:
+----- connect 'wombat;create=true;user=system;password=manager';
+-----
+----- Default to: derby.authentication.provider=BUILTIN
+-----
+autocommit off;
+ij> prepare p1 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij> execute p1 using 'values(''derby.connection.requireAuthentication'', ''true'')';
+Statement executed.
+ij> commit;
+ij> remove p1;
+ij> autocommit on;
+ij> disconnect all;
+ij> connect 'wombat;shutdown=true;user=system;password=manager';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij> -- beetle 5468
+disconnect all;
+ij> connect 'wombat;user=system;password=manager';
+ij> --
+----- set authentication config for 'wombat' database
+-----
+autocommit off;
+ij> prepare p2 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij> execute p2 using 'values(''derby.user.kreg'', ''visualWhat?'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.user.jeff'', ''HomeRun61'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.user.ames'', ''AnyVolunteer?'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.user.jamie'', ''MrNamePlates'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.user.howardR'', ''IamBetterAtTennis'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.user.francois'', ''paceesalute'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.database.fullAccessUsers'', ''jeff,howardR,ames,francois,kreg'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.database.readOnlyAccessUsers'', ''jamie'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.database.defaultConnectionMode'', ''noAccess'')';
+Statement executed.
+ij> execute p2 using 'values(''derby.database.propertiesOnly'', ''true'')';
+Statement executed.
+ij> commit;
+ij> autocommit on;
+ij> -- Check that the passwords are encrypted
+----- values getDatabaseProperty('derby.user.francois');
+----- values getDatabaseProperty('derby.user.ames');
+----- values getDatabaseProperty('derby.user.kreg');
+----- values getDatabaseProperty('derby.user.jeff');
+----- values getDatabaseProperty('derby.user.howardR');
+----- values getDatabaseProperty('derby.user.jamie');
+connect 'wombat;user=kreg;password=visualWhat?';
+ij(CONNECTION1)> connect 'wombat;user=jeff;password=HomeRun61';
+ij(CONNECTION2)> connect 'wombat;user=ames;password=AnyVolunteer?';
+ij(CONNECTION3)> connect 'wombat;user=howardR;password=IamBetterAtTennis';
+ij(CONNECTION4)> -- should succeed
+create table APP.t1(c1 char(30));
+0 rows inserted/updated/deleted
+ij(CONNECTION4)> insert into APP.t1 values CURRENT_USER;
+1 row inserted/updated/deleted
+ij(CONNECTION4)> connect 'wombat;user=jamie;password=MrNamePlates';
+ij(CONNECTION5)> -- should fail as readOnly user
+insert into APP.t1 values CURRENT_USER;
+ERROR 25502: An SQL data change is not permitted for a read-only connection, user or database.
+ij(CONNECTION5)> create table APP.t2(c1 char(30));
+ERROR 25503: DDL is not permitted for a read-only connection, user or database.
+ij(CONNECTION5)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;user=system;password=manager
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=kreg;password=visualWhat?
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/wombat;user=jeff;password=HomeRun61
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/wombat;user=ames;password=AnyVolunteer?
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/wombat;user=howardR;password=IamBetterAtTennis
+CONNECTION5* - 	jdbc:derby:net://localhost:1527/wombat;user=jamie;password=MrNamePlates
+* = current connection
+ij(CONNECTION5)> disconnect all;
+ij> -- check allowed users in myDB db.
+-----
+connect 'myDB;create=true;user=system;password=manager';
+ij> autocommit off;
+ij> prepare p3 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij> execute p3 using 'values(''derby.connection.requireAuthentication'', ''true'')';
+Statement executed.
+ij> remove p3;
+ij> autocommit on;
+ij> disconnect all;
+ij> connect 'myDB;shutdown=true;user=system;password=manager';
+ERROR 08006: myDB08006.DDatabase 'myDB' shutdown.((server log XXX)
+ij> -- beetle 5468
+disconnect all;
+ij> connect 'myDB;user=system;password=manager';
+ij> --
+----- set authentication config for 'myDB' database
+-----
+autocommit off;
+ij> prepare p4 as 'CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(?,?)';
+ij> execute p4 using 'values(''derby.user.kreg'', ''visualWhat?'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.user.dan'', ''MakeItFaster'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.user.ames'', ''AnyVolunteer?'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.user.jerry'', ''SacreBleu'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.user.jamie'', ''MrNamePlates'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.user.francois'', ''paceesalute'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.database.fullAccessUsers'', ''jerry,dan,kreg,ames,francois,jamie'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.database.defaultConnectionMode'', ''noAccess'')';
+Statement executed.
+ij> execute p4 using 'values(''derby.database.propertiesOnly'', ''true'')';
+Statement executed.
+ij> commit;
+ij> autocommit on;
+ij> -- Check that the passwords are encrypted
+----- values getDatabaseProperty('derby.user.francois');
+----- values getDatabaseProperty('derby.user.ames');
+----- values getDatabaseProperty('derby.user.kreg');
+----- values getDatabaseProperty('derby.user.dan');
+----- values getDatabaseProperty('derby.user.jerry');
+----- values getDatabaseProperty('derby.user.jamie');
+-----
+----- also check USER flavors
+-----
+connect 'myDB;user=jerry;password=SacreBleu';
+ij(CONNECTION1)> create table APP.t1(c1 char(30) check (UPPER(c1) <> 'JAMIE'));
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> insert into APP.t1 values CURRENT_USER;
+1 row inserted/updated/deleted
+ij(CONNECTION1)> connect 'myDB;user=kreg;password=visualWhat?';
+ij(CONNECTION2)> insert into APP.t1 values USER;
+1 row inserted/updated/deleted
+ij(CONNECTION2)> connect 'myDB;user=ames;password=AnyVolunteer?';
+ij(CONNECTION3)> insert into APP.t1 values SESSION_USER;
+1 row inserted/updated/deleted
+ij(CONNECTION3)> connect 'myDB;user=dan;password=MakeItFaster';
+ij(CONNECTION4)> select * from APP.t1;
+C1                            
+-----
+JERRY                         
+KREG                          
+AMES                          
+ij(CONNECTION4)> update APP.t1 set c1 = USER;
+3 rows inserted/updated/deleted
+ij(CONNECTION4)> select * from APP.t1;
+C1                            
+-----
+DAN                           
+DAN                           
+DAN                           
+ij(CONNECTION4)> connect 'myDB;user=francois;password=paceesalute';
+ij(CONNECTION5)> update APP.t1 set c1 = USER;
+3 rows inserted/updated/deleted
+ij(CONNECTION5)> connect 'myDB;user=jamie;password=MrNamePlates';
+ij(CONNECTION6)> select * from APP.t1;
+C1                            
+-----
+FRANCOIS                      
+FRANCOIS                      
+FRANCOIS                      
+ij(CONNECTION6)> update APP.t1 set c1 = USER;
+ERROR 23513: The check constraint 'xxxxGENERATED-IDxxxx' was violated while performing an INSERT or UPDATE on table 'APP.T1'.
+ij(CONNECTION6)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/myDB;user=system;password=manager
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/myDB;user=jerry;password=SacreBleu
+CONNECTION2 - 	jdbc:derby:net://localhost:1527/myDB;user=kreg;password=visualWhat?
+CONNECTION3 - 	jdbc:derby:net://localhost:1527/myDB;user=ames;password=AnyVolunteer?
+CONNECTION4 - 	jdbc:derby:net://localhost:1527/myDB;user=dan;password=MakeItFaster
+CONNECTION5 - 	jdbc:derby:net://localhost:1527/myDB;user=francois;password=paceesalute
+CONNECTION6* - 	jdbc:derby:net://localhost:1527/myDB;user=jamie;password=MrNamePlates
+* = current connection
+ij(CONNECTION6)> disconnect all;
+ij> --
+----- some negative cases
+-----
+----- Invalid login's
+connect 'wombat';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=badUser1;password=YeeHa!';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=badUser2;password=YeeHa!';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'myDB;user=dan;password=MakeItSlower';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'myDB;user=jamie;password=LetMeIn';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=francois;password=Corsica';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> -- Invalid database users
+connect 'myDB;user=howardR;password=IamBetterAtTennis';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=jerry;password=SacreBleu';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> connect 'wombat;user=jamie;password=MrNamePlates';
+ij> show connections;
+CONNECTION0* - 	jdbc:derby:net://localhost:1527/wombat;user=jamie;password=MrNamePlates
+* = current connection
+ij> connect 'wombat;user=francois;password=paceesalute';
+ij(CONNECTION1)> connect 'myDB;user=jerry;password=SacreBleu';
+ij(CONNECTION2)> -- Database shutdown - check user - should fail
+connect 'myDB;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'myDB;user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> connect 'wombat;user=jerry;password=SacreBleu;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij(CONNECTION2)> show connections;
+CONNECTION0 - 	jdbc:derby:net://localhost:1527/wombat;user=jamie;password=MrNamePlates
+CONNECTION1 - 	jdbc:derby:net://localhost:1527/wombat;user=francois;password=paceesalute
+CONNECTION2* - 	jdbc:derby:net://localhost:1527/myDB;user=jerry;password=SacreBleu
+* = current connection
+ij(CONNECTION2)> disconnect all;
+ij> show connections;
+No connections available.
+ij> -- Database shutdown - check user - should succeed
+connect 'wombat;user=francois;password=paceesalute;shutdown=true';
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij> -- beetle 5468
+disconnect all;
+ij> connect 'myDB;user=jerry;password=SacreBleu;shutdown=true';
+ERROR 08006: myDB08006.DDatabase 'myDB' shutdown.((server log XXX)
+ij> -- beetle 5468
+disconnect all;
+ij> -- there should be no connections left here
+show connections;
+No connections available.
+ij> -- JBMS System shutdown - check user - should fail
+connect ';user=jamie;password=LetMeIn;shutdown=true';
+ERROR (no SQLState): Connection authorization failure occurred.  Reason: userid invalid.
+ij> -- JBMS System shutdown - check user - should succeed
+connect ';user=system;password=manager;shutdown=true';
+ERROR XJ015: XJ015.MDerby system shutdown.((server log XXX)
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/EscalateLock.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/EscalateLock.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/EscalateLock.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,1042 @@
+ij> -- test lock escalation.  derby.locks.escalationThreshold=100 property 
+-- has been set to force lock escalation
+-- to occur at the minimum level of 100  locks.
+run resource 'createTestProcedures.subsql';
+ij> CREATE FUNCTION  PADSTRING (DATA VARCHAR(32000), LENGTH INTEGER) RETURNS VARCHAR(32000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.Formatters.padString' LANGUAGE JAVA PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> CREATE PROCEDURE WAIT_FOR_POST_COMMIT() DYNAMIC RESULT SETS 0 LANGUAGE JAVA EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.T_Access.waitForPostCommitToFinish' PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> run resource 'LockTableQuery.subsql';
+ij> create view lock_table as
+select 
+    cast(username as char(8)) as username,
+    cast(t.type as char(8)) as trantype,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state,
+    status
+from 
+    new org.apache.derby.diag.LockTable() l  right outer join new org.apache.derby.diag.TransactionTable() t
+on l.xid = t.xid where l.tableType <> 'S' and t.type='UserTransaction';
+0 rows inserted/updated/deleted
+ij> --on l.xid = t.xid where l.tableType <> 'S' or l.tableType is null
+-- order by
+--     tabname, type desc, mode, cnt, lockname
+-- lock table with system catalog locks included.
+create view full_lock_table as
+select 
+    cast(username as char(8)) as username,
+    cast(t.type as char(8)) as trantype,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state,
+    status
+from 
+    new org.apache.derby.diag.LockTable() l right outer join new org.apache.derby.diag.TransactionTable() t
+on l.xid = t.xid where l.tableType <> 'S' ;
+0 rows inserted/updated/deleted
+ij> -- lock table with no join.
+create view lock_table2 as
+select 
+    cast(l.xid as char(8)) as xid,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state
+from 
+    new org.apache.derby.diag.LockTable() l  
+where l.tableType <> 'S' ;
+0 rows inserted/updated/deleted
+ij> -- transaction table with no join.
+create view tran_table as
+select 
+    *
+from 
+    new org.apache.derby.diag.TransactionTable() t ;
+0 rows inserted/updated/deleted
+ij> autocommit off;
+ij> -- TEST 1 - make sure IX row locks are escalated to a persistent X table lock.
+create table foo (a int);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> -- first insert 90 rows
+insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> -- check to make sure we have IX table and X row locks.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |9   |IX  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,10)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,11)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,12)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,13)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,14)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,15)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,16)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,17)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,18)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,19)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,20)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,21)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,22)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,23)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,24)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,25)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,26)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,27)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,28)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,29)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,30)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,31)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,32)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,33)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,34)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,35)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,36)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,37)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,38)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,39)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,40)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,41)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,42)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,43)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,44)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,45)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,46)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,47)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,48)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,49)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,50)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,51)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,52)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,53)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,54)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,55)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,56)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,57)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,58)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,59)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,60)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,61)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,62)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,63)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,64)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,65)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,66)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,67)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,68)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,69)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,70)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,71)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,72)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,73)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,74)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,75)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,76)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,77)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,78)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,79)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,80)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,81)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,82)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,83)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,84)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,85)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,86)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,87)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,88)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,89)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,90)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,91)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,92)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,93)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,94)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,95)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,96)    |GRANT|ACTIVE  
+ij> -- now insert 10 more rows, pushing the lock over the escalation limit.
+insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> -- check to make sure we now just have a X table lock.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |11  |IX  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |1   |X   |FOO         |Tablelock |GRANT|ACTIVE  
+ij> -- insert 10 more rows to make sure we don't get rows locks from now on.
+insert into foo values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
+10 rows inserted/updated/deleted
+ij> -- check to make sure we now just have a X table lock.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |12  |IX  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |1   |X   |FOO         |Tablelock |GRANT|ACTIVE  
+ij> commit;
+ij> -- TEST 2 - make sure IS row locks are escalated to a persistent X table lock.
+create index foox on foo (a);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> set isolation serializable;
+0 rows inserted/updated/deleted
+ij> -- get IS row locks on just under 100 of the rows;
+select a from foo where a < 5;
+A          
+-----------
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+1          
+1          
+1          
+1          
+1          
+1          
+1          
+1          
+1          
+1          
+1          
+2          
+2          
+2          
+2          
+2          
+2          
+2          
+2          
+2          
+2          
+2          
+3          
+3          
+3          
+3          
+3          
+3          
+3          
+3          
+3          
+3          
+3          
+4          
+4          
+4          
+4          
+4          
+4          
+4          
+4          
+4          
+4          
+4          
+ij> -- check to make sure we have IS table and S row locks.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,10)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,100)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,101)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,107)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,108)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,109)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,11)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,110)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,111)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,17)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,18)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,19)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,20)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,21)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,27)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,28)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,29)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,3)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,30)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,31)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,37)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,38)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,39)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,40)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,41)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,47)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,48)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,49)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,50)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,51)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,57)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,58)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,59)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,60)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,61)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,67)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,68)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,69)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,70)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,71)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,77)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,78)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,79)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,80)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,81)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,87)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,88)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,89)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,90)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,91)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,97)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,98)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |FOO         |(1,99)    |GRANT|ACTIVE  
+ij> -- now get enough IS row locks to push over the lock escalation limit
+select a from foo where a >= 5;
+A          
+-----------
+5          
+5          
+5          
+5          
+5          
+5          
+5          
+5          
+5          
+5          
+5          
+6          
+6          
+6          
+6          
+6          
+6          
+6          
+6          
+6          
+6          
+6          
+7          
+7          
+7          
+7          
+7          
+7          
+7          
+7          
+7          
+7          
+7          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+9          
+9          
+9          
+9          
+9          
+9          
+9          
+9          
+9          
+9          
+9          
+ij> -- check to make sure we now just have a S table lock.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |3   |IS  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |1   |S   |FOO         |Tablelock |GRANT|ACTIVE  
+ij> -- make sure subsequent IS locks are recognized as covered by the S table lock.
+select a from foo where a = 8;
+A          
+-----------
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+8          
+ij> -- check to make sure we now just have a S table lock.
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |4   |IS  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |1   |S   |FOO         |Tablelock |GRANT|ACTIVE  
+ij> commit;
+ij> -- TEST 3 - reproduce abort failure similar to bug 4328
+create table aborttest (keycol int, data varchar(1000));
+0 rows inserted/updated/deleted
+ij> -- first insert 110 rows
+insert into aborttest values (0, PADSTRING('0',1000)), (0, PADSTRING('1',1000)), (0, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('3',1000)), (0, PADSTRING('4',1000)), (0, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('6',1000)), (0, PADSTRING('7',1000)), (0, PADSTRING('8',1000)), (0, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values  (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> insert into aborttest values (0, PADSTRING('0',1000)), (1, PADSTRING('1',1000)), (2, PADSTRING('2',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values (3, PADSTRING('3',1000)), (4, PADSTRING('4',1000)), (5, PADSTRING('5',1000));
+3 rows inserted/updated/deleted
+ij> insert into aborttest values  (6, PADSTRING('6',1000)), (7, PADSTRING('7',1000)), (8, PADSTRING('8',1000)), (9, PADSTRING('9',1000));
+4 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', '4096');
+0 rows inserted/updated/deleted
+ij> create index idx on aborttest (keycol, data);
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', NULL);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> delete from aborttest where keycol < 3;
+40 rows inserted/updated/deleted
+ij> -- check to make sure we have a X row locks and IX table lock;
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |2   |IX  |ABORTTEST   |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |ABORTTEST   |(1,3)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(15,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(17,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(25,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(27,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(35,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(5,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(7,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,7)     |GRANT|ACTIVE  
+ij> delete from aborttest where keycol >= 3 ;
+70 rows inserted/updated/deleted
+ij> -- check to make sure we escalated;
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |2   |IX  |ABORTTEST   |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |3   |X   |ABORTTEST   |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |ABORTTEST   |(1,3)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(15,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(17,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(25,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(27,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(35,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(5,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(7,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,7)     |GRANT|ACTIVE  
+ij> -- now cause space reclamation on the leftmost leaf
+insert into aborttest values (-1, '-1'), (-1, '-1');
+2 rows inserted/updated/deleted
+ij> -- check to make sure we escalated;
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |4   |IX  |ABORTTEST   |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |3   |X   |ABORTTEST   |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |ABORTTEST   |(1,3)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(11,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(14,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(15,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(17,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(18,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(2,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(21,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(24,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(25,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(27,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(28,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(3,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(31,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,7)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(34,8)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(35,6)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(4,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(5,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(7,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |2   |X   |ABORTTEST   |(8,7)     |GRANT|ACTIVE  
+ij> -- Before fix to bug 4328/4330 the following rollback would cause a recovery
+-- error which would shut down the server, and cause recovery to always fail.
+-- The problem was that the lock escalation bug would remove locks on 
+-- uncommitted deleted rows, and then the above insert would try and succeed
+-- at purging rows that it should not have been able.  When undo comes along to
+-- undo the delete it can't find the row because it has been purged by a
+-- committed nested internal transaction.
+rollback;
+ij> select count(*) from aborttest;
+1          
+-----------
+110        
+ij> select keycol from aborttest;
+KEYCOL     
+-----------
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+0          
+1          
+2          
+3          
+4          
+5          
+6          
+7          
+8          
+9          
+ij> commit;
+ij> -- TEST 4 - (beetle 4764) make sure no lock timeout if escalate is blocked by 
+-- another user.
+-- 
+connect 'wombat' as block_escalate_connection;
+ij(BLOCK_ESCALATE_CONNECTION)> set connection block_escalate_connection;
+ij(BLOCK_ESCALATE_CONNECTION)> autocommit off;
+ij(BLOCK_ESCALATE_CONNECTION)> drop table foo;
+0 rows inserted/updated/deleted
+ij(BLOCK_ESCALATE_CONNECTION)> create table foo (a int, data char(10));
+0 rows inserted/updated/deleted
+ij(BLOCK_ESCALATE_CONNECTION)> commit;
+ij(BLOCK_ESCALATE_CONNECTION)> insert into foo values (1, 'blocker');
+1 row inserted/updated/deleted
+ij(BLOCK_ESCALATE_CONNECTION)> connect 'wombat' as escalate_connection;
+ij(ESCALATE_CONNECTION)> set connection escalate_connection;
+ij(ESCALATE_CONNECTION)> autocommit off;
+ij(ESCALATE_CONNECTION)> commit;
+ij(ESCALATE_CONNECTION)> -- insert 100 rows which should try to escalate the lock but then fail, because
+-- it is blocked by the block_escalate_connection
+insert into foo values (0, '0'), (0, '1'), (0, '2'), (0, '3'), (0, '4'), (0, '5'), (0, '6'), (0, '7'), (0, '8'), (0, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (10, '0'), (11, '1'), (12, '2'), (13, '3'), (14, '4'), (15, '5'), (16, '6'), (17, '7'), (18, '8'), (19, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (20, '0'), (21, '1'), (22, '2'), (23, '3'), (24, '4'), (25, '5'), (26, '6'), (27, '7'), (28, '8'), (29, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (30, '0'), (31, '1'), (32, '2'), (33, '3'), (34, '4'), (35, '5'), (36, '6'), (37, '7'), (38, '8'), (39, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (40, '0'), (41, '1'), (42, '2'), (43, '3'), (44, '4'), (45, '5'), (46, '6'), (47, '7'), (48, '8'), (49, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (50, '0'), (51, '1'), (52, '2'), (53, '3'), (54, '4'), (55, '5'), (56, '6'), (57, '7'), (58, '8'), (59, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (60, '0'), (61, '1'), (62, '2'), (63, '3'), (64, '4'), (65, '5'), (66, '6'), (67, '7'), (68, '8'), (69, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (70, '0'), (71, '1'), (72, '2'), (73, '3'), (74, '4'), (75, '5'), (76, '6'), (77, '7'), (78, '8'), (79, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (80, '0'), (81, '1'), (82, '2'), (83, '3'), (84, '4'), (85, '5'), (86, '6'), (87, '7'), (88, '8'), (89, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (90, '0'), (91, '1'), (92, '2'), (93, '3'), (94, '4'), (95, '5'), (96, '6'), (97, '7'), (98, '8'), (99, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> insert into foo values (100, '0'), (101, '1'), (102, '2'), (103, '3'), (104, '4'), (105, '5'), (106, '6'), (107, '7'), (108, '8'), (109, '9');
+10 rows inserted/updated/deleted
+ij(ESCALATE_CONNECTION)> -- check to make sure we have not escalated;
+select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IX  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|TABLE   |11  |IX  |FOO         |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,10)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,100)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,101)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,102)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,103)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,104)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,105)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,106)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,107)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,108)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,109)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,11)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,110)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,111)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,112)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,113)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,114)   |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,12)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,13)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,14)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,15)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,16)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,17)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,18)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,19)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,20)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,21)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,22)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,23)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,24)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,25)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,26)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,27)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,28)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,29)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,30)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,31)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,32)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,33)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,34)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,35)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,36)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,37)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,38)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,39)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,40)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,41)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,42)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,43)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,44)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,45)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,46)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,47)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,48)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,49)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,50)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,51)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,52)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,53)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,54)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,55)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,56)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,57)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,58)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,59)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,60)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,61)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,62)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,63)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,64)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,65)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,66)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,67)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,68)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,69)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,70)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,71)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,72)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,73)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,74)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,75)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,76)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,77)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,78)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,79)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,8)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,80)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,81)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,82)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,83)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,84)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,85)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,86)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,87)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,88)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,89)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,9)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,90)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,91)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,92)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,93)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,94)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,95)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,96)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,97)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,98)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(1,99)    |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(2,6)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(2,7)     |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |X   |FOO         |(2,8)     |GRANT|ACTIVE  
+ij(ESCALATE_CONNECTION)> commit;
+ij(ESCALATE_CONNECTION)> set connection block_escalate_connection;
+ij(BLOCK_ESCALATE_CONNECTION)> commit;
+ij(BLOCK_ESCALATE_CONNECTION)> -- see if all the data made it.
+select a, data from foo;
+A          |DATA      
+----------------------
+1          |blocker   
+0          |0         
+0          |1         
+0          |2         
+0          |3         
+0          |4         
+0          |5         
+0          |6         
+0          |7         
+0          |8         
+0          |9         
+10         |0         
+11         |1         
+12         |2         
+13         |3         
+14         |4         
+15         |5         
+16         |6         
+17         |7         
+18         |8         
+19         |9         
+20         |0         
+21         |1         
+22         |2         
+23         |3         
+24         |4         
+25         |5         
+26         |6         
+27         |7         
+28         |8         
+29         |9         
+30         |0         
+31         |1         
+32         |2         
+33         |3         
+34         |4         
+35         |5         
+36         |6         
+37         |7         
+38         |8         
+39         |9         
+40         |0         
+41         |1         
+42         |2         
+43         |3         
+44         |4         
+45         |5         
+46         |6         
+47         |7         
+48         |8         
+49         |9         
+50         |0         
+51         |1         
+52         |2         
+53         |3         
+54         |4         
+55         |5         
+56         |6         
+57         |7         
+58         |8         
+59         |9         
+60         |0         
+61         |1         
+62         |2         
+63         |3         
+64         |4         
+65         |5         
+66         |6         
+67         |7         
+68         |8         
+69         |9         
+70         |0         
+71         |1         
+72         |2         
+73         |3         
+74         |4         
+75         |5         
+76         |6         
+77         |7         
+78         |8         
+79         |9         
+80         |0         
+81         |1         
+82         |2         
+83         |3         
+84         |4         
+85         |5         
+86         |6         
+87         |7         
+88         |8         
+89         |9         
+90         |0         
+91         |1         
+92         |2         
+93         |3         
+94         |4         
+95         |5         
+96         |6         
+97         |7         
+98         |8         
+99         |9         
+100        |0         
+101        |1         
+102        |2         
+103        |3         
+104        |4         
+105        |5         
+106        |6         
+107        |7         
+108        |8         
+109        |9         
+ij(BLOCK_ESCALATE_CONNECTION)> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/LOBTest.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/LOBTest.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/LOBTest.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,3873 @@
+create table bit_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol char (8 ) for bit data )
+insert into bit_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS char (8 ) for bit data) )
+insert into bit_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into bit_table ( col_1 ) values ( 'true' )
+insert into bit_table ( col_2 ) values ( 'true' )
+insert into bit_table ( col_3 ) values ( 'true' )
+insert into bit_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into bit_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into bit_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into bit_table ( typecol ) values cast ( X'0074007200750065'  AS char (8 ) for bit data)
+=== Columntype int
+select col_0 from bit_table
+	0 getObject            ->'100'    	: java.lang.Integer
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->'100'    	: java.math.BigDecimal
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'true'    	: java.lang.Boolean
+	0 getByte              ->'100'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'INTEGER'.)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'INTEGER'.)
+	0 getDouble            ->'100.0'    	: java.lang.Double
+	0 getFloat             ->'100.0'    	: java.lang.Float
+	0 getInt               ->'100'    	: java.lang.Integer
+	0 getLong              ->'100'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'100'    	: java.lang.Short
+	0 getString            ->'100'    	: java.lang.String
+	0 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'INTEGER'.)
+	0 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'INTEGER'.)
+=== Columntype char(10)
+select col_1 from bit_table
+	1 getObject            ->'101       '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->'101'    	: java.math.BigDecimal
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->'101'    	: java.lang.Byte
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->'101.0'    	: java.lang.Double
+	1 getFloat             ->'101.0'    	: java.lang.Float
+	1 getInt               ->'101'    	: java.lang.Integer
+	1 getLong              ->'101'    	: java.lang.Long
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->'101'    	: java.lang.Short
+	1 getString            ->'101       '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from bit_table
+	2 getObject            ->'102'    	: java.lang.String
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->Object'   	: java.io.InputStream
+	2 getBigDecimal        ->'102'    	: java.math.BigDecimal
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'true'    	: java.lang.Boolean
+	2 getByte              ->'102'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'VARCHAR'.)
+	2 getCharacterStream   ->Object'   	: java.io.Reader
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getDouble            ->'102.0'    	: java.lang.Double
+	2 getFloat             ->'102.0'    	: java.lang.Float
+	2 getInt               ->'102'    	: java.lang.Integer
+	2 getLong              ->'102'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'102'    	: java.lang.Short
+	2 getString            ->'102'    	: java.lang.String
+	2 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype long varchar
+select col_3 from bit_table
+	3 getObject            ->'103'    	: java.lang.String
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->Object'   	: java.io.InputStream
+	3 getBigDecimal        ->'103'    	: java.math.BigDecimal
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'true'    	: java.lang.Boolean
+	3 getByte              ->'103'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'LONG VARCHAR'.)
+	3 getCharacterStream   ->Object'   	: java.io.Reader
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getDouble            ->'103.0'    	: java.lang.Double
+	3 getFloat             ->'103.0'    	: java.lang.Float
+	3 getInt               ->'103'    	: java.lang.Integer
+	3 getLong              ->'103'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'103'    	: java.lang.Short
+	3 getString            ->'103'    	: java.lang.String
+	3 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype char(10) for bit data
+select col_4 from bit_table
+	4 getObject            ->Object'   	: byte[]
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->Object'   	: java.io.InputStream
+	4 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBinaryStream      ->Object'   	: java.io.InputStream
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBytes             ->Object'   	: byte[]
+	4 getCharacterStream   ->Object'   	: java.io.Reader
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getString            ->'00310030003420202020'    	: java.lang.String
+	4 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+=== Columntype long varchar for bit data
+select col_5 from bit_table
+	5 getObject            ->Object'   	: byte[]
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->Object'   	: java.io.InputStream
+	5 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBinaryStream      ->Object'   	: java.io.InputStream
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBytes             ->Object'   	: byte[]
+	5 getCharacterStream   ->Object'   	: java.io.Reader
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getString            ->'003100300035'    	: java.lang.String
+	5 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+=== Columntype blob(80)
+select col_6 from bit_table
+	6 getObject            ->Object'   	: java.sql.Blob
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->Object'   	: java.io.InputStream
+	6 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	6 getBinaryStream      ->Object'   	: java.io.InputStream
+	6 getBlob              ->Object'   	: java.sql.Blob
+	6 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	6 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	6 getBytes             ->Object'   	: byte[]
+	6 getCharacterStream   ->Object'   	: java.io.Reader
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	6 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	6 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	6 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	6 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	6 getString            ->'003100300036'    	: java.lang.String
+	6 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	6 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+=== Columntype char (8 ) for bit data
+select typecol from bit_table
+	7 getObject            ->Object'   	: byte[]
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->Object'   	: java.io.InputStream
+	7 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBinaryStream      ->Object'   	: java.io.InputStream
+	7 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBytes             ->Object'   	: byte[]
+	7 getCharacterStream   ->Object'   	: java.io.Reader
+	7 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getString            ->'0031003000372020'    	: java.lang.String
+	7 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+---< METADATA TESTS
+select col_0 from bit_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '100' : java.lang.Integer
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from bit_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '101       ' : java.lang.String
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from bit_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '102' : java.lang.String
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from bit_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '103' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from bit_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_5 from bit_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_6 from bit_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select typecol from bit_table
+	---- 1
+	Column    : TYPECOL
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : TYPECOL
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'CHAR () FOR BIT DATA'.
+select cast( col_1 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_2 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'VARCHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_3 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_4 as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_5 as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select cast( col_6 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'INTEGER'.
+select cast( typecol as char(10) ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CHAR'.
+select cast( typecol as varchar(80) ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'VARCHAR'.
+select cast( typecol as long varchar ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'LONG VARCHAR'.
+select cast( typecol as char(10) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+select cast( typecol as long varchar for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+select cast( typecol as blob(80) ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select cast( typecol as char (8 ) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+drop table bit_table
+create table bit_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol char (8 ) for bit data )
+insert into bit_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS char (8 ) for bit data) )
+insert into bit_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into bit_table ( col_1 ) values ( 'true' )
+insert into bit_table ( col_2 ) values ( 'true' )
+insert into bit_table ( col_3 ) values ( 'true' )
+insert into bit_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into bit_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into bit_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into bit_table ( typecol ) values cast ( X'0074007200750065'  AS char (8 ) for bit data)
+=== Columntype int
+select col_0 from bit_table
+	0 getObject            ->'100'    	: java.lang.Integer
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->'100'    	: java.math.BigDecimal
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'true'    	: java.lang.Boolean
+	0 getByte              ->'100'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'INTEGER'.)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'INTEGER'.)
+	0 getDouble            ->'100.0'    	: java.lang.Double
+	0 getFloat             ->'100.0'    	: java.lang.Float
+	0 getInt               ->'100'    	: java.lang.Integer
+	0 getLong              ->'100'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'100'    	: java.lang.Short
+	0 getString            ->'100'    	: java.lang.String
+	0 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'INTEGER'.)
+	0 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'INTEGER'.)
+=== Columntype char(10)
+select col_1 from bit_table
+	1 getObject            ->'101       '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->'101'    	: java.math.BigDecimal
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->'101'    	: java.lang.Byte
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->'101.0'    	: java.lang.Double
+	1 getFloat             ->'101.0'    	: java.lang.Float
+	1 getInt               ->'101'    	: java.lang.Integer
+	1 getLong              ->'101'    	: java.lang.Long
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->'101'    	: java.lang.Short
+	1 getString            ->'101       '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from bit_table
+	2 getObject            ->'102'    	: java.lang.String
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->Object'   	: java.io.InputStream
+	2 getBigDecimal        ->'102'    	: java.math.BigDecimal
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'true'    	: java.lang.Boolean
+	2 getByte              ->'102'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'VARCHAR'.)
+	2 getCharacterStream   ->Object'   	: java.io.Reader
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getDouble            ->'102.0'    	: java.lang.Double
+	2 getFloat             ->'102.0'    	: java.lang.Float
+	2 getInt               ->'102'    	: java.lang.Integer
+	2 getLong              ->'102'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'102'    	: java.lang.Short
+	2 getString            ->'102'    	: java.lang.String
+	2 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype long varchar
+select col_3 from bit_table
+	3 getObject            ->'103'    	: java.lang.String
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->Object'   	: java.io.InputStream
+	3 getBigDecimal        ->'103'    	: java.math.BigDecimal
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'true'    	: java.lang.Boolean
+	3 getByte              ->'103'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'LONG VARCHAR'.)
+	3 getCharacterStream   ->Object'   	: java.io.Reader
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getDouble            ->'103.0'    	: java.lang.Double
+	3 getFloat             ->'103.0'    	: java.lang.Float
+	3 getInt               ->'103'    	: java.lang.Integer
+	3 getLong              ->'103'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'103'    	: java.lang.Short
+	3 getString            ->'103'    	: java.lang.String
+	3 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype char(10) for bit data
+select col_4 from bit_table
+	4 getObject            ->Object'   	: byte[]
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->Object'   	: java.io.InputStream
+	4 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBinaryStream      ->Object'   	: java.io.InputStream
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBytes             ->Object'   	: byte[]
+	4 getCharacterStream   ->Object'   	: java.io.Reader
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getString            ->'00310030003420202020'    	: java.lang.String
+	4 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+=== Columntype long varchar for bit data
+select col_5 from bit_table
+	5 getObject            ->Object'   	: byte[]
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->Object'   	: java.io.InputStream
+	5 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBinaryStream      ->Object'   	: java.io.InputStream
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBytes             ->Object'   	: byte[]
+	5 getCharacterStream   ->Object'   	: java.io.Reader
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getString            ->'003100300035'    	: java.lang.String
+	5 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+=== Columntype blob(80)
+select col_6 from bit_table
+	6 getObject            ->Object'   	: java.sql.Blob
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->Object'   	: java.io.InputStream
+	6 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	6 getBinaryStream      ->Object'   	: java.io.InputStream
+	6 getBlob              ->Object'   	: java.sql.Blob
+	6 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	6 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	6 getBytes             ->Object'   	: byte[]
+	6 getCharacterStream   ->Object'   	: java.io.Reader
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	6 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	6 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	6 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	6 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	6 getString            ->'003100300036'    	: java.lang.String
+	6 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	6 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+=== Columntype char (8 ) for bit data
+select typecol from bit_table
+	7 getObject            ->Object'   	: byte[]
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->Object'   	: java.io.InputStream
+	7 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBinaryStream      ->Object'   	: java.io.InputStream
+	7 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getBytes             ->Object'   	: byte[]
+	7 getCharacterStream   ->Object'   	: java.io.Reader
+	7 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getString            ->'0031003000372020'    	: java.lang.String
+	7 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	7 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+---< METADATA TESTS
+select col_0 from bit_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '100' : java.lang.Integer
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from bit_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '101       ' : java.lang.String
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from bit_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '102' : java.lang.String
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from bit_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '103' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from bit_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_5 from bit_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_6 from bit_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select typecol from bit_table
+	---- 1
+	Column    : TYPECOL
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : TYPECOL
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'CHAR () FOR BIT DATA'.
+select cast( col_1 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_2 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'VARCHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_3 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR' to 'CHAR () FOR BIT DATA'.
+select cast( col_4 as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_5 as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select cast( col_6 as char (8) for bit data ) from bit_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as char (8) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'INTEGER'.
+select cast( typecol as char(10) ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CHAR'.
+select cast( typecol as varchar(80) ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'VARCHAR'.
+select cast( typecol as long varchar ) from bit_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'LONG VARCHAR'.
+select cast( typecol as char(10) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+select cast( typecol as long varchar for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+select cast( typecol as blob(80) ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select cast( typecol as char (8 ) for bit data ) from bit_table
+	---- 1
+	Column    : 1
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : 1
+	DisplaySz : 16
+	Precision : 8
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+drop table bit_table
+create table blob_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol blob (2 M) )
+insert into blob_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS blob (2 M)) )
+insert into blob_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into blob_table ( col_1 ) values ( 'true' )
+insert into blob_table ( col_2 ) values ( 'true' )
+insert into blob_table ( col_3 ) values ( 'true' )
+insert into blob_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into blob_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into blob_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into blob_table ( typecol ) values cast ( X'0074007200750065'  AS blob (2 M))
+=== Columntype int
+select col_0 from blob_table
+	0 getObject            ->'100'    	: java.lang.Integer
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->'100'    	: java.math.BigDecimal
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'true'    	: java.lang.Boolean
+	0 getByte              ->'100'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'INTEGER'.)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'INTEGER'.)
+	0 getDouble            ->'100.0'    	: java.lang.Double
+	0 getFloat             ->'100.0'    	: java.lang.Float
+	0 getInt               ->'100'    	: java.lang.Integer
+	0 getLong              ->'100'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'100'    	: java.lang.Short
+	0 getString            ->'100'    	: java.lang.String
+	0 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'INTEGER'.)
+	0 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'INTEGER'.)
+=== Columntype char(10)
+select col_1 from blob_table
+	1 getObject            ->'101       '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->'101'    	: java.math.BigDecimal
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->'101'    	: java.lang.Byte
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->'101.0'    	: java.lang.Double
+	1 getFloat             ->'101.0'    	: java.lang.Float
+	1 getInt               ->'101'    	: java.lang.Integer
+	1 getLong              ->'101'    	: java.lang.Long
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->'101'    	: java.lang.Short
+	1 getString            ->'101       '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from blob_table
+	2 getObject            ->'102'    	: java.lang.String
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->Object'   	: java.io.InputStream
+	2 getBigDecimal        ->'102'    	: java.math.BigDecimal
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'true'    	: java.lang.Boolean
+	2 getByte              ->'102'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'VARCHAR'.)
+	2 getCharacterStream   ->Object'   	: java.io.Reader
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getDouble            ->'102.0'    	: java.lang.Double
+	2 getFloat             ->'102.0'    	: java.lang.Float
+	2 getInt               ->'102'    	: java.lang.Integer
+	2 getLong              ->'102'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'102'    	: java.lang.Short
+	2 getString            ->'102'    	: java.lang.String
+	2 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype long varchar
+select col_3 from blob_table
+	3 getObject            ->'103'    	: java.lang.String
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->Object'   	: java.io.InputStream
+	3 getBigDecimal        ->'103'    	: java.math.BigDecimal
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'true'    	: java.lang.Boolean
+	3 getByte              ->'103'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'LONG VARCHAR'.)
+	3 getCharacterStream   ->Object'   	: java.io.Reader
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getDouble            ->'103.0'    	: java.lang.Double
+	3 getFloat             ->'103.0'    	: java.lang.Float
+	3 getInt               ->'103'    	: java.lang.Integer
+	3 getLong              ->'103'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'103'    	: java.lang.Short
+	3 getString            ->'103'    	: java.lang.String
+	3 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype char(10) for bit data
+select col_4 from blob_table
+	4 getObject            ->Object'   	: byte[]
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->Object'   	: java.io.InputStream
+	4 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBinaryStream      ->Object'   	: java.io.InputStream
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBytes             ->Object'   	: byte[]
+	4 getCharacterStream   ->Object'   	: java.io.Reader
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getString            ->'00310030003420202020'    	: java.lang.String
+	4 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+=== Columntype long varchar for bit data
+select col_5 from blob_table
+	5 getObject            ->Object'   	: byte[]
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->Object'   	: java.io.InputStream
+	5 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBinaryStream      ->Object'   	: java.io.InputStream
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBytes             ->Object'   	: byte[]
+	5 getCharacterStream   ->Object'   	: java.io.Reader
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getString            ->'003100300035'    	: java.lang.String
+	5 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+=== Columntype blob(80)
+select col_6 from blob_table
+	6 getObject            ->Object'   	: java.sql.Blob
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->Object'   	: java.io.InputStream
+	6 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	6 getBinaryStream      ->Object'   	: java.io.InputStream
+	6 getBlob              ->Object'   	: java.sql.Blob
+	6 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	6 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	6 getBytes             ->Object'   	: byte[]
+	6 getCharacterStream   ->Object'   	: java.io.Reader
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	6 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	6 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	6 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	6 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	6 getString            ->'003100300036'    	: java.lang.String
+	6 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	6 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+=== Columntype blob (2 M)
+select typecol from blob_table
+	7 getObject            ->Object'   	: java.sql.Blob
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->Object'   	: java.io.InputStream
+	7 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	7 getBinaryStream      ->Object'   	: java.io.InputStream
+	7 getBlob              ->Object'   	: java.sql.Blob
+	7 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	7 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	7 getBytes             ->Object'   	: byte[]
+	7 getCharacterStream   ->Object'   	: java.io.Reader
+	7 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	7 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	7 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	7 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	7 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	7 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	7 getString            ->'003100300037'    	: java.lang.String
+	7 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	7 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+---< METADATA TESTS
+select col_0 from blob_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '100' : java.lang.Integer
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from blob_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '101       ' : java.lang.String
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from blob_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '102' : java.lang.String
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from blob_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '103' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from blob_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_5 from blob_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_6 from blob_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select typecol from blob_table
+	---- 1
+	Column    : TYPECOL
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : TYPECOL
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as blob(2 M) ) from blob_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'BLOB'.
+select cast( col_1 as blob(2 M) ) from blob_table
+	SQL Exception: Cannot convert types 'CHAR' to 'BLOB'.
+select cast( col_2 as blob(2 M) ) from blob_table
+	SQL Exception: Cannot convert types 'VARCHAR' to 'BLOB'.
+select cast( col_3 as blob(2 M) ) from blob_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR' to 'BLOB'.
+select cast( col_4 as blob(2 M) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_5 as blob(2 M) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+select cast( col_6 as blob(2 M) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select cast( typecol as blob(2 M) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'INTEGER'.
+select cast( typecol as char(10) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR'.
+select cast( typecol as varchar(80) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'VARCHAR'.
+select cast( typecol as long varchar ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR'.
+select cast( typecol as char(10) for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as long varchar for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR FOR BIT DATA'.
+select cast( typecol as blob(80) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select cast( typecol as blob (2 M) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4194304
+	Precision : 2097152
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+drop table blob_table
+create table blob_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol blob (2 K) )
+insert into blob_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS blob (2 K)) )
+insert into blob_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into blob_table ( col_1 ) values ( 'true' )
+insert into blob_table ( col_2 ) values ( 'true' )
+insert into blob_table ( col_3 ) values ( 'true' )
+insert into blob_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into blob_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into blob_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into blob_table ( typecol ) values cast ( X'0074007200750065'  AS blob (2 K))
+=== Columntype int
+select col_0 from blob_table
+	0 getObject            ->'100'    	: java.lang.Integer
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->'100'    	: java.math.BigDecimal
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'true'    	: java.lang.Boolean
+	0 getByte              ->'100'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'INTEGER'.)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'INTEGER'.)
+	0 getDouble            ->'100.0'    	: java.lang.Double
+	0 getFloat             ->'100.0'    	: java.lang.Float
+	0 getInt               ->'100'    	: java.lang.Integer
+	0 getLong              ->'100'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'100'    	: java.lang.Short
+	0 getString            ->'100'    	: java.lang.String
+	0 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'INTEGER'.)
+	0 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'INTEGER'.)
+=== Columntype char(10)
+select col_1 from blob_table
+	1 getObject            ->'101       '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->'101'    	: java.math.BigDecimal
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->'101'    	: java.lang.Byte
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->'101.0'    	: java.lang.Double
+	1 getFloat             ->'101.0'    	: java.lang.Float
+	1 getInt               ->'101'    	: java.lang.Integer
+	1 getLong              ->'101'    	: java.lang.Long
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->'101'    	: java.lang.Short
+	1 getString            ->'101       '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from blob_table
+	2 getObject            ->'102'    	: java.lang.String
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->Object'   	: java.io.InputStream
+	2 getBigDecimal        ->'102'    	: java.math.BigDecimal
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'true'    	: java.lang.Boolean
+	2 getByte              ->'102'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'VARCHAR'.)
+	2 getCharacterStream   ->Object'   	: java.io.Reader
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getDouble            ->'102.0'    	: java.lang.Double
+	2 getFloat             ->'102.0'    	: java.lang.Float
+	2 getInt               ->'102'    	: java.lang.Integer
+	2 getLong              ->'102'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'102'    	: java.lang.Short
+	2 getString            ->'102'    	: java.lang.String
+	2 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype long varchar
+select col_3 from blob_table
+	3 getObject            ->'103'    	: java.lang.String
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->Object'   	: java.io.InputStream
+	3 getBigDecimal        ->'103'    	: java.math.BigDecimal
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'true'    	: java.lang.Boolean
+	3 getByte              ->'103'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'LONG VARCHAR'.)
+	3 getCharacterStream   ->Object'   	: java.io.Reader
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getDouble            ->'103.0'    	: java.lang.Double
+	3 getFloat             ->'103.0'    	: java.lang.Float
+	3 getInt               ->'103'    	: java.lang.Integer
+	3 getLong              ->'103'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'103'    	: java.lang.Short
+	3 getString            ->'103'    	: java.lang.String
+	3 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype char(10) for bit data
+select col_4 from blob_table
+	4 getObject            ->Object'   	: byte[]
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->Object'   	: java.io.InputStream
+	4 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBinaryStream      ->Object'   	: java.io.InputStream
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBytes             ->Object'   	: byte[]
+	4 getCharacterStream   ->Object'   	: java.io.Reader
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getString            ->'00310030003420202020'    	: java.lang.String
+	4 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+=== Columntype long varchar for bit data
+select col_5 from blob_table
+	5 getObject            ->Object'   	: byte[]
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->Object'   	: java.io.InputStream
+	5 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBinaryStream      ->Object'   	: java.io.InputStream
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBytes             ->Object'   	: byte[]
+	5 getCharacterStream   ->Object'   	: java.io.Reader
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getString            ->'003100300035'    	: java.lang.String
+	5 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+=== Columntype blob(80)
+select col_6 from blob_table
+	6 getObject            ->Object'   	: java.sql.Blob
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->Object'   	: java.io.InputStream
+	6 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	6 getBinaryStream      ->Object'   	: java.io.InputStream
+	6 getBlob              ->Object'   	: java.sql.Blob
+	6 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	6 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	6 getBytes             ->Object'   	: byte[]
+	6 getCharacterStream   ->Object'   	: java.io.Reader
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	6 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	6 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	6 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	6 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	6 getString            ->'003100300036'    	: java.lang.String
+	6 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	6 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+=== Columntype blob (2 K)
+select typecol from blob_table
+	7 getObject            ->Object'   	: java.sql.Blob
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->Object'   	: java.io.InputStream
+	7 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	7 getBinaryStream      ->Object'   	: java.io.InputStream
+	7 getBlob              ->Object'   	: java.sql.Blob
+	7 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	7 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	7 getBytes             ->Object'   	: byte[]
+	7 getCharacterStream   ->Object'   	: java.io.Reader
+	7 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	7 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	7 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	7 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	7 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	7 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	7 getString            ->'003100300037'    	: java.lang.String
+	7 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	7 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+---< METADATA TESTS
+select col_0 from blob_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '100' : java.lang.Integer
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from blob_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '101       ' : java.lang.String
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from blob_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '102' : java.lang.String
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from blob_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '103' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from blob_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_5 from blob_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_6 from blob_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select typecol from blob_table
+	---- 1
+	Column    : TYPECOL
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : TYPECOL
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as blob(2 K) ) from blob_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'BLOB'.
+select cast( col_1 as blob(2 K) ) from blob_table
+	SQL Exception: Cannot convert types 'CHAR' to 'BLOB'.
+select cast( col_2 as blob(2 K) ) from blob_table
+	SQL Exception: Cannot convert types 'VARCHAR' to 'BLOB'.
+select cast( col_3 as blob(2 K) ) from blob_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR' to 'BLOB'.
+select cast( col_4 as blob(2 K) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_5 as blob(2 K) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+select cast( col_6 as blob(2 K) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select cast( typecol as blob(2 K) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'INTEGER'.
+select cast( typecol as char(10) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR'.
+select cast( typecol as varchar(80) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'VARCHAR'.
+select cast( typecol as long varchar ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR'.
+select cast( typecol as char(10) for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as long varchar for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR FOR BIT DATA'.
+select cast( typecol as blob(80) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select cast( typecol as blob (2 K) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 4096
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+drop table blob_table
+create table blob_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol blob (64  ) )
+insert into blob_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS blob (64  )) )
+insert into blob_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into blob_table ( col_1 ) values ( 'true' )
+insert into blob_table ( col_2 ) values ( 'true' )
+insert into blob_table ( col_3 ) values ( 'true' )
+insert into blob_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into blob_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into blob_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into blob_table ( typecol ) values cast ( X'0074007200750065'  AS blob (64  ))
+=== Columntype int
+select col_0 from blob_table
+	0 getObject            ->'100'    	: java.lang.Integer
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->'100'    	: java.math.BigDecimal
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'true'    	: java.lang.Boolean
+	0 getByte              ->'100'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'INTEGER'.)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'INTEGER'.)
+	0 getDouble            ->'100.0'    	: java.lang.Double
+	0 getFloat             ->'100.0'    	: java.lang.Float
+	0 getInt               ->'100'    	: java.lang.Integer
+	0 getLong              ->'100'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'100'    	: java.lang.Short
+	0 getString            ->'100'    	: java.lang.String
+	0 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'INTEGER'.)
+	0 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'INTEGER'.)
+=== Columntype char(10)
+select col_1 from blob_table
+	1 getObject            ->'101       '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->'101'    	: java.math.BigDecimal
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->'101'    	: java.lang.Byte
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->'101.0'    	: java.lang.Double
+	1 getFloat             ->'101.0'    	: java.lang.Float
+	1 getInt               ->'101'    	: java.lang.Integer
+	1 getLong              ->'101'    	: java.lang.Long
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->'101'    	: java.lang.Short
+	1 getString            ->'101       '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from blob_table
+	2 getObject            ->'102'    	: java.lang.String
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->Object'   	: java.io.InputStream
+	2 getBigDecimal        ->'102'    	: java.math.BigDecimal
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'true'    	: java.lang.Boolean
+	2 getByte              ->'102'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'VARCHAR'.)
+	2 getCharacterStream   ->Object'   	: java.io.Reader
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getDouble            ->'102.0'    	: java.lang.Double
+	2 getFloat             ->'102.0'    	: java.lang.Float
+	2 getInt               ->'102'    	: java.lang.Integer
+	2 getLong              ->'102'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'102'    	: java.lang.Short
+	2 getString            ->'102'    	: java.lang.String
+	2 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	2 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype long varchar
+select col_3 from blob_table
+	3 getObject            ->'103'    	: java.lang.String
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->Object'   	: java.io.InputStream
+	3 getBigDecimal        ->'103'    	: java.math.BigDecimal
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'true'    	: java.lang.Boolean
+	3 getByte              ->'103'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'LONG VARCHAR'.)
+	3 getCharacterStream   ->Object'   	: java.io.Reader
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getDouble            ->'103.0'    	: java.lang.Double
+	3 getFloat             ->'103.0'    	: java.lang.Float
+	3 getInt               ->'103'    	: java.lang.Integer
+	3 getLong              ->'103'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'103'    	: java.lang.Short
+	3 getString            ->'103'    	: java.lang.String
+	3 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	3 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype char(10) for bit data
+select col_4 from blob_table
+	4 getObject            ->Object'   	: byte[]
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->Object'   	: java.io.InputStream
+	4 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBinaryStream      ->Object'   	: java.io.InputStream
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBytes             ->Object'   	: byte[]
+	4 getCharacterStream   ->Object'   	: java.io.Reader
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getString            ->'00310030003420202020'    	: java.lang.String
+	4 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'CHAR () FOR BIT DATA'.)
+=== Columntype long varchar for bit data
+select col_5 from blob_table
+	5 getObject            ->Object'   	: byte[]
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->Object'   	: java.io.InputStream
+	5 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBinaryStream      ->Object'   	: java.io.InputStream
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBytes             ->Object'   	: byte[]
+	5 getCharacterStream   ->Object'   	: java.io.Reader
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getString            ->'003100300035'    	: java.lang.String
+	5 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+=== Columntype blob(80)
+select col_6 from blob_table
+	6 getObject            ->Object'   	: java.sql.Blob
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->Object'   	: java.io.InputStream
+	6 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	6 getBinaryStream      ->Object'   	: java.io.InputStream
+	6 getBlob              ->Object'   	: java.sql.Blob
+	6 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	6 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	6 getBytes             ->Object'   	: byte[]
+	6 getCharacterStream   ->Object'   	: java.io.Reader
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	6 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	6 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	6 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	6 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	6 getString            ->'003100300036'    	: java.lang.String
+	6 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	6 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+=== Columntype blob (64  )
+select typecol from blob_table
+	7 getObject            ->Object'   	: java.sql.Blob
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->Object'   	: java.io.InputStream
+	7 getBigDecimal        ->		EXCEPTION (An attempt was made to get a data value of type 'java.math.BigDecimal' from a data value of type 'BLOB'.)
+	7 getBinaryStream      ->Object'   	: java.io.InputStream
+	7 getBlob              ->Object'   	: java.sql.Blob
+	7 getBoolean           ->		EXCEPTION (An attempt was made to get a data value of type 'boolean' from a data value of type 'BLOB'.)
+	7 getByte              ->		EXCEPTION (An attempt was made to get a data value of type 'byte' from a data value of type 'BLOB'.)
+	7 getBytes             ->Object'   	: byte[]
+	7 getCharacterStream   ->Object'   	: java.io.Reader
+	7 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	7 getDate              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Date' from a data value of type 'BLOB'.)
+	7 getDouble            ->		EXCEPTION (An attempt was made to get a data value of type 'double' from a data value of type 'BLOB'.)
+	7 getFloat             ->		EXCEPTION (An attempt was made to get a data value of type 'float' from a data value of type 'BLOB'.)
+	7 getInt               ->		EXCEPTION (An attempt was made to get a data value of type 'int' from a data value of type 'BLOB'.)
+	7 getLong              ->		EXCEPTION (An attempt was made to get a data value of type 'long' from a data value of type 'BLOB'.)
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->		EXCEPTION (An attempt was made to get a data value of type 'short' from a data value of type 'BLOB'.)
+	7 getString            ->'003100300037'    	: java.lang.String
+	7 getTime              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Time' from a data value of type 'BLOB'.)
+	7 getTimeStamp         ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Timestamp' from a data value of type 'BLOB'.)
+---< METADATA TESTS
+select col_0 from blob_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '100' : java.lang.Integer
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from blob_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '101       ' : java.lang.String
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from blob_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '102' : java.lang.String
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from blob_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = '103' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from blob_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_5 from blob_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_6 from blob_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select typecol from blob_table
+	---- 1
+	Column    : TYPECOL
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : TYPECOL
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as blob(64  ) ) from blob_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'BLOB'.
+select cast( col_1 as blob(64  ) ) from blob_table
+	SQL Exception: Cannot convert types 'CHAR' to 'BLOB'.
+select cast( col_2 as blob(64  ) ) from blob_table
+	SQL Exception: Cannot convert types 'VARCHAR' to 'BLOB'.
+select cast( col_3 as blob(64  ) ) from blob_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR' to 'BLOB'.
+select cast( col_4 as blob(64  ) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_5 as blob(64  ) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+select cast( col_6 as blob(64  ) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+select cast( typecol as blob(64  ) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'INTEGER'.
+select cast( typecol as char(10) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR'.
+select cast( typecol as varchar(80) ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'VARCHAR'.
+select cast( typecol as long varchar ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR'.
+select cast( typecol as char(10) for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as long varchar for bit data ) from blob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'LONG VARCHAR FOR BIT DATA'.
+select cast( typecol as blob(80) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select cast( typecol as blob (64  ) ) from blob_table
+	---- 1
+	Column    : 1
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : 1
+	DisplaySz : 128
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Blob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+drop table blob_table
+create table clob_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol clob (2 K) )
+insert into clob_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS clob (2 K)) )
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+insert into clob_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into clob_table ( col_1 ) values ( 'true' )
+insert into clob_table ( col_2 ) values ( 'true' )
+insert into clob_table ( col_3 ) values ( 'true' )
+insert into clob_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into clob_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into clob_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into clob_table ( typecol ) values cast ( X'0074007200750065'  AS clob (2 K))
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+=== Columntype int
+select col_0 from clob_table
+	0 getObject            ->		EXCEPTION (null)
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->		EXCEPTION (null)
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'false'    	: java.lang.Boolean
+	0 getByte              ->'0'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (null)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (null)
+	0 getDouble            ->'0.0'    	: java.lang.Double
+	0 getFloat             ->'0.0'    	: java.lang.Float
+	0 getInt               ->'0'    	: java.lang.Integer
+	0 getLong              ->'0'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'0'    	: java.lang.Short
+	0 getString            ->		EXCEPTION (null)
+	0 getTime              ->		EXCEPTION (null)
+	0 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype char(10)
+select col_1 from clob_table
+	1 getObject            ->'true      '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->		EXCEPTION (Invalid character string format for type java.math.BigDecimal.)
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->		EXCEPTION (Invalid character string format for type byte.)
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->		EXCEPTION (Invalid character string format for type double.)
+	1 getFloat             ->		EXCEPTION (Invalid character string format for type float.)
+	1 getInt               ->		EXCEPTION (Invalid character string format for type int.)
+	1 getLong              ->		EXCEPTION (Invalid character string format for type long.)
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->		EXCEPTION (Invalid character string format for type short.)
+	1 getString            ->'true      '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from clob_table
+	2 getObject            ->		EXCEPTION (null)
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->		EXCEPTION (null)
+	2 getBigDecimal        ->		EXCEPTION (null)
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'false'    	: java.lang.Boolean
+	2 getByte              ->'0'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (null)
+	2 getCharacterStream   ->		EXCEPTION (null)
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (null)
+	2 getDouble            ->'0.0'    	: java.lang.Double
+	2 getFloat             ->'0.0'    	: java.lang.Float
+	2 getInt               ->'0'    	: java.lang.Integer
+	2 getLong              ->'0'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'0'    	: java.lang.Short
+	2 getString            ->		EXCEPTION (null)
+	2 getTime              ->		EXCEPTION (null)
+	2 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype long varchar
+select col_3 from clob_table
+	3 getObject            ->		EXCEPTION (null)
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->		EXCEPTION (null)
+	3 getBigDecimal        ->		EXCEPTION (null)
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'false'    	: java.lang.Boolean
+	3 getByte              ->'0'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (null)
+	3 getCharacterStream   ->		EXCEPTION (null)
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (null)
+	3 getDouble            ->'0.0'    	: java.lang.Double
+	3 getFloat             ->'0.0'    	: java.lang.Float
+	3 getInt               ->'0'    	: java.lang.Integer
+	3 getLong              ->'0'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'0'    	: java.lang.Short
+	3 getString            ->		EXCEPTION (null)
+	3 getTime              ->		EXCEPTION (null)
+	3 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype char(10) for bit data
+select col_4 from clob_table
+	4 getObject            ->		EXCEPTION (null)
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->		EXCEPTION (null)
+	4 getBigDecimal        ->		EXCEPTION (null)
+	4 getBinaryStream      ->		EXCEPTION (null)
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->'false'    	: java.lang.Boolean
+	4 getByte              ->'0'    	: java.lang.Byte
+	4 getBytes             ->		EXCEPTION (null)
+	4 getCharacterStream   ->		EXCEPTION (null)
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (null)
+	4 getDouble            ->'0.0'    	: java.lang.Double
+	4 getFloat             ->'0.0'    	: java.lang.Float
+	4 getInt               ->'0'    	: java.lang.Integer
+	4 getLong              ->'0'    	: java.lang.Long
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->'0'    	: java.lang.Short
+	4 getString            ->		EXCEPTION (null)
+	4 getTime              ->		EXCEPTION (null)
+	4 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype long varchar for bit data
+select col_5 from clob_table
+	5 getObject            ->		EXCEPTION (null)
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->		EXCEPTION (null)
+	5 getBigDecimal        ->		EXCEPTION (null)
+	5 getBinaryStream      ->		EXCEPTION (null)
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->'false'    	: java.lang.Boolean
+	5 getByte              ->'0'    	: java.lang.Byte
+	5 getBytes             ->		EXCEPTION (null)
+	5 getCharacterStream   ->		EXCEPTION (null)
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (null)
+	5 getDouble            ->'0.0'    	: java.lang.Double
+	5 getFloat             ->'0.0'    	: java.lang.Float
+	5 getInt               ->'0'    	: java.lang.Integer
+	5 getLong              ->'0'    	: java.lang.Long
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->'0'    	: java.lang.Short
+	5 getString            ->		EXCEPTION (null)
+	5 getTime              ->		EXCEPTION (null)
+	5 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype blob(80)
+select col_6 from clob_table
+	6 getObject            ->		EXCEPTION (null)
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->		EXCEPTION (null)
+	6 getBigDecimal        ->		EXCEPTION (null)
+	6 getBinaryStream      ->		EXCEPTION (null)
+	6 getBlob              ->		EXCEPTION (null)
+	6 getBoolean           ->'false'    	: java.lang.Boolean
+	6 getByte              ->'0'    	: java.lang.Byte
+	6 getBytes             ->		EXCEPTION (null)
+	6 getCharacterStream   ->		EXCEPTION (null)
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (null)
+	6 getDouble            ->'0.0'    	: java.lang.Double
+	6 getFloat             ->'0.0'    	: java.lang.Float
+	6 getInt               ->'0'    	: java.lang.Integer
+	6 getLong              ->'0'    	: java.lang.Long
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->'0'    	: java.lang.Short
+	6 getString            ->		EXCEPTION (null)
+	6 getTime              ->		EXCEPTION (null)
+	6 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype clob (2 K)
+select typecol from clob_table
+	7 getObject            ->		EXCEPTION (null)
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->		EXCEPTION (null)
+	7 getBigDecimal        ->		EXCEPTION (null)
+	7 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CLOB'.)
+	7 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CLOB'.)
+	7 getBoolean           ->'false'    	: java.lang.Boolean
+	7 getByte              ->'0'    	: java.lang.Byte
+	7 getBytes             ->		EXCEPTION (null)
+	7 getCharacterStream   ->		EXCEPTION (null)
+	7 getClob              ->		EXCEPTION (null)
+	7 getDate              ->		EXCEPTION (null)
+	7 getDouble            ->'0.0'    	: java.lang.Double
+	7 getFloat             ->'0.0'    	: java.lang.Float
+	7 getInt               ->'0'    	: java.lang.Integer
+	7 getLong              ->'0'    	: java.lang.Long
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->'0'    	: java.lang.Short
+	7 getString            ->		EXCEPTION (null)
+	7 getTime              ->		EXCEPTION (null)
+	7 getTimeStamp         ->		EXCEPTION (null)
+---< METADATA TESTS
+select col_0 from clob_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from clob_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from clob_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from clob_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from clob_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_5 from clob_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+select col_6 from clob_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select typecol from clob_table
+	---- 1
+	Column    : TYPECOL
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : TYPECOL
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as clob(2 K) ) from clob_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'CLOB'.
+select cast( col_1 as clob(2 K) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_2 as clob(2 K) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_3 as clob(2 K) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_4 as clob(2 K) ) from clob_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+select cast( col_5 as clob(2 K) ) from clob_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR FOR BIT DATA' to 'CLOB'.
+select cast( col_6 as clob(2 K) ) from clob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CLOB'.
+select cast( typecol as clob(2 K) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'INTEGER'.
+select cast( typecol as char(10) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as varchar(80) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as long varchar ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as char(10) for bit data ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as long varchar for bit data ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'LONG VARCHAR FOR BIT DATA'.
+select cast( typecol as blob(80) ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'BLOB'.
+select cast( typecol as clob (2 K) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 2048
+	Precision : 2048
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+drop table clob_table
+create table clob_table ( dummy int , col_0 int, col_1 char(10), col_2 varchar(80), col_3 long varchar, col_4 char(10) for bit data, col_5 long varchar for bit data, col_6 blob(80), typecol clob (64  ) )
+insert into clob_table values ( 45 ,100,'101','102','103',X'003100300034',X'003100300035',CAST (X'003100300036' AS blob(80)),CAST (X'003100300037' AS clob (64  )) )
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+insert into clob_table ( col_0 ) values ( 'true' )
+	SQL Exception: Columns of type 'INTEGER' cannot hold values of type 'CHAR'. 
+insert into clob_table ( col_1 ) values ( 'true' )
+insert into clob_table ( col_2 ) values ( 'true' )
+insert into clob_table ( col_3 ) values ( 'true' )
+insert into clob_table ( col_4 ) values cast ( X'0074007200750065'  AS char(10) for bit data)
+insert into clob_table ( col_5 ) values cast ( X'0074007200750065'  AS long varchar for bit data)
+insert into clob_table ( col_6 ) values cast ( X'0074007200750065'  AS blob(80))
+insert into clob_table ( typecol ) values cast ( X'0074007200750065'  AS clob (64  ))
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+=== Columntype int
+select col_0 from clob_table
+	0 getObject            ->		EXCEPTION (null)
+	0 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	0 getAsciiStream       ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream(ASCII)' from a data value of type 'INTEGER'.)
+	0 getBigDecimal        ->		EXCEPTION (null)
+	0 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'INTEGER'.)
+	0 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.)
+	0 getBoolean           ->'false'    	: java.lang.Boolean
+	0 getByte              ->'0'    	: java.lang.Byte
+	0 getBytes             ->		EXCEPTION (null)
+	0 getCharacterStream   ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.Reader' from a data value of type 'INTEGER'.)
+	0 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.)
+	0 getDate              ->		EXCEPTION (null)
+	0 getDouble            ->'0.0'    	: java.lang.Double
+	0 getFloat             ->'0.0'    	: java.lang.Float
+	0 getInt               ->'0'    	: java.lang.Integer
+	0 getLong              ->'0'    	: java.lang.Long
+	0 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	0 getShort             ->'0'    	: java.lang.Short
+	0 getString            ->		EXCEPTION (null)
+	0 getTime              ->		EXCEPTION (null)
+	0 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype char(10)
+select col_1 from clob_table
+	1 getObject            ->'true      '    	: java.lang.String
+	1 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	1 getAsciiStream       ->Object'   	: java.io.InputStream
+	1 getBigDecimal        ->		EXCEPTION (Invalid character string format for type java.math.BigDecimal.)
+	1 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CHAR'.)
+	1 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR'.)
+	1 getBoolean           ->'true'    	: java.lang.Boolean
+	1 getByte              ->		EXCEPTION (Invalid character string format for type byte.)
+	1 getBytes             ->		EXCEPTION (An attempt was made to get a data value of type 'byte[]' from a data value of type 'CHAR'.)
+	1 getCharacterStream   ->Object'   	: java.io.Reader
+	1 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR'.)
+	1 getDate              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getDouble            ->		EXCEPTION (Invalid character string format for type double.)
+	1 getFloat             ->		EXCEPTION (Invalid character string format for type float.)
+	1 getInt               ->		EXCEPTION (Invalid character string format for type int.)
+	1 getLong              ->		EXCEPTION (Invalid character string format for type long.)
+	1 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	1 getShort             ->		EXCEPTION (Invalid character string format for type short.)
+	1 getString            ->'true      '    	: java.lang.String
+	1 getTime              ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+	1 getTimeStamp         ->		EXCEPTION (The syntax of the string representation of a datetime value is incorrect.)
+=== Columntype varchar(80)
+select col_2 from clob_table
+	2 getObject            ->		EXCEPTION (null)
+	2 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	2 getAsciiStream       ->		EXCEPTION (null)
+	2 getBigDecimal        ->		EXCEPTION (null)
+	2 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'VARCHAR'.)
+	2 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'VARCHAR'.)
+	2 getBoolean           ->'false'    	: java.lang.Boolean
+	2 getByte              ->'0'    	: java.lang.Byte
+	2 getBytes             ->		EXCEPTION (null)
+	2 getCharacterStream   ->		EXCEPTION (null)
+	2 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'VARCHAR'.)
+	2 getDate              ->		EXCEPTION (null)
+	2 getDouble            ->'0.0'    	: java.lang.Double
+	2 getFloat             ->'0.0'    	: java.lang.Float
+	2 getInt               ->'0'    	: java.lang.Integer
+	2 getLong              ->'0'    	: java.lang.Long
+	2 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	2 getShort             ->'0'    	: java.lang.Short
+	2 getString            ->		EXCEPTION (null)
+	2 getTime              ->		EXCEPTION (null)
+	2 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype long varchar
+select col_3 from clob_table
+	3 getObject            ->		EXCEPTION (null)
+	3 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	3 getAsciiStream       ->		EXCEPTION (null)
+	3 getBigDecimal        ->		EXCEPTION (null)
+	3 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'LONG VARCHAR'.)
+	3 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR'.)
+	3 getBoolean           ->'false'    	: java.lang.Boolean
+	3 getByte              ->'0'    	: java.lang.Byte
+	3 getBytes             ->		EXCEPTION (null)
+	3 getCharacterStream   ->		EXCEPTION (null)
+	3 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR'.)
+	3 getDate              ->		EXCEPTION (null)
+	3 getDouble            ->'0.0'    	: java.lang.Double
+	3 getFloat             ->'0.0'    	: java.lang.Float
+	3 getInt               ->'0'    	: java.lang.Integer
+	3 getLong              ->'0'    	: java.lang.Long
+	3 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	3 getShort             ->'0'    	: java.lang.Short
+	3 getString            ->		EXCEPTION (null)
+	3 getTime              ->		EXCEPTION (null)
+	3 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype char(10) for bit data
+select col_4 from clob_table
+	4 getObject            ->		EXCEPTION (null)
+	4 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	4 getAsciiStream       ->		EXCEPTION (null)
+	4 getBigDecimal        ->		EXCEPTION (null)
+	4 getBinaryStream      ->		EXCEPTION (null)
+	4 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getBoolean           ->'false'    	: java.lang.Boolean
+	4 getByte              ->'0'    	: java.lang.Byte
+	4 getBytes             ->		EXCEPTION (null)
+	4 getCharacterStream   ->		EXCEPTION (null)
+	4 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'CHAR () FOR BIT DATA'.)
+	4 getDate              ->		EXCEPTION (null)
+	4 getDouble            ->'0.0'    	: java.lang.Double
+	4 getFloat             ->'0.0'    	: java.lang.Float
+	4 getInt               ->'0'    	: java.lang.Integer
+	4 getLong              ->'0'    	: java.lang.Long
+	4 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	4 getShort             ->'0'    	: java.lang.Short
+	4 getString            ->		EXCEPTION (null)
+	4 getTime              ->		EXCEPTION (null)
+	4 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype long varchar for bit data
+select col_5 from clob_table
+	5 getObject            ->		EXCEPTION (null)
+	5 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	5 getAsciiStream       ->		EXCEPTION (null)
+	5 getBigDecimal        ->		EXCEPTION (null)
+	5 getBinaryStream      ->		EXCEPTION (null)
+	5 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getBoolean           ->'false'    	: java.lang.Boolean
+	5 getByte              ->'0'    	: java.lang.Byte
+	5 getBytes             ->		EXCEPTION (null)
+	5 getCharacterStream   ->		EXCEPTION (null)
+	5 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'LONG VARCHAR FOR BIT DATA'.)
+	5 getDate              ->		EXCEPTION (null)
+	5 getDouble            ->'0.0'    	: java.lang.Double
+	5 getFloat             ->'0.0'    	: java.lang.Float
+	5 getInt               ->'0'    	: java.lang.Integer
+	5 getLong              ->'0'    	: java.lang.Long
+	5 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	5 getShort             ->'0'    	: java.lang.Short
+	5 getString            ->		EXCEPTION (null)
+	5 getTime              ->		EXCEPTION (null)
+	5 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype blob(80)
+select col_6 from clob_table
+	6 getObject            ->		EXCEPTION (null)
+	6 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	6 getAsciiStream       ->		EXCEPTION (null)
+	6 getBigDecimal        ->		EXCEPTION (null)
+	6 getBinaryStream      ->		EXCEPTION (null)
+	6 getBlob              ->		EXCEPTION (null)
+	6 getBoolean           ->'false'    	: java.lang.Boolean
+	6 getByte              ->'0'    	: java.lang.Byte
+	6 getBytes             ->		EXCEPTION (null)
+	6 getCharacterStream   ->		EXCEPTION (null)
+	6 getClob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'BLOB'.)
+	6 getDate              ->		EXCEPTION (null)
+	6 getDouble            ->'0.0'    	: java.lang.Double
+	6 getFloat             ->'0.0'    	: java.lang.Float
+	6 getInt               ->'0'    	: java.lang.Integer
+	6 getLong              ->'0'    	: java.lang.Long
+	6 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	6 getShort             ->'0'    	: java.lang.Short
+	6 getString            ->		EXCEPTION (null)
+	6 getTime              ->		EXCEPTION (null)
+	6 getTimeStamp         ->		EXCEPTION (null)
+=== Columntype clob (64  )
+select typecol from clob_table
+	7 getObject            ->		EXCEPTION (null)
+	7 getArray             ->		EXCEPTION (Feature not implemented: no details.)
+	7 getAsciiStream       ->		EXCEPTION (null)
+	7 getBigDecimal        ->		EXCEPTION (null)
+	7 getBinaryStream      ->		EXCEPTION (An attempt was made to get a data value of type 'java.io.InputStream' from a data value of type 'CLOB'.)
+	7 getBlob              ->		EXCEPTION (An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'CLOB'.)
+	7 getBoolean           ->'false'    	: java.lang.Boolean
+	7 getByte              ->'0'    	: java.lang.Byte
+	7 getBytes             ->		EXCEPTION (null)
+	7 getCharacterStream   ->		EXCEPTION (null)
+	7 getClob              ->		EXCEPTION (null)
+	7 getDate              ->		EXCEPTION (null)
+	7 getDouble            ->'0.0'    	: java.lang.Double
+	7 getFloat             ->'0.0'    	: java.lang.Float
+	7 getInt               ->'0'    	: java.lang.Integer
+	7 getLong              ->'0'    	: java.lang.Long
+	7 getRef               ->		EXCEPTION (Feature not implemented: no details.)
+	7 getShort             ->'0'    	: java.lang.Short
+	7 getString            ->		EXCEPTION (null)
+	7 getTime              ->		EXCEPTION (null)
+	7 getTimeStamp         ->		EXCEPTION (null)
+---< METADATA TESTS
+select col_0 from clob_table
+	---- 1
+	Column    : COL_0
+	Type      : 4
+	TypeName  : INTEGER
+	ClassName : java.lang.Integer
+	Label     : COL_0
+	DisplaySz : 11
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_1 from clob_table
+	---- 1
+	Column    : COL_1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : COL_1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = 'true      ' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_2 from clob_table
+	---- 1
+	Column    : COL_2
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_2
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_3 from clob_table
+	---- 1
+	Column    : COL_3
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : COL_3
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = 'true' : java.lang.String
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select col_4 from clob_table
+	---- 1
+	Column    : COL_4
+	Type      : -2
+	TypeName  : CHAR () FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_4
+	DisplaySz : 20
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+	OUT = NULL
+select col_5 from clob_table
+	---- 1
+	Column    : COL_5
+	Type      : -4
+	TypeName  : LONG VARCHAR FOR BIT DATA
+	ClassName : byte[]
+	Label     : COL_5
+	DisplaySz : 65400
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : byte[]
+	OUT = NULL
+select col_6 from clob_table
+	---- 1
+	Column    : COL_6
+	Type      : 2004
+	TypeName  : BLOB
+	ClassName : java.sql.Blob
+	Label     : COL_6
+	DisplaySz : 160
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: false
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Blob
+select typecol from clob_table
+	---- 1
+	Column    : TYPECOL
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : TYPECOL
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+---< columns CAST TO type: METADATA TESTS
+select cast( col_0 as clob(64  ) ) from clob_table
+	SQL Exception: Cannot convert types 'INTEGER' to 'CLOB'.
+select cast( col_1 as clob(64  ) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_2 as clob(64  ) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_3 as clob(64  ) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = Object : java.sql.Clob
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( col_4 as clob(64  ) ) from clob_table
+	SQL Exception: Cannot convert types 'CHAR () FOR BIT DATA' to 'CLOB'.
+select cast( col_5 as clob(64  ) ) from clob_table
+	SQL Exception: Cannot convert types 'LONG VARCHAR FOR BIT DATA' to 'CLOB'.
+select cast( col_6 as clob(64  ) ) from clob_table
+	SQL Exception: Cannot convert types 'BLOB' to 'CLOB'.
+select cast( typecol as clob(64  ) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+---< type CAST TO types: METADATA TESTS
+select cast( typecol as int ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'INTEGER'.
+select cast( typecol as char(10) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 1
+	TypeName  : CHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 10
+	Precision : 10
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as varchar(80) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 12
+	TypeName  : VARCHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 80
+	Precision : 80
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as long varchar ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : -1
+	TypeName  : LONG VARCHAR
+	ClassName : java.lang.String
+	Label     : 1
+	DisplaySz : 32700
+	Precision : 32700
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+select cast( typecol as char(10) for bit data ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'CHAR () FOR BIT DATA'.
+select cast( typecol as long varchar for bit data ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'LONG VARCHAR FOR BIT DATA'.
+select cast( typecol as blob(80) ) from clob_table
+	SQL Exception: Cannot convert types 'CLOB' to 'BLOB'.
+select cast( typecol as clob (64  ) ) from clob_table
+	---- 1
+	Column    : 1
+	Type      : 2005
+	TypeName  : CLOB
+	ClassName : java.sql.Clob
+	Label     : 1
+	DisplaySz : 64
+	Precision : 64
+	Scale     : 0
+	isCurrency: false
+	isCaseSens: true
+	isDefWrite: false
+	isWrite   : false
+	isSearchab: true
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+	OUT = NULL
+drop table clob_table
+---< BLOB Insertion Tests
+create table blobCheck (bl blob(80)) 
+insert into blobCheck (bl ) values ('string' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR'. 
+insert into blobCheck (bl ) values (cast (X'0073007400720069006e0067' as blob(80)) )
+insert into blobCheck (bl ) values (X'48' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR () FOR BIT DATA'. 
+insert into blobCheck (bl ) values (cast (X'C8' as blob(80)) )
+insert into blobCheck (bl ) values ( X'a78a' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR () FOR BIT DATA'. 
+insert into blobCheck (bl ) values (cast (X'a78a' as blob(80)) )
+insert into blobCheck (bl ) values ('string' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR'. 
+insert into blobCheck (bl ) values (cast (X'0073007400720069006e0067' as blob(80)) )
+insert into blobCheck (bl ) values (X'48' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR () FOR BIT DATA'. 
+insert into blobCheck (bl ) values (cast (X'C8' as blob(80)) )
+insert into blobCheck (bl ) values ( X'a78a' )
+	SQL Exception: Columns of type 'BLOB' cannot hold values of type 'CHAR () FOR BIT DATA'. 
+insert into blobCheck (bl ) values (cast (X'a78a' as blob(80)) )

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/StmtCloseFunTest.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/StmtCloseFunTest.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/StmtCloseFunTest.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,9 @@
+Statement Close Fun Test starting 
+Statement test begin
+Statement test end
+Prepared Statement test begin
+Prepared Statement test end
+Callable Statement test begin
+The result is 3
+Callable Statement test end
+Statement Close Fun Test finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/URLCheck.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/URLCheck.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/URLCheck.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,20 @@
+ij> -- Use a valid attribute, but do not display message.
+connect 'jdbc:derby:wombat;dataEncryption=true';
+ij(CONNECTION1)> -- Find an unknown attribute.
+connect 'jdbc:derby:wombat;unknown=x';
+URL Attribute [unknown=x]
+   Attribute is unknown to Derby.
+ij(CONNECTION2)> -- Check for duplicate.
+connect 'jdbc:derby:wombat;dataEncryption=true;dataEncryption=false';
+URL Attribute [dataEncryption=true]
+   Attribute is a duplicate.
+URL Attribute [dataEncryption=false]
+   Attribute is a duplicate.
+ij(CONNECTION3)> -- Perform case check.
+connect 'jdbc:derby:wombat;dataencryption=true';
+URL Attribute [dataencryption=true]
+   Attribute is unknown to Derby.
+ij(CONNECTION4)> -- Check for true/false.
+connect 'jdbc:derby:wombat;dataEncryption=x';
+ERROR XJ05B: JDBC attribute 'dataEncryption' has an invalid value 'x', valid values are '{true|false}'.
+ij(CONNECTION4)> 

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out?view=diff&rev=124918&p1=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out&r1=124917&p2=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out&r2=124918
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out	(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out	Tue Jan 11 11:53:57 2005
@@ -181,7 +181,7 @@
 ij> rollback;
 ij> create function countopens() returns varchar(128)
 language java parameter style java
-external name 'org.apache.derbyTesting.functionTests.util.ConsistencyChecker.countOpens';
+external name 'org.apache.derbyTesting.functionTests.util.T_ConsistencyChecker.countOpens';
 0 rows inserted/updated/deleted
 ij> commit;
 ij> -- do consistency check on scans, etc.
@@ -631,7 +631,7 @@
 ij> execute p1;
 0 rows inserted/updated/deleted
 ij> -- do consistency check on scans, etc.
--- values (org.apache.derbyTesting.functionTests.util.ConsistencyChecker::countOpens());
+-- values (org.apache.derbyTesting.functionTests.util.T_ConsistencyChecker::countOpens());
 -- verify the consistency of the indexes on the system catalogs
 select tablename, SYSCS_UTIL.SYSCS_CHECK_TABLE('SYS', tablename)
 from sys.systables where tabletype = 'S' and tablename != 'SYSDUMMY1';

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/autoGeneratedJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/autoGeneratedJdbc30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/autoGeneratedJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,274 @@
+Test autoGeneratedJdbc30 starting
+Test 1 - request for generated keys resultset on a brand new statement with no sql executed on it yet
+We will get a resultset with no rows because it is a non-insert sql
+<NULL>
+Test2 - request for generated keys on a statement which does select from a table ie a non-insert sql
+We will get a resultset with no rows because it is a non-insert sql
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Test 3 - insert multiple rows into a table with autogenerated key and request generated keys resultset
+ We will get a row with NULL value because this insert sql inserted more than one row and 
+ there was no prior one-row insert into a table with autogenerated key
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 4 - request for generated keys after doing an insert into a table with no auto generated keys
+ And there has been no one-row insert into a table with auto-generated keys yet.
+We should get a resultset with one row of NULL value from getGeneratedKeys
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5a - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5b - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 5c - request for generated keys after doing a one-row insert(using a subquery) into a table with autogenerated key using a subquery with auto generated keys
+Even though this is a one-row insert but since insert has a sub-select, get generated keys will return one row of NULL value
+	 1
+	 -
+	{null}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{null}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{null}
+Test 6 - request for generated keys after doing a one-row insert into a table with auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{29}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{30}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{31}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 7 - Now try again inserting multiple rows into a table with autogenerated key and request generated keys resultset
+ This time we will get a row of non-NULL value because there has been a prior one-row insert into table with auto-generated key 
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 8 - create a new statement and request for generated keys on it after doing an insert into 
+ a table with no auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 9 - request for generated keys on a statement which does a update 
+We should get a resultset with no rows from getGeneratedKeys because we executed a non-insert sql
+<NULL>
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+<NULL>
+Test 10 - request for generated keys on a statement which does a delete 
+We should get a resultset with no rows from getGeneratedKeys because we executed a non-insert sql
+<NULL>
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+<NULL>
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+<NULL>
+Test 11 - do a commit and request for generated keys on a statement which does insert into a table with 
+ no auto generated keys (previous transaction had a one-row insert on a table with auto-generated keys)
+expected to see resultset with one row of NULL value but instead get one row of non-NULL value from getGeneratedKeys
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 12 - do a rollback and request for generated keys on a statement which does insert into a table with 
+ no auto generated keys (previous transaction had a one-row insert on a table with auto-generated keys)
+had expected to see resultset with one row of NULL value but instead get one row of non-NULL value from getGeneratedKeys
+	 1
+	 -
+	{32}
+Now try the same test again but this time with Statement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.execute. It should behave the same
+	 1
+	 -
+	{32}
+Now try the same test again but this time with PreparedStatement.executeUpdate. It should behave the same
+	 1
+	 -
+	{32}
+Test 13 - try savepoint rollback and see what happens to auto generated keys resultset
+Inside the savepoint unit, issue a one-row insert into a table with auto generated keys
+We should get a resultset with one row of non-NULL value
+	 1
+	 -
+	{33}
+Now rollback the savepoint unit, and make sure that autogenerated keys resultset still holds on to 
+ value that got set inside the rolled back savepoint unit
+	 1
+	 -
+	{33}
+Test 14 - Look at metadata of a getGeneratedKeys resultset
+The resultset will have one column only
+Found 1 column in the resultset
+Type of the column is DECIMAL
+Precision of the column is 31
+Scale of the column is 0
+	 1
+	 -
+	{25}
+Test 15 - Can not see the auto generated keys if insert is with NO_GENERATED_KEYS
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 16 - Can not see the auto generated keys if insert is done jdbc 2.0 way ie with no generated key feature
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 17 - non-insert with NO_GENERATED_KEYS
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test 18 - non-insert is done jdbc 2.0 way ie with no generated key feature
+<NULL>
+<NULL>
+<NULL>
+<NULL>
+Test19 - fix the no auto generated key resultset generated for INSERT with generated keys if server-side methods are invoked
+Inside server-side method with no insert statement
+Back to client side looking for auto generated keys
+	 1
+	 -
+	{33}
+	 1
+	 -
+	{16}
+Test20 - bug 4837garbage collection of the generated key result sets was closing the activation.
+Test21 - insert select with columnIndexes[] array should fail
+Try passing array with Statement.execute
+PASS - expected exception - Feature not implemented
+Try passing array with Statement.executeUpdate
+PASS -- expected exception
+SQLSTATE(0A000): Feature not implemented: executeUpdate(String, int[]).
+Test21ps - insert select with columnIndexes[] array should fail
+Try passing array with Connection.prepareStatement
+PASS -- expected exception
+SQLSTATE(0A000): Feature not implemented: prepareStatement(String, int[]).
+Test22 - insert select with columnNames[] array should fail
+Try passing array with Statement.execute
+PASS -- expected exception
+SQLSTATE(0A000): Feature not implemented: execute(String, String[]).
+Try passing array with Statement.executeUpdate
+PASS -- expected exception
+SQLSTATE(0A000): Feature not implemented: executeUpdate(String, String[]).
+Test22ps - insert select with columnNames[] array should fail
+Try passing array with Connection.prepareStatement
+PASS -- expected exception
+SQLSTATE(0A000): Feature not implemented: prepareStatement(String, String[]).
+Test autoGeneratedJdbc30 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/backupRestore1.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/backupRestore1.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/backupRestore1.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,9 @@
+Test backupRestore starting
+database shutdown properly
+testing rollforward recovery
+3
+database shutdown properly
+database shutdown properly
+database shutdown properly
+database shutdown properly
+Test backupRestore1 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/batchUpdate.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/batchUpdate.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/batchUpdate.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,44 @@
+Test batchUpdate starting
+Positive Statement: clear the batch and run the empty batch
+Positive Statement: testing 1 statement batch
+Positive Statement: testing 2 inserts and 1 update batch
+Positive Statement: 1000 statements batch
+Positive Statement: statement testing batch with autocommit true
+Positive Statement: add 3 statements, clear batch and execute batch
+Positive Statement: add 3 statements, clear batch, add 3 and execute batch
+Positive Statement: testing associated parameters
+Negative Statement: statement testing select as first stat in the batch
+Negative Statement: statement testing select as nth stat in the batch
+Negative Statement: statement testing select as last stat in the batch
+Negative Statement: statement testing execute in the middle of batch
+Negative Statement: statement testing executeQuery in the middle of batch
+Negative Statement: statement testing executeUpdate in the middle of batch
+Negative Statement: statement testing overflow error as first stat in the batch
+Negative Statement: statement testing overflow error as nth stat in the batch
+Negative Statement: statement testing overflow error as last stat in the batch
+Negative Statement: statement testing time out while getting the lock in the batch
+Positive Callable Statement: statement testing callable statement batch
+Negative Callable Statement: callable statement with output parameters in the batch
+Positive Prepared Stat: set no parameter values and run the batch
+Positive Prepared Stat: no settable parameters
+Positive Prepared Stat: set one set of parameter values and run the batch
+Positive Prepared Stat: set 3 set of parameter values and run the batch
+Positive Prepared Stat: set one set of parameter values to null and run the batch
+Positive Prepared Stat: 1000 parameter set batch
+Positive Prepared Stat: batch, rollback, batch and commit combinations
+Positive Prepared Stat: batch and commit combinations
+Positive Prepared Stat: batch, batch and rollback combinations
+Positive Prepared Stat: batch, batch and commit combinations
+Positive Prepared Stat: testing batch with autocommit true
+Positive Prepared Stat: add 3 statements, clear batch and execute batch
+Positive Prepared Stat: add 3 statements, clear batch, add 3 and execute batch
+Negative Prepared Stat: testing select in the batch
+Negative Prepared Stat: testing execute in the middle of batch
+Negative Prepared Stat: testing executeQuery in the middle of batch
+Negative Prepared Stat: testing executeUpdate in the middle of batch
+Negative Prepared Stat: testing overflow as first set of values
+Negative Prepared Stat: testing overflow as nth set of values
+Negative Prepared Stat: testing overflow as last set of values
+Negative Prepared Stat: testing transaction error, time out while getting the lock
+PASS
+Test batchUpdate finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bestrowidentifier.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bestrowidentifier.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bestrowidentifier.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,176 @@
+ij> --
+-- test java.sql.Connection.DatabaseMetaData.getBestRowIdentifier()
+--
+-- create a java procedure to do the metadata call
+create procedure getBestRowID(in schema_param Char(10), in tableName_param Char(10), in scope_param int, in nullable_param Char(5)) parameter style java reads sql data dynamic result sets 1 language java external name 'org.apache.derbyTesting.functionTests.util.metadataHelperProcs.getBestRowId';
+0 rows inserted/updated/deleted
+ij> prepare bestrow as 'call getBestRowID(?,?,?,?)';
+ij> autocommit off;
+ij> -- each one of these have only one choice
+create table t1 (i int not null primary key, j int);
+0 rows inserted/updated/deleted
+ij> create table t2 (i int not null unique, j int);
+0 rows inserted/updated/deleted
+ij> -- adding not null unique to j - otherwise t2 & t3 would be same.
+create table t3 (i int not null unique, j int not null unique);
+0 rows inserted/updated/deleted
+ij> create table t4 (i int, j int);
+0 rows inserted/updated/deleted
+ij> create unique index t4i on t4(i);
+0 rows inserted/updated/deleted
+ij> create table t5 (i int, j int);
+0 rows inserted/updated/deleted
+ij> -- result: column i
+execute bestrow using 'values(''APP'',''T1'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: column i
+execute bestrow using 'values(''APP'',''T2'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: column i
+execute bestrow using 'values(''APP'',''T3'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: column i
+execute bestrow using 'values(''APP'',''T4'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: columns i and j
+execute bestrow using 'values(''APP'',''T5'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> rollback work;
+ij> -- PK preferred to unique
+create table t6 (i int not null unique, j int not null primary key);
+0 rows inserted/updated/deleted
+ij> -- result: column j
+execute bestrow using 'values(''APP'',''T6'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- PK preferred to unique index
+create table t7 (i int not null, j int not null primary key);
+0 rows inserted/updated/deleted
+ij> create unique index t7i_index on t7(i);
+0 rows inserted/updated/deleted
+ij> -- result: column j
+execute bestrow using 'values(''APP'',''T7'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- unique con preferred to unique index
+create table t8 (i int not null, j int not null unique);
+0 rows inserted/updated/deleted
+ij> create unique index t8i_index on t8(i);
+0 rows inserted/updated/deleted
+ij> -- result: column j
+execute bestrow using 'values(''APP'',''T8'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- non-unique index just ignored
+create table t9 (i int, j int);
+0 rows inserted/updated/deleted
+ij> create index t9i_index on t9(i);
+0 rows inserted/updated/deleted
+ij> -- result: columns i,j
+execute bestrow using 'values(''APP'',''T9'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> rollback work;
+ij> -- fewer cols unique con still ignored over primary key
+create table t10 (i int unique not null , j int not null , primary key (i,j));
+0 rows inserted/updated/deleted
+ij> -- result: columns i,j
+execute bestrow using 'values(''APP'',''T10'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- fewer cols unique index still ignored over primary key
+create table t11 (i int not null, j int not null, primary key (i,j));
+0 rows inserted/updated/deleted
+ij> create unique index t11i_index on t11(i);
+0 rows inserted/updated/deleted
+ij> -- result: columns i,j
+execute bestrow using 'values(''APP'',''T11'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- fewer cols unique index still ignored over unique con
+create table t12 (i int not null, j int not null, unique (i,j));
+0 rows inserted/updated/deleted
+ij> create unique index t12i_index on t12(i);
+0 rows inserted/updated/deleted
+ij> -- result: columns i,j
+execute bestrow using 'values(''APP'',''T12'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> rollback work;
+ij> -- REMIND: we aren't handling nullOk flag correctly
+-- we just drop nullable cols, we should skip an answer
+-- that has nullable cols in it instead and look for another one.
+create table t13 (i int not null, j int not null, k int, unique (i,j));
+0 rows inserted/updated/deleted
+ij> -- result: columns i, j (WRONG) 
+-- the correct answer is k: the non-null columns of the table
+execute bestrow using 'values(''APP'',''T13'',0,''false'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+2     |J                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- fewest cols unique con is the one picked of several
+create table t14 (i int not null unique, j int not null, k int, unique (i,j));
+0 rows inserted/updated/deleted
+ij> -- result: columns i
+execute bestrow using 'values(''APP'',''T14'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- fewest cols unique index is the one picked of several
+create table t15 (i int not null, j int not null, k int);
+0 rows inserted/updated/deleted
+ij> create unique index t15ij on t15(i,j);
+0 rows inserted/updated/deleted
+ij> create unique index t15i on t15(i);
+0 rows inserted/updated/deleted
+ij> -- result: columns i
+execute bestrow using 'values(''APP'',''T15'',0,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- we don't do anything with SCOPE except detect bad values
+create table t16 (i int not null primary key, j int);
+0 rows inserted/updated/deleted
+ij> -- result: columns i
+execute bestrow using 'values(''APP'',''T16'',1,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: columns i
+execute bestrow using 'values(''APP'',''T16'',2,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+2     |I                                                                                                                               |4     |INTEGER                                                                                                                         |4          |NULL       |10    |1     
+ij> -- result: no rows
+execute bestrow using 'values(''APP'',''T16'',-1,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> -- result: no rows
+execute bestrow using 'values(''APP'',''T16'',3,''true'')';
+SCOPE |COLUMN_NAME                                                                                                                     |DATA_&|TYPE_NAME                                                                                                                       |COLUMN_SIZE|BUFFER_LEN&|DECIM&|PSEUD&
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> rollback work;
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/blobclob4BLOB.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/blobclob4BLOB.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/blobclob4BLOB.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,788 @@
+Test blobclob starting
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+unicode string 0 correct
+unicode string 1 correct
+unicode string 2 correct
+Finished prepareUnicodeFile
+Length of clob is 5009
+unicode string 0 matched
+unicode string 1 matched
+unicode string 2 matched
+EOF matched
+setCharacterStreamTest finished
+clobTest0 finished
+clobTest11 finished
+Succeeded to match, row 1
+PASSED, row 1, length was 3
+Succeeded to match, row 2
+PASSED, row 2, length was 3
+Succeeded to match, row 3
+PASSED, row 3, length was 3
+Succeeded to match, row 4
+PASSED, row 4, length was 5016
+Succeeded to match, row 5
+PASSED, row 5, length was 5016
+Succeeded to match, row 6
+PASSED, row 6, length was 5016
+clobTest12 finished
+CLOB getSubString 9905 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+CLOB getSubString 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+CLOB getSubString 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+CLOB getSubString 9905 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+2(5) (len 50) you can lead a horse to water but you can't form i
+2(6) (len 1) y
+CLOB getSubString 9905 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+3(5) (len 50) a stitch in time says ouch
+3(6) (len 1) a
+CLOB getSubString 9905 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+4(5) (len 50) here is a string with a return 
+ character
+4(6) (len 1) h
+CLOB getSubString 9905 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+5(5) (len 50) test data: a string column inserted as an Ascii st
+5(6) (len 1) t
+6(0) (len 50) wwPosition-9907-behold-the-end-of-the-clob-is-nigh
+6(1) (len 150) I-am-hiding-here-at-position-5910-in-this-little-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(2) (len 50) I-am-hiding-here-at-position-5910-in-this-little-c
+6(3) (len 50) This-is-position-204wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(4) (len 50) wposition-69-end-of-the-first-l
+ine-we-are-now-on
+6(5) (len 50) Beginning-this-is-itwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(6) (len 1) B
+6(7) 
+wwwwwwPosition-9907-behold-the-end-of-the-clob-is-nighwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+CLOB getSubString 9905 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 204 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+CLOB getSubString 68 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+CLOB getSubString 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+CLOB getSubString 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+CLOB getSubString 9905 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+CLOB getSubString 5910 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+8(3) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(4) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+8(5) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(6) (len 1) w
+8(7) 
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(0) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(1) (len 150) I-am-hiding-here-at-position-5910-in-this-humungus-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(2) (len 50) I-am-hiding-here-at-position-5910-in-this-humungus
+9(3) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(4) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+9(5) (len 50) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(6) (len 1) w
+9(7) 
+wwHere-I-am-at-position-299003-near-the-end-of-the-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+clobTest2 finished
+Row 1 : Succeeded
+Row 2 : Succeeded
+Row 3 : Succeeded
+Row 4 : Succeeded
+Second time Succeeded
+Row 5 : Succeeded
+Second time Succeeded
+Row 6 : Succeeded
+Second time Succeeded
+clobTest22 finished
+Found horse in row 1 starting from position 1 at position  NOTFOUND 
+Found ouch in row 1 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 1 starting from position 1 at position  NOTFOUND 
+Found  in row 1 starting from position 1 at position 1
+Found Beginning in row 1 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 1 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 1 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 1 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 1 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 1 starting from position 1 at position  NOTFOUND 
+Found horse in row 2 starting from position 1 at position 16
+Found ouch in row 2 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 2 starting from position 1 at position  NOTFOUND 
+Found  in row 2 starting from position 1 at position 1
+Found Beginning in row 2 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 2 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 2 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 2 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 2 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 2 starting from position 1 at position  NOTFOUND 
+Found horse in row 3 starting from position 1 at position  NOTFOUND 
+Found ouch in row 3 starting from position 1 at position 23
+Found 
+ in row 3 starting from position 1 at position  NOTFOUND 
+Found  in row 3 starting from position 1 at position 1
+Found Beginning in row 3 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 3 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 3 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 3 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 3 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 3 starting from position 1 at position  NOTFOUND 
+Found horse in row 4 starting from position 1 at position  NOTFOUND 
+Found ouch in row 4 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 4 starting from position 1 at position 32
+Found  in row 4 starting from position 1 at position 1
+Found Beginning in row 4 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 4 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 4 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 4 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 4 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 4 starting from position 1 at position  NOTFOUND 
+Found horse in row 5 starting from position 1 at position  NOTFOUND 
+Found ouch in row 5 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 5 starting from position 1 at position 56
+Found  in row 5 starting from position 1 at position 1
+Found Beginning in row 5 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 5 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 5 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 5 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 5 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 5 starting from position 1 at position  NOTFOUND 
+Found horse in row 6 starting from position 1 at position  NOTFOUND 
+Found ouch in row 6 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 6 starting from position 1 at position 100
+Found  in row 6 starting from position 1 at position 1
+Found Beginning in row 6 starting from position 1 at position 1
+Found Beginning in row 6 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 6 starting from position 1 at position 69
+Found This-is-position-204 in row 6 starting from position 1 at position 204
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 1 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5910 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 6 starting from position 1 at position 9907
+Found horse in row 7 starting from position 1 at position  NOTFOUND 
+Found ouch in row 7 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 7 starting from position 1 at position  NOTFOUND 
+Found  in row 7 starting from position 1 at position 1
+Found Beginning in row 7 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 7 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 7 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 7 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 7 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 7 starting from position 1 at position  NOTFOUND 
+Found horse in row 8 starting from position 1 at position  NOTFOUND 
+Found ouch in row 8 starting from position 1 at position  NOTFOUND 
+Found 
+ in row 8 starting from position 1 at position 100
+Found  in row 8 starting from position 1 at position 1
+Found Beginning in row 8 starting from position 1 at position  NOTFOUND 
+Found Beginning in row 8 starting from position 2 at position  NOTFOUND 
+Found position-69 in row 8 starting from position 1 at position  NOTFOUND 
+Found This-is-position-204 in row 8 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 1 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 5910 at position  NOTFOUND 
+Found I-am-hiding-here-at-position-5910 in row 8 starting from position 5911 at position  NOTFOUND 
+Found Position-9907 in row 8 starting from position 1 at position  NOTFOUND 
+clobTest3 finished
+Succeeded: Found unicode string 0 at position 1,row 1
+Succeeded: Found unicode string 0 at position -1,row 1
+Succeeded: Found unicode string 1 at position 1,row 2
+Succeeded: Found unicode string 1 at position -1,row 2
+Succeeded: Found unicode string 2 at position 1,row 3
+Succeeded: Found unicode string 2 at position -1,row 3
+Succeeded: Found unicode string 0 at position 1,row 4
+Succeeded: Found unicode string 0 at position 5004,row 4
+Succeeded: Found unicode string 1 at position 1,row 5
+Succeeded: Found unicode string 1 at position 5004,row 5
+Succeeded: Found unicode string 2 at position 1,row 6
+Succeeded: Found unicode string 2 at position 5004,row 6
+clobTest32 finished
+position(clob) NOT FOUND 1 searchStr horse
+position(clob) NOT FOUND 1 searchStr ouch
+position(clob) NOT FOUND 1 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 1 searchStr Beginning
+position(clob) NOT FOUND 1 searchStr position-69
+position(clob) NOT FOUND 1 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 1 searchStr Position-9907
+position(clob) NOT FOUND 1 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 1 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 1 searchStr >150chars
+searchClob row 13 skipped (too large)
+Found horse in row 2 at position 16
+position(clob) NOT FOUND 2 searchStr ouch
+position(clob) NOT FOUND 2 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 65
+position(clob) NOT FOUND 2 searchStr Beginning
+position(clob) NOT FOUND 2 searchStr position-69
+position(clob) NOT FOUND 2 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 2 searchStr Position-9907
+position(clob) NOT FOUND 2 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 2 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 65
+position(clob) NOT FOUND 2 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 3 searchStr horse
+Found ouch in row 3 at position 23
+position(clob) NOT FOUND 3 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 26
+position(clob) NOT FOUND 3 searchStr Beginning
+position(clob) NOT FOUND 3 searchStr position-69
+position(clob) NOT FOUND 3 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 3 searchStr Position-9907
+position(clob) NOT FOUND 3 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 3 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 26
+position(clob) NOT FOUND 3 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 4 searchStr horse
+position(clob) NOT FOUND 4 searchStr ouch
+Found 
+ in row 4 at position 32
+position(clob) FOUND @ 1 with empty search clob in clob of length 42
+position(clob) NOT FOUND 4 searchStr Beginning
+position(clob) NOT FOUND 4 searchStr position-69
+position(clob) NOT FOUND 4 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 4 searchStr Position-9907
+position(clob) NOT FOUND 4 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 4 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 42
+position(clob) NOT FOUND 4 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 5 searchStr horse
+position(clob) NOT FOUND 5 searchStr ouch
+Found 
+ in row 5 at position 56
+position(clob) FOUND @ 1 with empty search clob in clob of length 56
+position(clob) NOT FOUND 5 searchStr Beginning
+position(clob) NOT FOUND 5 searchStr position-69
+position(clob) NOT FOUND 5 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 5 searchStr Position-9907
+Found test data: a string column inserted as an Ascii stream
+ in row 5 at position 1
+position(clob) NOT FOUND 5 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 56
+position(clob) NOT FOUND 5 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 6 searchStr horse
+position(clob) NOT FOUND 6 searchStr ouch
+Found 
+ in row 6 at position 100
+position(clob) FOUND @ 1 with empty search clob in clob of length 10000
+Found Beginning in row 6 at position 1
+Found position-69 in row 6 at position 69
+Found I-am-hiding-here-at-position-5910 in row 6 at position 5910
+Found Position-9907 in row 6 at position 9907
+position(clob) NOT FOUND 6 searchStr test data: a string column inserted as an Ascii stream
+Found clob (row 10)  in row 6 at position 1
+position(clob) FOUND @ 1 with empty search clob in clob of length 10000
+Found clob (row 12)  in row 6 at position 301
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 7 searchStr horse
+position(clob) NOT FOUND 7 searchStr ouch
+position(clob) NOT FOUND 7 searchStr 
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 7 searchStr Beginning
+position(clob) NOT FOUND 7 searchStr position-69
+position(clob) NOT FOUND 7 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 7 searchStr Position-9907
+position(clob) NOT FOUND 7 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 7 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 0
+position(clob) NOT FOUND 7 searchStr >150chars
+searchClob row 13 skipped (too large)
+position(clob) NOT FOUND 8 searchStr horse
+position(clob) NOT FOUND 8 searchStr ouch
+Found 
+ in row 8 at position 100
+position(clob) FOUND @ 1 with empty search clob in clob of length 5000
+position(clob) NOT FOUND 8 searchStr Beginning
+position(clob) NOT FOUND 8 searchStr position-69
+position(clob) NOT FOUND 8 searchStr I-am-hiding-here-at-position-5910
+position(clob) NOT FOUND 8 searchStr Position-9907
+position(clob) NOT FOUND 8 searchStr test data: a string column inserted as an Ascii stream
+position(clob) NOT FOUND 8 searchStr >150chars
+position(clob) FOUND @ 1 with empty search clob in clob of length 5000
+Found clob (row 12)  in row 8 at position 1
+searchClob row 13 skipped (too large)
+testCLOB_MAIN row 9 skipped (too large)
+clobTest4 finished
+Succeeded: Found clob at position 1,row 0
+Succeeded: Found clob at position 1,row 1
+Succeeded: Found clob at position 1,row 2
+clobTest42 finished
+clobTest51 finished
+create table testInteger (a integer)
+insert into testInteger values('158')
+select a from testInteger
+getClob(1)
+52: SQLException
+FAIL -- unexpected exception ****************
+SQLSTATE(22005): An attempt was made to get a data value of type 'java.sql.Clob' from a data value of type 'INTEGER'.
+clobTest53 finished
+start clobTest54
+EXPECTED SQLSTATE(22005): An attempt was made to get a data value of type 'INTEGER' from a data value of type 'java.sql.Clob'.
+end clobTest54
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '0' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ071): Zero or negative length argument '-76' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ071): Zero or negative length argument '0' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '-4,000' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ072): Null pattern or searchStr passed in to a Blob or Clob position method.
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '-42' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ072): Null pattern or searchStr passed in to a Blob or Clob position method.
+clobTest6 finished
+start clobTest7
+clobTest7 finished
+start clobTest8
+small string pattern
+@1  position MATCH(129)
+@2  position MATCH(2074)
+@3  position MATCH(4595)
+@4  position MATCH(34584)
+@5  position MATCH(67918)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+small java.sql.Clob pattern
+@1  position MATCH(129)
+@2  position MATCH(2074)
+@3  position MATCH(4595)
+@4  position MATCH(34584)
+@5  position MATCH(67918)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+medium string pattern
+@1  position MATCH(11253)
+@2  position MATCH(12225)
+@3  position MATCH(13478)
+@4  position MATCH(43467)
+@5  position MATCH(76801)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+medium java.sql.Clob pattern
+@1  position MATCH(11253)
+@2  position MATCH(12225)
+@3  position MATCH(13478)
+@4  position MATCH(43467)
+@5  position MATCH(76801)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+long string pattern
+@1  position MATCH(287875)
+@2  position MATCH(288847)
+@3  position MATCH(290108)
+@4  position MATCH(305102)
+@5  position MATCH(321769)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+long java.sql.Clob pattern
+@1  position MATCH(287875)
+@2  position MATCH(288847)
+@3  position MATCH(290108)
+@4  position MATCH(305102)
+@5  position MATCH(321769)
+@6  position MATCH(-1)
+@7  position MATCH(-1)
+@8  position MATCH(-1)
+@9  position MATCH(-1)
+@10  position MATCH(-1)
+complete clobTest8
+done row 0, length was 0
+done row 1, length was 65
+done row 2, length was 26
+done row 3, length was 42
+done row 4, length was 56
+done row 5, length was 10000
+done row 6, length was 0
+done row 7, length was 5000
+done row 8, length was 300000
+row 9 is null, skipped
+clobTest91 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(40XL1): A lock could not be obtained within the time requested
+clobTest92 finished
+shortClob length after commit is 26
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+clobTest94 finished
+shortClob length after closing connection is 26
+FAIL -- unexpected exception ****************
+SQLSTATE(08003): No current connection.
+FAIL -- unexpected exception ****************
+SQLSTATE(08003): No current connection.
+FAIL -- unexpected exception ****************
+SQLSTATE(08003): No current connection.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(08003): No current connection.
+clobTest95 finished
+clobTest96 finished
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+===> inserting extin/short.txt length = 56
+===> inserting extin/littleclob.txt length = 10000
+===> inserting extin/empty.txt length = 0
+===> inserting extin/searchclob.txt length = 5000
+===> inserting extin/aclob.txt length = 300000
+blobTest0 finished
+testing Blob.getBytes() with pos 9905 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 9905 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 65
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+2(5) you can lead a horse to water but you can't form i
+2(6) y
+testing Blob.getBytes() with pos 9905 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 26
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+3(5) a stitch in time says ouch
+3(6) a
+testing Blob.getBytes() with pos 9905 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 42
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+4(5) here is a string with a return 
+ character
+4(6) h
+testing Blob.getBytes() with pos 9905 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 56
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+5(5) test data: a string column inserted as an Ascii st
+5(6) t
+6(0) wwPosition-9907-behold-the-end-of-the-clob-is-nigh
+6(1) I-am-hiding-here-at-position-5910-in-this-little-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(2) I-am-hiding-here-at-position-5910-in-this-little-c
+6(3) This-is-position-204wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(4) wposition-69-end-of-the-first-l
+ine-we-are-now-on
+6(5) Beginning-this-is-itwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+6(6) B
+6(7) 
+wwwwwwPosition-9907-behold-the-end-of-the-clob-is-nighwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+testing Blob.getBytes() with pos 9905 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 204 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '204' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 68 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '68' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 1 > 0
+EXPECTED SQLSTATE(XJ076): The position argument '1' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 9905 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '9,905' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+testing Blob.getBytes() with pos 5910 > 5000
+EXPECTED SQLSTATE(XJ076): The position argument '5,910' exceeds the size of the Blob/Clob.
+8(3) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(4) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+8(5) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+8(6) w
+8(7) 
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(0) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(1) I-am-hiding-here-at-position-5910-in-this-humungus-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(2) I-am-hiding-here-at-position-5910-in-this-humungus
+9(3) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(4) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwww
+9(5) wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+9(6) w
+9(7) 
+wwHere-I-am-at-position-299003-near-the-end-of-the-clobwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+blobTest2 finished
+Found horse in row 2 starting from position 1 at position 16
+Found ouch in row 3 starting from position 1 at position 23
+Found 
+ in row 4 starting from position 1 at position 32
+Found 
+ in row 5 starting from position 1 at position 56
+Found 
+ in row 6 starting from position 1 at position 100
+Found Beginning in row 6 starting from position 1 at position 1
+Found position-69 in row 6 starting from position 1 at position 69
+Found This-is-position-204 in row 6 starting from position 1 at position 204
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 1 at position 5910
+Found I-am-hiding-here-at-position-5910 in row 6 starting from position 5910 at position 5910
+Found Position-9907 in row 6 starting from position 1 at position 9907
+Found 
+ in row 8 starting from position 1 at position 100
+blobTest3 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found horse in row 2 at position 16
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found ouch in row 3 at position 23
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found 
+ in row 4 at position 32
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found 
+ in row 5 at position 56
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+Found test data: a string column inserted as an Ascii stream
+ in row 5 at position 1
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found 
+ in row 6 at position 100
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+Found Beginning in row 6 at position 1
+Found position-69 in row 6 at position 69
+Found I-am-hiding-here-at-position-5910 in row 6 at position 5910
+Found Position-9907 in row 6 at position 9907
+Found blob (row 10)  in row 6 at position 1
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+Found blob (row 12)  in row 6 at position 301
+searchBlob row 13 skipped (too large)
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+searchBlob row 13 skipped (too large)
+Found 
+ in row 8 at position 100
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ077): Got an exception when trying to read the first byte/character of the Blob/Clob pattern using getBytes/getSubString.
+Found blob (row 12)  in row 8 at position 1
+searchBlob row 13 skipped (too large)
+testBlob row 9 skipped (too large)
+blobTest4 finished
+blobTest51 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(22005): An attempt was made to get a data value of type 'java.sql.Blob' from a data value of type 'INTEGER'.
+blobTest53 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(22005): An attempt was made to get a data value of type 'INTEGER' from a data value of type 'java.sql.Blob'.
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '0' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ071): Zero or negative length argument '-76' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ071): Zero or negative length argument '0' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '-4,000' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ072): Null pattern or searchStr passed in to a Blob or Clob position method.
+EXPECTED SQLSTATE(XJ070): Negative or zero position argument '-42' passed in a Blob or Clob method.
+EXPECTED SQLSTATE(XJ072): Null pattern or searchStr passed in to a Blob or Clob position method.
+blobTest6 finished
+blobTest7 finished
+done row 0, length was 0
+done row 1, length was 65
+done row 2, length was 26
+done row 3, length was 42
+done row 4, length was 56
+done row 5, length was 10000
+done row 6, length was 0
+done row 7, length was 5000
+done row 8, length was 300000
+row 9 is null, skipped
+blobTest91 finished
+FAIL -- unexpected exception ****************
+SQLSTATE(40XL1): A lock could not be obtained within the time requested
+blobTest93 finished
+shortBlob length after commit is 26
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+blobTest94 finished
+shortBlob length after closing the connection is 26
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+FAIL -- unexpected exception ****************
+SQLSTATE(XJ073): The data in this Blob or Clob is no longer available. Possible reasons are that its transaction committed, or its connection closed.
+blobTest95 finished
+blobTest96 finished
+length of clob chosen is 10000
+After update
+Row 1 value.substring(0,50) is jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+10000 total bytes read
+clobTestSelfDestructive finished
+length of clob chosen is 10000
+After drop
+Expect to get an IOException, container has been closed
+EXPECTED IO Exception:ERROR 40XD0: Container has been closed
+FINISHED TEST blobclob :-)
+Test blobclob finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bootLock.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bootLock.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/bootLock.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,5 @@
+Test BootLock Starting
+expected exception
+SQLSTATE(XJ040): 
+SQLSTATE(XSDB6): 
+Test BootLock finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/characterStreams.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/characterStreams.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/characterStreams.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,161 @@
+Test characterStreams starting
+Test setAsciiStream into CHAR
+CORRECT NUMBER OF BYTES IN STREAM
+MORE BYTES IN STREAM THAN PASSED IN VALUE
+MORE BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS BYTES IN STREAM THAN PASSED IN VALUE
+LESS BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+NULL ASCII STREAM
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+1          |Lieberman ran with Gore  |23         |NULL                     |NULL       |NULL                     |NULL       
+4          |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+Results from ASCII stream
+1,Lieberman ran with Gore  ,<NULL>,<NULL>
+4,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read char) stream
+1,Lieberman ran with Gore  ,<NULL>,<NULL>
+4,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read block) stream
+1,Lieberman ran with Gore  ,<NULL>,<NULL>
+4,<NULL>,<NULL>,<NULL>
+Test setAsciiStream into VARCHAR
+CORRECT NUMBER OF BYTES IN STREAM
+MORE BYTES IN STREAM THAN PASSED IN VALUE
+MORE BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS BYTES IN STREAM THAN PASSED IN VALUE
+LESS BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+NULL ASCII STREAM
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+5          |NULL                     |NULL       |Lieberman ran with Gore  |23         |NULL                     |NULL       
+8          |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+Results from ASCII stream
+5,<NULL>,Lieberman ran with Gore,<NULL>
+8,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read char) stream
+5,<NULL>,Lieberman ran with Gore,<NULL>
+8,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read block) stream
+5,<NULL>,Lieberman ran with Gore,<NULL>
+8,<NULL>,<NULL>,<NULL>
+Test setAsciiStream into LONG VARCHAR
+CORRECT NUMBER OF BYTES IN STREAM
+MORE BYTES IN STREAM THAN PASSED IN VALUE
+MORE BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS BYTES IN STREAM THAN PASSED IN VALUE
+LESS BYTES IN ASCII STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+NULL ASCII STREAM
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+9          |NULL                     |NULL       |NULL                     |NULL       |Lieberman ran with Gore  |23         
+12         |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+Results from ASCII stream
+9,<NULL>,<NULL>,Lieberman ran with Gore
+12,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read char) stream
+9,<NULL>,<NULL>,Lieberman ran with Gore
+12,<NULL>,<NULL>,<NULL>
+Results from Character Stream (read block) stream
+9,<NULL>,<NULL>,Lieberman ran with Gore
+12,<NULL>,<NULL>,<NULL>
+Test setCharacterStream into CHAR
+MORE CHARACTERS IN READER THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS CHARACTERS IN READER STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+13         |A Mississippi Republican |24         |NULL                     |NULL       |NULL                     |NULL       
+14         |Lott has apologized      |19         |NULL                     |NULL       |NULL                     |NULL       
+17         |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+Test setCharacterStream into VARCHAR
+MORE CHARACTERS IN READER THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS CHARACTERS IN READER STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+18         |NULL                     |NULL       |A Mississippi Republican |24         |NULL                     |NULL       
+19         |NULL                     |NULL       |Lott has apologized      |19         |NULL                     |NULL       
+22         |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+Test setCharacterStream into LONG VARCHAR
+MORE CHARACTERS IN READER THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+LESS CHARACTERS IN READER STREAM THAN SPECIFIED LENGTH - REJECTED SQL Exception: An IOException was thrown when reading a 'java.sql.String' from an InputStream.
+ID         |C                        |CLEN       |VC                       |VCLEN      |LVC                      |LVCLEN     
+-----------------------------------------------------------------------------------------------------------------------------
+23         |NULL                     |NULL       |NULL                     |NULL       |A Mississippi Republican |24         
+24         |NULL                     |NULL       |NULL                     |NULL       |Lott has apologized      |19         
+27         |NULL                     |NULL       |NULL                     |NULL       |NULL                     |NULL       
+setAsciiStream(LONG ASCII STREAMS)
+AS-CHAR-18 DONE
+AS-VARCHAR-104 DONE
+AS-LONG VARCHAR-67 DONE
+CS-CHAR-18 DONE
+CS-VARCHAR-104 DONE
+CS-LONG VARCHAR-67 DONE
+ST-CHAR-18 DONE
+ST-VARCHAR-104 DONE
+ST-LONG VARCHAR-67 DONE
+AS-CHAR-25 DONE
+AS-VARCHAR-16732 DONE
+AS-LONG VARCHAR-14563 DONE
+CS-CHAR-25 DONE
+CS-VARCHAR-16732 DONE
+CS-LONG VARCHAR-14563 DONE
+ST-CHAR-25 DONE
+ST-VARCHAR-16732 DONE
+ST-LONG VARCHAR-14563 DONE
+AS-CHAR-1 DONE
+AS-VARCHAR-32433 DONE
+AS-LONG VARCHAR-32673 DONE
+CS-CHAR-1 DONE
+CS-VARCHAR-32433 DONE
+CS-LONG VARCHAR-32673 DONE
+ST-CHAR-1 DONE
+ST-VARCHAR-32433 DONE
+ST-LONG VARCHAR-32673 DONE
+AS-CHAR-0 DONE
+AS-VARCHAR-32532 DONE
+AS-LONG VARCHAR-32700 DONE
+CS-CHAR-0 DONE
+CS-VARCHAR-32532 DONE
+CS-LONG VARCHAR-32700 DONE
+ST-CHAR-0 DONE
+ST-VARCHAR-32532 DONE
+ST-LONG VARCHAR-32700 DONE
+setCharacterStream(LONG CHARACTER STREAMS WITH UNICODE)
+AS-CHAR-14 DONE
+AS-VARCHAR-93 DONE
+AS-LONG VARCHAR-55 DONE
+CS-CHAR-14 DONE
+CS-VARCHAR-93 DONE
+CS-LONG VARCHAR-55 DONE
+ST-CHAR-14 DONE
+ST-VARCHAR-93 DONE
+ST-LONG VARCHAR-55 DONE
+AS-CHAR-25 DONE
+AS-VARCHAR-19332 DONE
+AS-LONG VARCHAR-18733 DONE
+CS-CHAR-25 DONE
+CS-VARCHAR-19332 DONE
+CS-LONG VARCHAR-18733 DONE
+ST-CHAR-25 DONE
+ST-VARCHAR-19332 DONE
+ST-LONG VARCHAR-18733 DONE
+AS-CHAR-1 DONE
+AS-VARCHAR-32433 DONE
+AS-LONG VARCHAR-32673 DONE
+CS-CHAR-1 DONE
+CS-VARCHAR-32433 DONE
+CS-LONG VARCHAR-32673 DONE
+ST-CHAR-1 DONE
+ST-VARCHAR-32433 DONE
+ST-LONG VARCHAR-32673 DONE
+AS-CHAR-0 DONE
+AS-VARCHAR-32532 DONE
+AS-LONG VARCHAR-32700 DONE
+CS-CHAR-0 DONE
+CS-VARCHAR-32532 DONE
+CS-LONG VARCHAR-32700 DONE
+ST-CHAR-0 DONE
+ST-VARCHAR-32532 DONE
+ST-LONG VARCHAR-32700 DONE
+PASS
+Test characterStreams finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,572 @@
+Running connection checks on Nested
+  isolation level 2
+  auto commit     false
+  read only       false
+Running connection checks on DriverManager 
+  isolation level 2
+  auto commit     true
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+DriverManager  <closedconn>.close() no error
+DriverManager  <closedconn>.createStatement() 08003 - No current connection.
+DriverManager  <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+EmbeddedDataSource <closedconn>.close() no error
+EmbeddedDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(1):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(1):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Changes rolled back OK in auto closed pooled connection
+EVENT(1):connectionClosed
+expected SQL Exception: No current connection.
+expected SQL Exception: No current connection.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(3):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Changes rolled back OK in auto closed local XAConnection
+EVENT(3):connectionClosed
+ERROR XJ015: Derby system shutdown.
+Running connection checks on Nested
+  isolation level 2
+  auto commit     false
+  read only       false
+Running connection checks on DriverManager 
+  isolation level 2
+  auto commit     true
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+DriverManager  <closedconn>.close() no error
+DriverManager  <closedconn>.createStatement() 08003 - No current connection.
+DriverManager  <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+EmbeddedDataSource <closedconn>.close() no error
+EmbeddedDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(2):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(2):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(4):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(4):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+EVENT(5):connectionClosed
+Running connection checks on Global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Global EmbeddedXADataSource <closedconn>.close() no error
+Global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on Global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Global EmbeddedXADataSource <closedconn>.close() no error
+Global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on Switch to local EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to local EmbeddedXADataSource <closedconn>.close() no error
+Switch to local EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to local EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on Switch to local EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to local EmbeddedXADataSource <closedconn>.close() no error
+Switch to local EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to local EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on Switch to global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to global EmbeddedXADataSource <closedconn>.close() no error
+Switch to global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running connection checks on Switch to global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to global EmbeddedXADataSource <closedconn>.close() no error
+Switch to global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+initial local
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+initial  X1
+  isolation level READ_COMMITTED
+  auto commit     false
+  read only       false
+modified X1
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+modified local
+  isolation level READ_UNCOMMITTED
+  auto commit     true
+  read only       true
+reset local
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+re-join X1
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+back to local (same as reset)
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+new handle - local 
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+re-join with new handle X1
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+EVENT(6):connectionClosed
+pre-X1 commit - local
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+pre-X1 commit - X1
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+post-X1 end - local
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+post-X1 commit - local
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+TESTING RE_USE OF STATEMENT OBJECTS
+THE STATEMENT OBJECTS CAN NOT BE REUSED ACROSS LOCAL/GLOBAL CONNECTIONS BECAUSE, LOCAL CONNECTION CREATES THEM
+WITH HOLDABILITY TRUE WHEREAS GLOBAL CONNECTION CAN ONLY WORK WITH STATEMENTS WITH HOLDABILITY FALSE
+LOCK TABLE
+END LOCK TABLE
+Statement State @ Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+Statement State @ PS Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+Statement State @ CS Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+Params-local-1: ru(params) contents {3}
+sru1-local-1: ru(SN1) contents {1} {2} {3}
+Expecting exception because global transaction sru1-global-2 is trying to use a statement with holdability true
+sru1-global-2: SQL Exception: Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+sru2-global-3: ru(OAK2) contents {1} {2} {3}
+Expecting exception because global transaction sru1-global-4 is trying to use a statement with holdability true
+sru1-global-4: SQL Exception: Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Statement State @ GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+Statement State @ PS GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+Statement State @ CS GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+PASS: got exception because holdability is true on prepared statement and that is not allowed in global transactions
+Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+sru1-local-5: ru(SN1) contents {1} {2} {3}
+sru2-local-6: ru(OAK2) contents {1} {2} {3}
+sru3-local-7: ru(SF3) contents {1} {2} {3}
+Statement State @ LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+Statement State @ PS LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+Statement State @ CS LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+Params-local-2: ru(params) contents {3}
+LOCK TABLE
+  xid row 0 lock count 4
+  xid row 1 lock count 14
+END LOCK TABLE
+sru1-local-8: ru(SN1) contents {1} {2} {3}
+sru2-local-9: ru(OAK2) contents {1} {2} {3}
+sru3-local-10: ru(SF3) contents {1} {2} {3}
+Statement State @ LOCAL 2 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+Statement State @ PS LOCAL 2 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+Statement State @ CS LOCAL 2
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+LOCK TABLE
+  xid row 0 lock count 4
+  xid row 1 lock count 12
+END LOCK TABLE
+sruBatch update counts : 1  1  2  1 :
+sruBatch: ru(null) contents {1} {2} {3} {4} {5} {6} {7} {8}
+XAConnection.getXAResource : No current connection.
+XAConnection.getConnection : No current connection.
+XAResource.start : XAException - No current connection.
+XAResource.end : XAException - No current connection.
+XAResource.commit : XAException - No current connection.
+XAResource.prepare : XAException - No current connection.
+XAResource.recover : XAException - No current connection.
+XAResource.prepare : XAException - No current connection.
+XAResource.isSameRM : XAException - No current connection.
+Patricio update count 1
+conn4 autcommit true
+acxs 1
+acxs 2
+autocommitxastart expected No current connection.
+acxs 1
+acxs 2
+autocommitxastart expected  : XAException - null
+acxs 3
+DataSource - EMPTY
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ004:Database '' not found.
+  getConnection(null, wilma) - XJ004:Database '' not found.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - connectionAttributes=databaseName=wombat
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ004:Database '' not found.
+  getConnection(null, wilma) - XJ004:Database '' not found.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true, connectionAttributes=databaseName=kangaroo
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;databaseName=kangaroo;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;databaseName=kangaroo;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+Enable Authentication
+08006:Database 'wombat' shutdown.
+AUTHENTICATION NOW ENABLED
+DataSource - attributesAsPassword=true
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true, user=fred, password=databaseName=wombat;password=wilma
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - EMPTY
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - connectionAttributes=databaseName=wombat
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - attributesAsPassword=true
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - attributesAsPassword=true, user=fred, password=databaseName=wombat;password=wilma
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+XADataSource - EMPTY
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - databaseName=wombat
+  getXAConnection() - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, wilma) - OK
+  getXAConnection(null, wilma) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08004:Connection refused : Invalid authentication.
+XADataSource - connectionAttributes=databaseName=wombat
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - attributesAsPassword=true
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - databaseName=wombat, attributesAsPassword=true
+  getXAConnection() - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, wilma) - XJ028:The URL 'jdbc:derby:wombat;wilma' is not properly formed.
+  getXAConnection(null, wilma) - XJ028:The URL 'jdbc:derby:wombat;wilma' is not properly formed.
+  getXAConnection(null, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=wilma) - OK
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08004:Connection refused : Invalid authentication.
+Completed checkDataSource

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkDataSource30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,737 @@
+Running connection checks on Nested
+  isolation level 2
+  auto commit     false
+  read only       false
+Running JDBC 3.0 connection checks on DriverManager 
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on DriverManager 
+  isolation level 2
+  auto commit     true
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+DriverManager  <closedconn>.close() no error
+DriverManager  <closedconn>.createStatement() 08003 - No current connection.
+DriverManager  <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+EmbeddedDataSource <closedconn>.close() no error
+EmbeddedDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedConnectionPoolDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(1):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedConnectionPoolDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(1):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Changes rolled back OK in auto closed pooled connection
+EVENT(1):connectionClosed
+expected SQL Exception: No current connection.
+expected SQL Exception: No current connection.
+Running JDBC 3.0 connection checks on EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(3):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Changes rolled back OK in auto closed local XAConnection
+EVENT(3):connectionClosed
+ERROR XJ015: Derby system shutdown.
+Running connection checks on Nested
+  isolation level 2
+  auto commit     false
+  read only       false
+Running JDBC 3.0 connection checks on DriverManager 
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on DriverManager 
+  isolation level 2
+  auto commit     true
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+DriverManager  <closedconn>.close() no error
+DriverManager  <closedconn>.createStatement() 08003 - No current connection.
+DriverManager  <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+method calls on a closed connection
+EmbeddedDataSource <closedconn>.close() no error
+EmbeddedDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedConnectionPoolDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(2):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedConnectionPoolDataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedConnectionPoolDataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(2):connectionClosed
+method calls on a closed connection
+EmbeddedConnectionPoolDataSource <closedconn>.close() no error
+EmbeddedConnectionPoolDataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedConnectionPoolDataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(4):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(4):connectionClosed
+method calls on a closed connection
+EmbeddedXADataSource <closedconn>.close() no error
+EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+EVENT(5):connectionClosed
+Running JDBC 3.0 connection checks on Global EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot rollback a global transaction using the Connection, commit processing must go thru XAResource interface.
+Running connection checks on Global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Global EmbeddedXADataSource <closedconn>.close() no error
+Global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on Global EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot rollback a global transaction using the Connection, commit processing must go thru XAResource interface.
+Running connection checks on Global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Global EmbeddedXADataSource <closedconn>.close() no error
+Global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on Switch to local EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on Switch to local EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to local EmbeddedXADataSource <closedconn>.close() no error
+Switch to local EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to local EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on Switch to local EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot issue savepoint when autoCommit is on.
+Running connection checks on Switch to local EmbeddedXADataSource
+  isolation level 2
+  auto commit     true
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to local EmbeddedXADataSource <closedconn>.close() no error
+Switch to local EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to local EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on Switch to global EmbeddedXADataSource
+  holdability     false
+JDBC 3.0 savepoint SQL Exception: Cannot rollback a global transaction using the Connection, commit processing must go thru XAResource interface.
+Running connection checks on Switch to global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to global EmbeddedXADataSource <closedconn>.close() no error
+Switch to global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+Running JDBC 3.0 connection checks on Switch to global EmbeddedXADataSource
+  holdability     true
+JDBC 3.0 savepoint SQL Exception: Cannot rollback a global transaction using the Connection, commit processing must go thru XAResource interface.
+Running connection checks on Switch to global EmbeddedXADataSource
+  isolation level 2
+  auto commit     false
+  read only       false
+  has warnings    false
+setTypeMap(EMPTY_MAP) - ok
+setTypeMap(null) - ok XJ081 - Invalid value 'null' passed as parameter 'map' to method 'java.sql.Connection.setTypeMap'
+setTypeMap(map) - ok 0A000 - Feature not implemented: no details.
+EVENT(5):connectionClosed
+method calls on a closed connection
+Switch to global EmbeddedXADataSource <closedconn>.close() no error
+Switch to global EmbeddedXADataSource <closedconn>.createStatement() 08003 - No current connection.
+Switch to global EmbeddedXADataSource <closedstmt>.execute() XJ012 - 'Statement' already closed.
+initial local
+  holdability     true
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+initial  X1
+  holdability     false
+  isolation level READ_COMMITTED
+  auto commit     false
+  read only       false
+modified X1
+  holdability     false
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+modified local
+  holdability     false
+  isolation level READ_UNCOMMITTED
+  auto commit     true
+  read only       true
+reset local
+  holdability     false
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+re-join X1
+  holdability     false
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+back to local (same as reset)
+  holdability     false
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+new handle - local 
+  holdability     true
+  isolation level READ_COMMITTED
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+re-join with new handle X1
+  holdability     true
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+EVENT(6):connectionClosed
+pre-X1 commit - local
+  holdability     true
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+pre-X1 commit - X1
+  holdability     true
+  isolation level READ_UNCOMMITTED
+  auto commit     false
+  read only       true
+post-X1 end - local
+  holdability     true
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+post-X1 commit - local
+  holdability     true
+  isolation level REPEATABLE_READ
+  auto commit     true
+  read only       false
+EVENT(6):connectionClosed
+TESTING RE_USE OF STATEMENT OBJECTS
+THE STATEMENT OBJECTS CAN NOT BE REUSED ACROSS LOCAL/GLOBAL CONNECTIONS BECAUSE, LOCAL CONNECTION CREATES THEM
+WITH HOLDABILITY TRUE WHEREAS GLOBAL CONNECTION CAN ONLY WORK WITH STATEMENTS WITH HOLDABILITY FALSE
+LOCK TABLE
+END LOCK TABLE
+Statement State @ Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+Statement State @ PS Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 1
+    1 type 4
+Statement State @ CS Create 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 2
+    1 type 12
+    2 type 12
+Params-local-1: ru(params) contents {3}
+sru1-local-1: ru(SN1) contents {1} {2} {3}
+Expecting exception because global transaction sru1-global-2 is trying to use a statement with holdability true
+sru1-global-2: SQL Exception: Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+sru2-global-3: ru(OAK2) contents {1} {2} {3}
+Expecting exception because global transaction sru1-global-4 is trying to use a statement with holdability true
+sru1-global-4: SQL Exception: Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Statement State @ GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+Statement State @ PS GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 1
+    1 type 4
+Statement State @ CS GLOBAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 2
+    1 type 12
+    2 type 12
+PASS: got exception because holdability is true on prepared statement and that is not allowed in global transactions
+Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+sru1-local-5: ru(SN1) contents {1} {2} {3}
+sru2-local-6: ru(OAK2) contents {1} {2} {3}
+sru3-local-7: ru(SF3) contents {1} {2} {3}
+Statement State @ LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+Statement State @ PS LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 1
+    1 type 4
+Statement State @ CS LOCAL 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 2
+    1 type 12
+    2 type 12
+Params-local-2: ru(params) contents {3}
+LOCK TABLE
+  xid row 0 lock count 4
+  xid row 1 lock count 14
+END LOCK TABLE
+sru1-local-8: ru(SN1) contents {1} {2} {3}
+sru2-local-9: ru(OAK2) contents {1} {2} {3}
+sru3-local-10: ru(SF3) contents {1} {2} {3}
+Statement State @ LOCAL 2 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 444
+  getMaxFieldSize() 713
+  getMaxRows() 19
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+Statement State @ PS LOCAL 2 
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 888
+  getMaxFieldSize() 317
+  getMaxRows() 91
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 1
+    1 type 4
+Statement State @ CS LOCAL 2
+  getResultSetType() SCROLL_INSENSITIVE
+  getResultSetConcurrency() READ_ONLY
+  getFetchDirection() REVERSE
+  getFetchSize() 999
+  getMaxFieldSize() 137
+  getMaxRows() 85
+  getResultSetHoldability() HOLD_CURSORS_OVER_COMMIT 
+  Parameter Count 2
+    1 type 12
+    2 type 12
+LOCK TABLE
+  xid row 0 lock count 4
+  xid row 1 lock count 12
+END LOCK TABLE
+sruBatch update counts : 1  1  2  1 :
+sruBatch: ru(null) contents {1} {2} {3} {4} {5} {6} {7} {8}
+XAConnection.getXAResource : No current connection.
+XAConnection.getConnection : No current connection.
+XAResource.start : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.end : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.commit : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.prepare : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.recover : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.prepare : XAException - No current connection.
+ERROR 08003: No current connection.
+XAResource.isSameRM : XAException - No current connection.
+ERROR 08003: No current connection.
+Patricio update count 1
+conn4 autcommit true
+acxs 1
+acxs 2
+autocommitxastart expected No current connection.
+acxs 1
+acxs 2
+autocommitxastart expected  : XAException - null
+acxs 3
+DataSource - EMPTY
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ004:Database '' not found.
+  getConnection(null, wilma) - XJ004:Database '' not found.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - connectionAttributes=databaseName=wombat
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ004:Database '' not found.
+  getConnection(null, wilma) - XJ004:Database '' not found.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true, connectionAttributes=databaseName=kangaroo
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;databaseName=kangaroo;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;databaseName=kangaroo;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+Enable Authentication
+08006:Database 'wombat' shutdown.
+AUTHENTICATION NOW ENABLED
+DataSource - attributesAsPassword=true
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+DataSource - attributesAsPassword=true, user=fred, password=databaseName=wombat;password=wilma
+  getConnection() - XJ004:Database '' not found.
+  getConnection(null, null) - XJ004:Database '' not found.
+  getConnection(fred, null) - XJ004:Database '' not found.
+  getConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - EMPTY
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - connectionAttributes=databaseName=wombat
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, wilma) - XJ004:Database '' not found.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - attributesAsPassword=true
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+ConnectionPoolDataSource - attributesAsPassword=true, user=fred, password=databaseName=wombat;password=wilma
+  getPooledConnection() - XJ004:Database '' not found.
+  getPooledConnection(null, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, null) - XJ004:Database '' not found.
+  getPooledConnection(fred, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, wilma) - XJ028:The URL 'jdbc:derby: ;wilma' is not properly formed.
+  getPooledConnection(null, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=wilma) - XJ004:Database '' not found.
+  getPooledConnection(fred, databaseName=wombat;password=betty) - XJ004:Database '' not found.
+XADataSource - EMPTY
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - databaseName=wombat
+  getXAConnection() - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, wilma) - OK
+  getXAConnection(null, wilma) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08004:Connection refused : Invalid authentication.
+XADataSource - connectionAttributes=databaseName=wombat
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - attributesAsPassword=true
+  getXAConnection() - 08006:Database not available
+  getXAConnection(null, null) - 08006:Database not available
+  getXAConnection(fred, null) - 08006:Database not available
+  getXAConnection(fred, wilma) - 08006:Database not available
+  getXAConnection(null, wilma) - 08006:Database not available
+  getXAConnection(null, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=wilma) - 08006:Database not available
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08006:Database not available
+XADataSource - databaseName=wombat, attributesAsPassword=true
+  getXAConnection() - 08004:Connection refused : Invalid authentication.
+  getXAConnection(null, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, null) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, wilma) - XJ028:The URL 'jdbc:derby:wombat;wilma' is not properly formed.
+  getXAConnection(null, wilma) - XJ028:The URL 'jdbc:derby:wombat;wilma' is not properly formed.
+  getXAConnection(null, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat) - 08004:Connection refused : Invalid authentication.
+  getXAConnection(fred, databaseName=wombat;password=wilma) - OK
+  getXAConnection(fred, databaseName=wombat;password=betty) - 08004:Connection refused : Invalid authentication.
+START XA HOLDABILITY TEST
+By default, autocommit is true for a connection
+Default holdability for a connection is HOLD_CURSORS_OVER_COMMIT
+CONNECTION(not in xa transaction yet) HOLDABILITY true
+Notice that autocommit now is false for connection because it is part of the global transaction
+Notice that connection's holdability at this point is CLOSE_CURSORS_AT_COMMIT because it is part of the global transaction
+CONNECTION(in xa transaction) HOLDABILITY false
+This is a bug. Connection's holdability should have been CLOSE_CURSORS_AT_COMMIT since it is in the global transaction
+Have reported this on Derby dev-list
+CONNECTION(in xa transaction) HOLDABILITY true
+Autocommit on Connection inside global transaction has been set correctly to false
+CONNECTION(non-xa) HOLDABILITY false
+STATEMENT HOLDABILITY false
+STATEMENT HOLDABILITY false
+STATEMENT HOLDABILITY true
+PREPARED STATEMENT HOLDABILITY true
+CALLABLE STATEMENT HOLDABILITY true
+H@1 id 1
+H@2 id 2
+H@3 id 3
+CONNECTION(xa) HOLDABILITY false
+STATEMENT(this one was created with holdability false, outside the global transaction. Check it's holdability inside global transaction) HOLDABILITY false
+STATEMENT(this one was created with holdability true, outside the global transaction. Check it's holdability inside global transaction) HOLDABILITY true
+STATEMENT(this one was created with default holdability inside this global transaction. Check it's holdability) HOLDABILITY false
+PREPAREDSTATEMENT(this one was created with default holdability inside this global transaction. Check it's holdability) HOLDABILITY false
+CALLABLESTATEMENT(this one was created with default holdability inside this global transaction. Check it's holdability) HOLDABILITY false
+X@1 id 1
+X@2 id 2
+Expected SQLException No current connection.
+Expected SQLException No current connection.
+resume XA transaction and keep using rs
+Check holdability of various jdbc objects after resuming XA transaction
+CONNECTION(xa) HOLDABILITY false
+STATEMENT(this one was created with holdability false, outside the global transaction. Check it's holdability inside global transaction) HOLDABILITY false
+STATEMENT(this one was created with holdability true, outside the global transaction. Check it's holdability inside global transaction) HOLDABILITY true
+STATEMENT(this one was created with default holdability inside the global transaction when it was first started. Check it's holdability) HOLDABILITY false
+PREPAREDSTATEMENT(this one was created with default holdability inside the global transaction when it was first started. Check it's holdability) HOLDABILITY false
+CALLABLESTATEMENT(this one was created with default holdability inside the global transaction when it was first started. Check it's holdability) HOLDABILITY false
+STATEMENT(this one was created with default holdability after the global transaction was resumed. Check it's holdability) HOLDABILITY false
+PREPAREDSTATEMENT(this one was created with default holdability after the global transaction was resumed. Check it's holdability) HOLDABILITY false
+CALLABLESTATEMENT(this one was created with default holdability after the global transaction was resumed. Check it's holdability) HOLDABILITY false
+X@3 id 3
+Expected SQLException ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Expected SQLException ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Set connection to hold 
+CONNECTION(held) HOLDABILITY true
+CONNECTION(xa) HOLDABILITY false
+Expected SQLException(setHoldability) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (Statement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (PreparedStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (CallableStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+STATEMENT HOLDABILITY true
+Expected SQLException (local Statement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (local Statement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+PREPARED STATEMENT HOLDABILITY true
+Expected SQLException (local PreparedStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (local PreparedStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+CALLABLE STATEMENT HOLDABILITY true
+Expected SQLException (local CallableStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+Expected SQLException (local CallableStatement hold) Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT for a global transaction.
+CONNECTION(held) HOLDABILITY true
+PASS XA HOLDABILITY TEST
+Completed checkDataSource30

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkPoint.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkPoint.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/checkPoint.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,20 @@
+Test checkpoint starting
+CHECKPOINT WAS DONE
+Checking logs and Checkpoint at Insert:0
+Checking logs and Checkpoint at Insert:400
+Checking logs and Checkpoint at Insert:800
+Checking logs and Checkpoint at Insert:1200
+CHECKPOINT WAS DONE
+Checking logs and Checkpoint at Insert:1600
+Checking logs and Checkpoint at Insert:2000
+CHECKPOINT WAS DONE
+Checking logs and Checkpoint at Insert:2400
+Modifying the checkpoint/log intervals
+checkPointInterval:150001
+logSwitchInterval:150001
+Checking logs and Checkpoint at Insert:2800
+CHECKPOINT WAS DONE
+Checking logs and Checkpoint at Insert:3200
+CHECKPOINT WAS DONE
+database shutdown properly
+Test checkpoint finished

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out?view=diff&rev=124918&p1=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out&r1=124917&p2=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out&r2=124918
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out	(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/compressTable.out	Tue Jan 11 11:53:57 2005
@@ -7,7 +7,7 @@
 0 rows inserted/updated/deleted
 ij> maximumdisplaywidth 512;
 ij> CREATE FUNCTION ConsistencyChecker() RETURNS VARCHAR(128)
-EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.ConsistencyChecker.runConsistencyChecker'
+EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.T_ConsistencyChecker.runConsistencyChecker'
 LANGUAGE JAVA PARAMETER STYLE JAVA;
 0 rows inserted/updated/deleted
 ij> -- create tables

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/connectionJdbc20.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/connectionJdbc20.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/connectionJdbc20.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,221 @@
+Test connection20 starting
+Got Same Connection Object
+Try to get connection using preaparedstatement
+Got Same Connection Object
+getObject(1)
+  as byte[] length 100
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getString(1) length 200
+43315858585858585858585858585858585858585858585858585858585858585858585858585858585858202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getObject(2)
+  as byte[] length 43
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getString(2) length 86
+43325858585858585858585858585858585858585858585858585858585858585858585858585858585858
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getObject(3)
+  as byte[] length 43
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getString(3) length 86
+43335858585858585858585858585858585858585858585858585858585858585858585858585858585858
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+getString(4) length 100
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getString(5) length 45
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getString(6) length 46
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Got Same Statement Object
+getObject(1)
+  as byte[] length 100
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getString(1) length 200
+43315858585858585858585858585858585858585858585858585858585858585858585858585858585858202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getObject(2)
+  as byte[] length 43
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getString(2) length 86
+43325858585858585858585858585858585858585858585858585858585858585858585858585858585858
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getObject(3)
+  as byte[] length 43
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getString(3) length 86
+43335858585858585858585858585858585858585858585858585858585858585858585858585858585858
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+getString(4) length 100
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getString(5) length 45
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getString(6) length 46
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Got Same Statement Object
+BIGINT
+LONG VARCHAR FOR BIT DATA
+VARCHAR () FOR BIT DATA
+CHAR () FOR BIT DATA
+LONG VARCHAR
+LONG NVARCHAR
+CHAR
+NATIONAL CHAR
+NUMERIC
+DECIMAL
+INTEGER
+SMALLINT
+FLOAT
+REAL
+DOUBLE
+VARCHAR
+NATIONAL CHAR VARYING
+DATE
+TIME
+TIMESTAMP
+BLOB
+CLOB
+Try to Get the connection back from metadata
+Got Same Connection Object
+ Try to get the connection back from a callable stmt
+Got Same Connection Object
+Test getConnection  finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,177 @@
+ij> run resource '/org/apache/derbyTesting/functionTests/util/testRoutines.sql';
+ij> CREATE PROCEDURE TESTROUTINE.INSTALL_ROUTINES() MODIFIES SQL DATA EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.installRoutines' language java parameter style java;
+0 rows inserted/updated/deleted
+ij> CALL TESTROUTINE.INSTALL_ROUTINES();
+0 rows inserted/updated/deleted
+ij> DROP PROCEDURE TESTROUTINE.INSTALL_ROUTINES;
+0 rows inserted/updated/deleted
+ij> CREATE FUNCTION GET_TABLE_PROPERTY (SCHEMA_NAME VARCHAR(128), TABLE_NAME VARCHAR(128), PROP_KEY VARCHAR(1000)) RETURNS VARCHAR(1000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestPropertyInfo.getTableProperty' LANGUAGE JAVA PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> -- Get a property that hasn't been set yet - should return null
+values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+NULL                                                                                                                            
+ij> -- Set a couple of properties
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key1', 'one, two, three');
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key2', 'eins, zwei, drei');
+0 rows inserted/updated/deleted
+ij> -- and fetch them
+values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+one, two, three                                                                                                                 
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+eins, zwei, drei                                                                                                                
+ij> -- and delete one of theme
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key2', null);
+0 rows inserted/updated/deleted
+ij> -- and fetch them
+values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+one, two, three                                                                                                                 
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+NULL                                                                                                                            
+ij> -- Now check some explicit properties
+-- ************ derby.storage.pageSize
+-- See what the default is first
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+4096                                                                                                                            
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- set the per-database value
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', '16384');
+0 rows inserted/updated/deleted
+ij> -- this create table should pick up the per-database
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+16384                                                                                                                           
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- ************ derby.storage.minimumRecordSize
+-- See what the default is first
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+12                                                                                                                              
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- set the per-database value
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.minimumRecordSize', '42');
+0 rows inserted/updated/deleted
+ij> -- this create table should pick up the per-database
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+42                                                                                                                              
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- ************ derby.storage.pageReservedSpace
+-- See what the default is first
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+20                                                                                                                              
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- set the per-database value
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageReservedSpace', '17');
+0 rows inserted/updated/deleted
+ij> -- this create table should pick up the per-database
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+17                                                                                                                              
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- ************ derby.database.noAutoBoot
+-- should be set in service.properties, not the conglomerate, but that's transparent here ... 
+values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+NULL                                                                                                                            
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'true');
+0 rows inserted/updated/deleted
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+true                                                                                                                            
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'false');
+0 rows inserted/updated/deleted
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+false                                                                                                                           
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', null);
+0 rows inserted/updated/deleted
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+NULL                                                                                                                            
+ij> -- Now check some explicit properties
+-- Now check with derby.storage.pageSize if derby.database.propertiesOnly
+-- ensures that system wide properties are ignored
+-- See is currently set, should be 16384
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+16384                                                                                                                           
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- set system value
+CALL TESTROUTINE.SET_SYSTEM_PROPERTY('derby.storage.pageSize', '8192');
+0 rows inserted/updated/deleted
+ij> -- this create table should pick up the system value - 8192
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+8192                                                                                                                            
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- 
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.propertiesOnly', 'true');
+0 rows inserted/updated/deleted
+ij> -- this create table should pick up the database value - 16384
+create table T (i int);
+0 rows inserted/updated/deleted
+ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+16384                                                                                                                           
+ij> drop table T;
+0 rows inserted/updated/deleted
+ij> -- verify that creation time only properties may not be set.
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.engineType', '9');
+ERROR XCY02: The requested property change is not supported 'derby.engineType'='9'.
+ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.engineType');
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+NULL                                                                                                                            
+ij> drop function GET_TABLE_PROPERTY;
+0 rows inserted/updated/deleted
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/dbMetaDataJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/dbMetaDataJdbc30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/dbMetaDataJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,31 @@
+Test dbMetaDataJdbc30 starting
+JDBC Driver 'Apache Derby Embedded JDBC Driver', version 10.1 (10.1.0.0 alpha)
+The URL is: jdbc:derby:wombat
+supportsSavepoints() : true
+supportsNamedParameters() : false
+supportsMultipleOpenResults() : true
+supportsGetGeneratedKeys() : true
+supportsResultSetHoldability(HOLD_CURSORS_OVER_COMMIT) : true
+supportsResultSetHoldability(CLOSE_CURSORS_AT_COMMIT) : true
+getJDBCMajorVersion() : 3
+getJDBCMinorVersion() : 0
+getSQLStateType() : 2
+getResultSetHoldability() : 1
+getDatabaseMajorVersion() : 10
+getDatabaseMinorVersion() : 1
+supportsStatementPooling() : false
+getMaxColumnNameLength() = 30
+getMaxCursorNameLength() = 18
+getMaxSchemaNameLength() = 30
+getMaxProcedureNameLength() = 128
+getMaxTableNameLength() = 128
+getMaxUserNameLength() = 30
+getSuperTypes() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+getSuperTables() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+getAttributes() with null :
+EXPECTED: Not Implemented Exception or empty  ResultSet
+locatorsUpdateCopy(): 
+Expected : Feature not implemented: no details.
+Test dbMetaDataJdbc30 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurConnJdbc20.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurConnJdbc20.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/getCurConnJdbc20.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,22 @@
+ij> -- test getCurConnJdbc20
+-- this test will get run under jdk12 only. If run under jdk11x, will get an exception like
+-- following for call to newToJdbc20Method
+-- ERROR 38000: The exception 'java.lang.NoSuchMethodError: java.sql.Connection: method 
+-- createStatement(II)Ljava/sql/Statement; not found' was thrown while evaluating an expression.
+-- method alias and table used later
+create procedure newToJdbc20Method() PARAMETER STYLE JAVA LANGUAGE JAVA EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.Jdbc20Test.newToJdbc20Method';
+0 rows inserted/updated/deleted
+ij> create table T (a int NOT NULL primary key);
+0 rows inserted/updated/deleted
+ij> insert into T values (1);
+1 row inserted/updated/deleted
+ij> -- now lets try a variety of errors
+call newToJdbc20Method();
+0 rows inserted/updated/deleted
+ij> ------------------------------------------------------------
+-- drop the table
+drop table T;
+0 rows inserted/updated/deleted
+ij> drop procedure newToJdbc20Method;
+0 rows inserted/updated/deleted
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorJava.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorJava.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorJava.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,12 @@
+Creating table...
+done creating table and inserting data.
+Start multi table query with holdability true test
+value of t2.c22 is 1
+value of t2.c22 is 2
+Multi table query with holdability true test over
+Start isolation level change test
+Switch isolation while there are open cursors
+Should see exceptions
+ERROR X0X03: Invalid transaction state - held cursor requires same isolation level
+PASS: Can't change isolation if they are open cursor
+Isolation level change test over

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/iepnegativetests.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/iepnegativetests.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/iepnegativetests.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,323 @@
+ij> --testing error cases for import/export
+create schema iep;
+0 rows inserted/updated/deleted
+ij> create table iep.t1(a int);
+0 rows inserted/updated/deleted
+ij> insert into iep.t1 values(100) , (101) , (102) , (103) , (104) , (105) , (106);
+7 rows inserted/updated/deleted
+ij> --export error cases
+--export can not create file
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'nodir/t1.dat' , 
+                                 null, null, null) ;
+ERROR XIE0I: Got IOException while writing data to the file
+ij> --export table not found
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 'NOTABLE' , 'extinout/t1.dat' , 
+                                 null, null, null) ;
+ERROR 38000: The exception 'SQL Exception: Table 'IEP.NOTABLE' does not exist.' was thrown while evaluating an expression.
+ERROR 42X05: Table 'IEP.NOTABLE' does not exist.
+ij> ---export schema is not valid
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('XXXX', 't1' , 'extinout/t1.dat' , 
+                                 null, null, null) ;
+ERROR 38000: The exception 'SQL Exception: Schema 'XXXX' does not exist' was thrown while evaluating an expression.
+ERROR 42Y07: Schema 'XXXX' does not exist
+ij> --export query is invalid (syntax error)
+call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select from t1', 
+                                    'extinout/t1.dat' , null, null, null) ;
+ERROR 38000: The exception 'SQL Exception: Syntax error: Encountered "from" at line 1, column 8.' was thrown while evaluating an expression.
+ERROR 42X01: Syntax error: Encountered "from" at line 1, column 8.
+ij> --export codeset is invalid
+call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from iep.t1', 
+                                    'extinout/t1.dat' , null, null, 'NOSUCHCODESET') ;
+ERROR XIE0I: Got IOException while writing data to the file
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('XXXX', 't1' , 'extinout/t1.dat' , 
+                                 null, null, null) ;
+ERROR 38000: The exception 'SQL Exception: Schema 'XXXX' does not exist' was thrown while evaluating an expression.
+ERROR 42Y07: Schema 'XXXX' does not exist
+ij> --export delimiter errror cases
+--period can not be used as character ot column delimiter
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, '.', null) ;
+ERROR XIE0K: The period was specified as a character string delimiter.
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 '.', null, null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --same delimter can not be used as character and column delimters
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 ';', ';', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --space character can not be a delimiter
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 ' ', ';', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, ' ', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --if emtry strinng is passed actual value delimiter should be space
+--and the that should become a invalid delimiter 
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 '', ';', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, '', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --more than one character passed to the delimiters get truncated to one
+--following one should give error because eventually '\' delimiter 
+--is used a both for char and col
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 '\a', '\', null) ;
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --DO A VALID EXPORT AND  IMPORT 
+set schema iep;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, null, 'utf-8') ;
+0 rows inserted/updated/deleted
+ij> delete from t1 ;
+7 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from t1;
+A          
+-----------
+100        
+101        
+102        
+103        
+104        
+105        
+106        
+ij> --import error cases
+--import can not find input file
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE('iep', 't1' , 'nodir/t1.dat' , 
+                                 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE04: Data file not found: nodir/t1.dat
+ij> --import table not found
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 'NOTABLE' , 'extinout/t1.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE0M: Table 'IEP.NOTABLE' does not exist.
+ij> --import schema is not valid
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('XXXX', 't1' , 'extinout/t1.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE0M: Table 'XXXX.T1' does not exist.
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, null, 'INCORRECTCODESET', 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XJ001: Java exception: 'java.io.UnsupportedEncodingException: INCORRECTCODESET'.
+ij> --check import with invalid delimiter usage
+--if emtry strinng is passed actual value delimiter should be space
+--and the that should become a invalid delimiter 
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 '', ';', null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 null, '', null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> --same delimter can not be used as character and column delimters
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 't1' , 'extinout/t1.dat' , 
+                                 ';', ';', null, 1) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE0J: A delimiter is not valid or is used more than once.
+ij> autocommit off;
+ij> create table v1(a int) ;
+0 rows inserted/updated/deleted
+ij> declare global temporary table session.temp1(c1 int) on commit preserve rows not logged;
+0 rows inserted/updated/deleted
+ij> insert into session.temp1 values(1) , (2) , (3) , (4) , (5) , (6);
+6 rows inserted/updated/deleted
+ij> select * from session.temp1;
+C1         
+-----------
+1          
+2          
+3          
+4          
+5          
+6          
+ij> --export to from a temporary table
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('session', 'temp1' , 'extinout/temp1.dat' , 
+                           null, null, null) ;
+0 rows inserted/updated/deleted
+ij> -- because temporary table has on commit preserve rows, commit issued by export will not delete data from the temp table.
+select * from session.temp1;
+C1         
+-----------
+1          
+2          
+3          
+4          
+5          
+6          
+ij> --import back to a regualr table
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 'v1' , 'extinout/temp1.dat' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from v1;
+A          
+-----------
+1          
+2          
+3          
+4          
+5          
+6          
+ij> commit;
+ij> --import to a temp table should fail with a table not found errror
+declare global temporary table session.temp2(c1 int) not logged;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('session', 'temp2' , 'extinout/temp1.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE0M: Table 'SESSION.TEMP2' does not exist.
+ij> select * from session.temp2 ;
+ERROR 42X05: Table 'SESSION.TEMP2' does not exist.
+ij> commit ;
+ij> drop table v1;
+0 rows inserted/updated/deleted
+ij> autocommit on;
+ij> create table t3(c1 int , c2 double , c3 decimal , c4 varchar(20) );
+0 rows inserted/updated/deleted
+ij> insert into t3 values(1 , 3.5 , 8.6 , 'test strings');
+1 row inserted/updated/deleted
+ij> insert into t3 values(2 , 3.5 , 8.6 , 'test strings');
+1 row inserted/updated/deleted
+ij> insert into t3 values(3 , 3.5 , 8.6 , 'test strings');
+1 row inserted/updated/deleted
+ij> insert into t3 values(4 , 3.5 , 8.6 , 'test strings');
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't3' , 'extinout/t3.dat' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 't3' , 'extinout/t3.dat' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from t3;
+C1         |C2                    |C3    |C4                  
+--------------------------------------------------------------
+1          |3.5                   |8     |test strings        
+2          |3.5                   |8     |test strings        
+3          |3.5                   |8     |test strings        
+4          |3.5                   |8     |test strings        
+1          |3.5                   |8     |test strings        
+2          |3.5                   |8     |test strings        
+3          |3.5                   |8     |test strings        
+4          |3.5                   |8     |test strings        
+ij> --import data column names are incorrect
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'x1, x2, x3, x4', null,
+                                 'extinout/t3.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE08: There is no column by name: x1
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'x1, x2, x3', '1,2,3,4', 
+                                 'extinout/t3.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE08: There is no column by name: x1
+ij> --import data insert column names count < column indexes does not match
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'c1, c2, c3', '1,2,3,4', 
+                                 'extinout/t3.dat' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> --import data column indexes count > insert columns count
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'c1, c2, c3,c4', '1,2', 
+                                 'extinout/t3.dat' , 
+                                 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The number of values assigned is not the same as the number of specified or implied columns.' was thrown while evaluating an expression.
+ERROR 42802: The number of values assigned is not the same as the number of specified or implied columns.
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , null, '11,22,12,24', 
+                                 'extinout/t3.dat' , 
+				 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Column 'COLUMN11' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN11' is not a column in the target table.' was thrown while evaluating an expression.
+ERROR 42X04: Column 'COLUMN11' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN11' is not a column in the target table.
+ij> --repeat the above type cases with empty file and minor variation to paramters
+delete from t3 ;
+12 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 't3' , 'extinout/t3.dat' , 
+                                  ';', '^', 'utf-16') ;
+0 rows inserted/updated/deleted
+ij> --import data column names are incorrect
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'x1, x2, x3, x4', null, 
+                                 'extinout/t3.dat' , 
+                                 ';', '^', 'utf-16', 1) ;
+ERROR XIE08: There is no column by name: x1
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'x1, x2, x3', '1,2,3,4', 
+                                 'extinout/t3.dat' , 
+				    ';', '^', 'utf-16', 1) ;
+ERROR XIE08: There is no column by name: x1
+ij> --import data insert column names count < column indexes does not match
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , 'c1, c2, c3', null, 
+                                 'extinout/t3.dat' , 
+				    ';', '^', 'utf-16', 1) ;
+0 rows inserted/updated/deleted
+ij> --import data column indexes count > insert columns count
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , null, '1,2', 
+                                 'extinout/t3.dat' , 
+				    ';', '^', 'utf-16', 1) ;
+ERROR 38000: The exception 'SQL Exception: The number of values assigned is not the same as the number of specified or implied columns.' was thrown while evaluating an expression.
+ERROR 42802: The number of values assigned is not the same as the number of specified or implied columns.
+ij> --specify column indexes that are not there in the file that is being  imported
+call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 't3' , null, '11,22,12,24', 
+                                 'extinout/t3.dat' , 
+				    ';', '^', 'utf-16', 1) ;
+0 rows inserted/updated/deleted
+ij> --import to a system table shoud fail
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('SYS', 'SYSTABLES' , 'extinout/t3.dat' , 
+                                      ';', '^', 'utf-16', 1) ;
+ERROR 38000: The exception 'SQL Exception: 'SYS.SYSTABLES' is a system table.  Users are not allowed to modify the contents of this table.' was thrown while evaluating an expression.
+ERROR 42Y25: 'SYS.SYSTABLES' is a system table.  Users are not allowed to modify the contents of this table.
+ij> ---not supported by db2 cloudscape import/export
+create table ntype(a int , ct CLOB(1024));
+0 rows inserted/updated/deleted
+ij> create table ntype1(bt BLOB(1024) , a int);
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('iep', 'ntype' , 'extinout/ntype.dat' , 
+                                 null, null, null) ;
+ERROR XIE0B: Column 'CT' in the table is of type CLOB, it is not supported by import/export.
+ij> call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from iep.ntype1',
+				   'extinout/ntype.dat' , 
+                                   null, null, null) ;
+ERROR XIE0B: Column 'BT' in the table is of type BLOB, it is not supported by import/export.
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE ('iep', 'ntype' , 'extinout/ntype.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE0B: Column 'CT' in the table is of type CLOB, it is not supported by import/export.
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA('iep', 'ntype1' , null , null, 
+                                 'extinout/ntype.dat' , 
+                                 null, null, null, 0) ;
+ERROR XIE0B: Column 'BT' in the table is of type BLOB, it is not supported by import/export.
+ij> --import should aquire a lock on the table
+create table parent(a int not null primary key);
+0 rows inserted/updated/deleted
+ij> insert into parent values (1) , (2) , (3) , (4) ;
+4 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from parent where a < 3' , 'extinout/parent.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> connect 'jdbc:derby:wombat' as c1;
+ij(C1)> connect 'jdbc:derby:wombat' as c2;
+ij(C2)> set connection c1;
+ij(C1)> autocommit off;
+ij(C1)> lock table iep.parent in share mode;
+0 rows inserted/updated/deleted
+ij(C1)> set connection c2;
+ij(C2)> autocommit off;
+ij(C2)> --following import should fail with lock time out
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.locks.waitTimeout', '5');
+0 rows inserted/updated/deleted
+ij(C2)> CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE('iep', 'parent', 'extinout/parent.del',null, null, null,1);
+ERROR 38000: The exception 'SQL Exception: Table 'IEP.PARENT' cannot be locked in 'EXCLUSIVE' mode.' was thrown while evaluating an expression.
+ERROR X0X02: Table 'IEP.PARENT' cannot be locked in 'EXCLUSIVE' mode.
+ERROR 40XL1: A lock could not be obtained within the time requested
+ij(C2)> disconnect c1;
+ij(C2)> disconnect c2;
+ij> set connection connection0;
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ieptests.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ieptests.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ieptests.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,737 @@
+ij> --table used for export
+create table ex_emp(id int , name char(7) , skills varchar(200), salary decimal(10,2)) ;
+0 rows inserted/updated/deleted
+ij> --table used for import
+create table imp_emp(id int , name char(7), skills varchar(200), salary decimal(10,2)) ;
+0 rows inserted/updated/deleted
+ij> --After an export from ex_emp and import to imp_emp both tables should have 
+--same data.
+--double delimter cases with default character delimter "
+--field seperator character inside a double delimited string as first line
+insert into ex_emp values(99, 'smith' , 'tennis"p,l,ayer"', 190.55) ;
+1 row inserted/updated/deleted
+ij> -- Perform Export:
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> -- Perform Import
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'imp_emp' , 'extinout/emp.dat' , 
+                                      null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> insert into ex_emp values(100, 'smith' , 'tennis"player"', 190.55) ;
+1 row inserted/updated/deleted
+ij> insert into ex_emp values(101, 'smith' , 'tennis"player', 190.55) ;
+1 row inserted/updated/deleted
+ij> insert into ex_emp values(102, 'smith' , '"tennis"player', 190.55) ;
+1 row inserted/updated/deleted
+ij> insert into ex_emp values(103, 'smith' , '"tennis"player"', 190.55) ;
+1 row inserted/updated/deleted
+ij> insert into ex_emp values(104, 'smith' , '"tennis"""""""""""""""""""""""""""""""""""""player"', null) ;
+1 row inserted/updated/deleted
+ij> --empty string
+insert into ex_emp values(105, 'smith' , '""', 190.55) ;
+1 row inserted/updated/deleted
+ij> --just delimeter inside 
+insert into ex_emp values(106, 'smith' , '"""""""""""""""""""', 190.55);
+1 row inserted/updated/deleted
+ij> --null value
+insert into ex_emp values(107, 'smith"' , null, 190.55) ;
+1 row inserted/updated/deleted
+ij> --all values are nulls
+insert into ex_emp values(108, null , null, null) ;
+1 row inserted/updated/deleted
+ij> -- Perform Export:
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> -- Perform Import
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'imp_emp' , 'extinout/emp.dat' , 
+                                      null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from ex_emp;
+ID         |NAME   |SKILLS                                                                                                                          |SALARY       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+100        |smith  |tennis"player"                                                                                                                  |190.55       
+101        |smith  |tennis"player                                                                                                                   |190.55       
+102        |smith  |"tennis"player                                                                                                                  |190.55       
+103        |smith  |"tennis"player"                                                                                                                 |190.55       
+104        |smith  |"tennis"""""""""""""""""""""""""""""""""""""player"                                                                             |NULL         
+105        |smith  |""                                                                                                                              |190.55       
+106        |smith  |"""""""""""""""""""                                                                                                             |190.55       
+107        |smith" |NULL                                                                                                                            |190.55       
+108        |NULL   |NULL                                                                                                                            |NULL         
+ij> select * from imp_emp;
+ID         |NAME   |SKILLS                                                                                                                          |SALARY       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+100        |smith  |tennis"player"                                                                                                                  |190.55       
+101        |smith  |tennis"player                                                                                                                   |190.55       
+102        |smith  |"tennis"player                                                                                                                  |190.55       
+103        |smith  |"tennis"player"                                                                                                                 |190.55       
+104        |smith  |"tennis"""""""""""""""""""""""""""""""""""""player"                                                                             |NULL         
+105        |smith  |""                                                                                                                              |190.55       
+106        |smith  |"""""""""""""""""""                                                                                                             |190.55       
+107        |smith" |NULL                                                                                                                            |190.55       
+108        |NULL   |NULL                                                                                                                            |NULL         
+ij> --checking query
+select count(*) from imp_emp, ex_emp
+      where ex_emp.id = imp_emp.id and
+      (ex_emp.skills=imp_emp.skills or
+      (ex_emp.skills is NULL and imp_emp.skills is NULL));
+1          
+-----------
+11         
+ij> delete from imp_emp where id < 105;
+7 rows inserted/updated/deleted
+ij> --export from ex_emp using the a query only rows that got deleted in imp_emp 
+call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from ex_emp where id < 105', 
+                                    'extinout/emp.dat' , null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'imp_emp' , 'extinout/emp.dat' , 
+                                      null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> --checking query
+select count(*) from imp_emp, ex_emp
+      where ex_emp.id = imp_emp.id and
+      (ex_emp.skills=imp_emp.skills or
+      (ex_emp.skills is NULL and imp_emp.skills is NULL));
+1          
+-----------
+10         
+ij> --export the columns in different column order than in the table.
+call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select name , salary , skills, id from ex_emp where id < 105', 
+                                    'extinout/emp.dat' , null, null, null) ;
+0 rows inserted/updated/deleted
+ij> -- import them in to a with order different than in the table;
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'imp_emp' ,'name, salary, skills, id', null,
+                                    'extinout/emp.dat', null, null, null, 1) ;
+0 rows inserted/updated/deleted
+ij> --check query
+select count(*) from imp_emp, ex_emp
+      where ex_emp.id = imp_emp.id and
+      (ex_emp.skills=imp_emp.skills or
+      (ex_emp.skills is NULL and imp_emp.skills is NULL));
+1          
+-----------
+6          
+ij> -- do import replace into the table with table order but using column indexes
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'imp_emp' ,null, '4, 1, 3, 2',
+                                    'extinout/emp.dat', null, null, null, 1) ;
+0 rows inserted/updated/deleted
+ij> --check query
+select count(*) from imp_emp, ex_emp
+      where ex_emp.id = imp_emp.id and
+      (ex_emp.skills=imp_emp.skills or
+      (ex_emp.skills is NULL and imp_emp.skills is NULL));
+1          
+-----------
+6          
+ij> --replace using insert column names and column indexes
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'imp_emp' ,'salary, id, skills, name', '2, 4, 3, 1',
+                                    'extinout/emp.dat', null, null, null, 1) ;
+0 rows inserted/updated/deleted
+ij> --check query
+select count(*) from imp_emp, ex_emp
+      where ex_emp.id = imp_emp.id and
+      (ex_emp.skills=imp_emp.skills or
+      (ex_emp.skills is NULL and imp_emp.skills is NULL));
+1          
+-----------
+6          
+ij> ---testing with different delimiters
+-- single quote(') as character delimiter
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                    null, '''', null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'imp_emp' , 'extinout/emp.dat' , 
+                                    null, '''', null, 1) ;
+0 rows inserted/updated/deleted
+ij> select * from imp_emp ;
+ID         |NAME   |SKILLS                                                                                                                          |SALARY       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+100        |smith  |tennis"player"                                                                                                                  |190.55       
+101        |smith  |tennis"player                                                                                                                   |190.55       
+102        |smith  |"tennis"player                                                                                                                  |190.55       
+103        |smith  |"tennis"player"                                                                                                                 |190.55       
+104        |smith  |"tennis"""""""""""""""""""""""""""""""""""""player"                                                                             |NULL         
+105        |smith  |""                                                                                                                              |190.55       
+106        |smith  |"""""""""""""""""""                                                                                                             |190.55       
+107        |smith" |NULL                                                                                                                            |190.55       
+108        |NULL   |NULL                                                                                                                            |NULL         
+ij> -- single quote(') as column delimiter
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                    '''',null, null) ;
+0 rows inserted/updated/deleted
+ij> delete from imp_emp ;
+10 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'imp_emp' , 'extinout/emp.dat' , 
+                                    '''', null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from imp_emp;
+ID         |NAME   |SKILLS                                                                                                                          |SALARY       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+100        |smith  |tennis"player"                                                                                                                  |190.55       
+101        |smith  |tennis"player                                                                                                                   |190.55       
+102        |smith  |"tennis"player                                                                                                                  |190.55       
+103        |smith  |"tennis"player"                                                                                                                 |190.55       
+104        |smith  |"tennis"""""""""""""""""""""""""""""""""""""player"                                                                             |NULL         
+105        |smith  |""                                                                                                                              |190.55       
+106        |smith  |"""""""""""""""""""                                                                                                             |190.55       
+107        |smith" |NULL                                                                                                                            |190.55       
+108        |NULL   |NULL                                                                                                                            |NULL         
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                 '*', '%', null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'ex_emp' , 'extinout/emp.dat' , 
+                                 '*', '%', null, 1) ;
+0 rows inserted/updated/deleted
+ij> select * from imp_emp ;
+ID         |NAME   |SKILLS                                                                                                                          |SALARY       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------
+99         |smith  |tennis"p,l,ayer"                                                                                                                |190.55       
+100        |smith  |tennis"player"                                                                                                                  |190.55       
+101        |smith  |tennis"player                                                                                                                   |190.55       
+102        |smith  |"tennis"player                                                                                                                  |190.55       
+103        |smith  |"tennis"player"                                                                                                                 |190.55       
+104        |smith  |"tennis"""""""""""""""""""""""""""""""""""""player"                                                                             |NULL         
+105        |smith  |""                                                                                                                              |190.55       
+106        |smith  |"""""""""""""""""""                                                                                                             |190.55       
+107        |smith" |NULL                                                                                                                            |190.55       
+108        |NULL   |NULL                                                                                                                            |NULL         
+ij> --cases for identity columns
+--create table emp1(id int generated always as identity (start with 100), name char(7), 
+--              skills varchar(200), salary decimal(10,2),skills varchar(200));
+--check import export with real and double that can not be explictitly
+--casted from VARCHAR type .
+create table noncast(c1 double , c2 real ) ;
+0 rows inserted/updated/deleted
+ij> insert into noncast values(1.5 , 6.7 ) ;
+1 row inserted/updated/deleted
+ij> insert into noncast values(2.5 , 8.999) ;
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE ('APP' , 'noncast' , 'extinout/noncast.dat'  , null , null , null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'noncast' , 'extinout/noncast.dat'  , null , null , null , 0) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'noncast', 'c2 , c1' , '2, 1' , 
+                                   'extinout/noncast.dat'  , null , null , null , 0) ;
+0 rows inserted/updated/deleted
+ij> select * from noncast ;
+C1                    |C2           
+------------------------------------
+1.5                   |6.7          
+2.5                   |8.999        
+1.5                   |6.7          
+2.5                   |8.999        
+1.5                   |6.7          
+2.5                   |8.999        
+ij> --check import/export of time types
+CREATE TABLE   TTYPES(DATETYPE DATE, TIMETYPE TIME, TSTAMPTYPE TIMESTAMP );
+0 rows inserted/updated/deleted
+ij> insert into ttypes values('1999-09-09' , '12:15:19' , 'xxxxxxFILTERED-TIMESTAMPxxxxx);
+1 row inserted/updated/deleted
+ij> insert into ttypes values('2999-12-01' , '13:16:10' , 'xxxxxxFILTERED-TIMESTAMPxxxxx);
+1 row inserted/updated/deleted
+ij> insert into ttypes values('3000-11-02' , '14:17:21' , 'xxxxxxFILTERED-TIMESTAMPxxxxx);
+1 row inserted/updated/deleted
+ij> insert into ttypes values('2004-04-03' , '15:18:31' , 'xxxxxxFILTERED-TIMESTAMPxxxxx);
+1 row inserted/updated/deleted
+ij> insert into ttypes values(null , null , null);
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'ttypes' , 'extinout/ttypes.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'ttypes' , 'extinout/ttypes.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from ttypes;
+DATETYPE  |TIMETYPE|TSTAMPTYPE                
+----------------------------------------------
+1999-09-09|12:15:19|xxxxxxFILTERED-TIMESTAMPxxxxx
+2999-12-01|13:16:10|xxxxxxFILTERED-TIMESTAMPxxxxx
+3000-11-02|14:17:21|xxxxxxFILTERED-TIMESTAMPxxxxx
+2004-04-03|15:18:31|xxxxxxFILTERED-TIMESTAMPxxxxx
+NULL      |NULL    |NULL                      
+1999-09-09|12:15:19|xxxxxxFILTERED-TIMESTAMPxxxxx
+2999-12-01|13:16:10|xxxxxxFILTERED-TIMESTAMPxxxxx
+3000-11-02|14:17:21|xxxxxxFILTERED-TIMESTAMPxxxxx
+2004-04-03|15:18:31|xxxxxxFILTERED-TIMESTAMPxxxxx
+NULL      |NULL    |NULL                      
+ij> ---Import should commit on success and rollback on any failures
+autocommit off ;
+ij> create table t1(a int ) ;
+0 rows inserted/updated/deleted
+ij> insert into t1 values(1) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(2) ;
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 't1' , 'extinout/t1.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 't1' , 'extinout/t1.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> --above import should have committed , following rollback should be a noop.
+rollback;
+ij> select * from t1;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --file not found error should rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 't1' , 'extinout/nofile.del' , 
+                                 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE04: Data file not found: extinout/nofile.del
+ij> commit;
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --table not found error should issue a implicit rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'notable' , 'extinout/t1.del' , 
+                                 null, null, null, 0) ;
+ERROR XIE0M: Table 'NOTABLE' does not exist.
+ij> commit ;
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> delete from t1;
+4 rows inserted/updated/deleted
+ij> ---check commit/rollback with replace options using 
+insert into t1 values(1) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(2) ;
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 't1' , 'extinout/t1.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> --above export should have a commit.rollback below should be a noop
+rollback;
+ij> select * from t1;
+A          
+-----------
+1          
+2          
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 't1' , 'extinout/t1.del' , 
+                                 null, null, null, 1) ;
+0 rows inserted/updated/deleted
+ij> --above import should have committed , following rollback should be a noop.
+rollback;
+ij> select * from t1;
+A          
+-----------
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --file not found error should rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 't1' , 'extinout/nofile.del' , 
+                                 null, null, null, 1) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE04: Data file not found: extinout/nofile.del
+ij> commit;
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --table not found error should issue a implicit rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'notable' , 'extinout/t1.del' , 
+                                 null, null, null, 1) ;
+ERROR XIE0M: Table 'NOTABLE' does not exist.
+ij> commit ;
+ij> ---check IMPORT_DATA calls commit/rollback
+select * from t1 ;
+A          
+-----------
+1          
+2          
+ij> delete from t1;
+2 rows inserted/updated/deleted
+ij> ---check commit/rollback with replace options using 
+insert into t1 values(1) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(2) ;
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 't1' , 'extinout/t1.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 't1' , 'a' , '1' , 'extinout/t1.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> --above import should have committed , following rollback should be a noop.
+rollback;
+ij> select * from t1;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --file not found error should rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 't1', 'a' , '1'  , 'extinout/nofile.del' , 
+                                 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE04: Data file not found: extinout/nofile.del
+ij> commit;
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> --table not found error should issue a implicit rollback 
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'notable' , 'a' , '1', 'extinout/t1.del' , 
+                                 null, null, null, 1) ;
+ERROR XIE0M: Table 'NOTABLE' does not exist.
+ij> commit ;
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+ij> autocommit on ;
+ij> --make sure commit import code is ok in autcommit mode.
+insert into t1 values(3) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(4) ;
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 't1' , 'a' , '1' , 'extinout/t1.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+3          
+4          
+1          
+2          
+ij> insert into t1 values(5) ;
+1 row inserted/updated/deleted
+ij> insert into t1 values(6) ;
+1 row inserted/updated/deleted
+ij> --following import will back , but should not have any impact on inserts
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 't1', 'a' , '1'  , 'extinout/nofile.del' , 
+                                 null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.' was thrown while evaluating an expression.
+ERROR 38000: The exception 'java.lang.reflect.InvocationTargetException' was thrown while evaluating an expression.
+ERROR XJ001: Java exception: ': java.lang.reflect.InvocationTargetException'.
+ERROR XIE04: Data file not found: extinout/nofile.del
+ij> select * from t1 ;
+A          
+-----------
+1          
+2          
+1          
+2          
+3          
+4          
+1          
+2          
+5          
+6          
+ij> --END IMPORT COMMIT/ROLLBACK TESTSING
+---all types supported by DB2 cloudscape import/export
+create table alltypes(chartype char(20) , 
+	          biginttype bigint , 
+		  datetype date , 
+		  decimaltype decimal(10,5) , 
+		  doubletype double , 
+		  inttype integer , 
+		  lvartype long varchar , 
+		  realtype real , 
+		  sminttype smallint , 
+		  timetype time , 
+		  tstamptype timestamp , 
+		  vartype varchar(50));
+0 rows inserted/updated/deleted
+ij> insert into  alltypes values('chartype string' ,
+                          9223372036854775807,
+                         '1993-10-29' ,
+                          12345.54321,
+                          10E307,
+                          2147483647,
+                          'long varchar testing',
+                          10E3,
+                          32767,
+                          '09.39.43',
+                          'xxxxxxFILTERED-TIMESTAMPxxxxx,
+                          'varchar testing');
+1 row inserted/updated/deleted
+ij> insert into  alltypes values('chartype string' ,
+                          -9223372036854775808,
+                         '1993-10-29' ,
+                          0.0,
+                          -10E307,
+                          -2147483647,
+                          'long varchar testing',
+                          -10E3,
+                          32767,
+                          '09.39.43',
+                          'xxxxxxFILTERED-TIMESTAMPxxxxx,
+                          'varchar testing');
+1 row inserted/updated/deleted
+ij> insert into  alltypes values('"chartype" string' , 
+                              9223372036854775807,
+                             '1993-10-29' , 
+                              -12345.54321,
+                              10E307,
+                              2147483647,
+                              'long "varchar" testing',
+                              10E3,
+                              32767,
+                              '09.39.43',
+                              'xxxxxxFILTERED-TIMESTAMPxxxxx,
+                              '"varchar" testing');
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'alltypes' , 'extinout/alltypes.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'alltypes' , 'extinout/alltypes.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select * from alltypes ;
+CHARTYPE            |BIGINTTYPE          |DATETYPE  |DECIMALTYPE  |DOUBLETYPE            |INTTYPE    |LVARTYPE                                                                                                                        |REALTYPE     |SMINT&|TIMETYPE|TSTAMPTYPE                |VARTYPE                                           
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+chartype string     |9223372036854775807 |1993-10-29|12345.54321  |1.0E308               |2147483647 |long varchar testing                                                                                                            |10000.0      |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|varchar testing                                   
+chartype string     |-9223372036854775808|1993-10-29|0.00000      |-1.0E308              |-2147483647|long varchar testing                                                                                                            |-10000.0     |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|varchar testing                                   
+"chartype" string   |9223372036854775807 |1993-10-29|-12345.54321 |1.0E308               |2147483647 |long "varchar" testing                                                                                                          |10000.0      |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|"varchar" testing                                 
+chartype string     |9223372036854775807 |1993-10-29|12345.54321  |1.0E308               |2147483647 |long varchar testing                                                                                                            |10000.0      |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|varchar testing                                   
+chartype string     |-9223372036854775808|1993-10-29|0.00000      |-1.0E308              |-2147483647|long varchar testing                                                                                                            |-10000.0     |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|varchar testing                                   
+"chartype" string   |9223372036854775807 |1993-10-29|-12345.54321 |1.0E308               |2147483647 |long "varchar" testing                                                                                                          |10000.0      |32767 |09:39:43|xxxxxxFILTERED-TIMESTAMPxxxxx|"varchar" testing                                 
+ij> delete from alltypes;
+6 rows inserted/updated/deleted
+ij> --import should work with trigger enabled on append and should not work on replace
+create table test1(a char(20)) ;
+0 rows inserted/updated/deleted
+ij> create trigger trig_import after INSERT on alltypes
+referencing new as newrow
+for each  row mode db2sql
+insert into test1 values(newrow.chartype);
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'alltypes' , 'extinout/alltypes.del' , 
+                                 null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> select count(*) from alltypes ;
+1          
+-----------
+3          
+ij> select * from test1;
+A                   
+--------------------
+chartype string     
+chartype string     
+"chartype" string   
+ij> delete from alltypes;
+3 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'alltypes' , 'extinout/alltypes.del' , 
+                                 null, null, null, 1) ;
+ERROR 38000: The exception 'SQL Exception: Bulk insert replace is not permitted on 'APP.ALLTYPES' because it has an enabled trigger (TRIG_IMPORT).' was thrown while evaluating an expression.
+ERROR 42Z08: Bulk insert replace is not permitted on 'APP.ALLTYPES' because it has an enabled trigger (TRIG_IMPORT).
+ij> select count(*) from alltypes;
+1          
+-----------
+0          
+ij> drop trigger trig_import;
+0 rows inserted/updated/deleted
+ij> drop table test1;
+0 rows inserted/updated/deleted
+ij> --test importing to identity columns
+create table table1(c1 char(30), 
+       c2 int generated always as identity,
+       c3 real,
+       c4 char(1));
+0 rows inserted/updated/deleted
+ij> create table table2(c1 char(30), 
+       c2 int,
+       c3 real,
+       c4 char(1));
+0 rows inserted/updated/deleted
+ij> insert into table2 values('Robert',100, 45.2, 'J');
+1 row inserted/updated/deleted
+ij> insert into table2 values('Mike',101, 76.9, 'K');
+1 row inserted/updated/deleted
+ij> insert into table2 values('Leo',102, 23.4, 'I');
+1 row inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select c1,c3,c4 from table2' , 'extinout/import.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> CALL SYSCS_UTIL.SYSCS_IMPORT_DATA(NULL,'table1', 'c1,c3,c4' , null, 'extinout/import.del',null, null,null,0);
+0 rows inserted/updated/deleted
+ij> select * from table1;
+C1                            |C2         |C3           |C4  
+-------------------------------------------------------------
+Robert                        |1          |45.2         |J   
+Mike                          |2          |76.9         |K   
+Leo                           |3          |23.4         |I   
+ij> delete from table1;
+3 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_TABLE(null , 'table2' , 'extinout/import.del',  null, null, null) ;
+0 rows inserted/updated/deleted
+ij> --following import should fail becuase of inserting into identity column.
+CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE(NULL, 'table1', 'extinout/import.del',null, null, null,1);
+ERROR 38000: The exception 'SQL Exception: Attempt to modify an identity column 'C2'.' was thrown while evaluating an expression.
+ERROR 42Z23: Attempt to modify an identity column 'C2'. 
+ij> --following import should be succesful
+CALL SYSCS_UTIL.SYSCS_IMPORT_DATA(NULL, 'table1', 'c1,c3,c4' , '1,3,4', 'extinout/import.del',null, null, null,1);
+0 rows inserted/updated/deleted
+ij> select * from table1;
+C1                            |C2         |C3           |C4  
+-------------------------------------------------------------
+Robert                        |1          |45.2         |J   
+Mike                          |2          |76.9         |K   
+Leo                           |3          |23.4         |I   
+ij> update table2 set c2=null;
+3 rows inserted/updated/deleted
+ij> --check null values import to identity columns should also fail
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE(null , 'table2' , 'extinout/import.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE(NULL, 'table1', 'extinout/import.del',null, null, null,1);
+ERROR 38000: The exception 'SQL Exception: Attempt to modify an identity column 'C2'.' was thrown while evaluating an expression.
+ERROR 42Z23: Attempt to modify an identity column 'C2'. 
+ij> select * from table1;
+C1                            |C2         |C3           |C4  
+-------------------------------------------------------------
+Robert                        |1          |45.2         |J   
+Mike                          |2          |76.9         |K   
+Leo                           |3          |23.4         |I   
+ij> --check that replace fails when there dependents and replaced data 
+--does not violate foreign key constraints.
+create table parent(a int not null primary key);
+0 rows inserted/updated/deleted
+ij> insert into parent values (1) , (2) , (3) , (4) ;
+4 rows inserted/updated/deleted
+ij> create table child(b int references parent(a));
+0 rows inserted/updated/deleted
+ij> insert into child values (1) , (2) , (3) , (4) ;
+4 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from parent where a < 3' , 'extinout/parent.del' , 
+                                 null, null, null) ;
+0 rows inserted/updated/deleted
+ij> --replace should fail because of dependent table
+CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE(NULL, 'parent', 'extinout/parent.del',null, null, null,1);
+ERROR 38000: The exception 'SQL Exception: INSERT on table 'PARENT' caused a violation of foreign key constraint 'xxxxGENERATED-IDxxxx' for key (3).  The statement has been rolled back.' was thrown while evaluating an expression.
+ERROR 23503: INSERT on table 'PARENT' caused a violation of foreign key constraint 'xxxxGENERATED-IDxxxx' for key (3).  The statement has been rolled back.
+ij> select * from parent;
+A          
+-----------
+1          
+2          
+3          
+4          
+ij> ---test with a file which has a differen records seperators (\n, \r , \r\n)
+create table nt1( a int , b char(30));
+0 rows inserted/updated/deleted
+ij> CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE(NULL, 'nt1', 'extin/mixednl.del',null, null, null,0);
+0 rows inserted/updated/deleted
+ij> select * from nt1;
+A          |B                             
+------------------------------------------
+0          |XXXXXX0                       
+1          |XXXXXX1                       
+2          |XXXXXX2                       
+3          |XXXXXX3                       
+4          |XXXXXX4                       
+5          |YYYYY5                        
+6          |YYYYY6                        
+7          |YYYYY7                        
+8          |YYYYY8                        
+9          |YYYYY9                        
+10         |ZZZZZZ10                      
+11         |ZZZZZZ11                      
+12         |ZZZZZZ12                      
+13         |ZZZZZZ13                      
+14         |ZZZZZZ14                      
+ij> drop table nt1 ;
+0 rows inserted/updated/deleted
+ij> --test case for bug 5977;(with lot of text data)
+create table position_info
+    (
+       position_code varchar(10) not null ,
+       literal_no int not null ,
+       job_category_code varchar(10),
+       summary_description long varchar,
+       detail_description long varchar,
+       web_flag varchar(1)
+    );
+0 rows inserted/updated/deleted
+ij> CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE ('APP', 'position_info', 'extin/position_info.del',
+                                    null, null, null, 1);
+0 rows inserted/updated/deleted
+ij> select count(*) from position_info ;
+1          
+-----------
+680        
+ij> select detail_description from position_info where position_code='AG1000';
+DETAIL_DESCRIPTION                                                                                                              
+--------------------------------------------------------------------------------------------------------------------------------
+Essential Duties and Responsibilities (include but not limited to):
+*Assist the director in his work activities in leading the&
+ij> CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE ('APP', 'position_info', 'extinout/pinfo.del',
+                                    null, null, null);
+0 rows inserted/updated/deleted
+ij> delete from position_info;
+680 rows inserted/updated/deleted
+ij> CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE ('APP', 'position_info', 'extinout/pinfo.del',
+                                    null, null, null, 1);
+0 rows inserted/updated/deleted
+ij> select count(*) from position_info ;
+1          
+-----------
+680        
+ij> select detail_description from position_info where position_code='AG1000';
+DETAIL_DESCRIPTION                                                                                                              
+--------------------------------------------------------------------------------------------------------------------------------
+Essential Duties and Responsibilities (include but not limited to):
+*Assist the director in his work activities in leading the&
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,90 @@
+ij> -- this test shows the ij commands in use,
+-- and what happens when invalid stuff is entered.
+-- no driver loaded yet, detected off of the url
+-- this one is a bad url:
+connect 'cloudscape:wombat';
+ERROR 08001: No suitable driver
+ij> -- this one will work.
+connect 'jdbc:derby:wombat';
+ERROR XJ004: Database 'wombat' not found.
+ij> -- no connection yet, this will fail
+create table t (i int);
+IJ ERROR: Unable to establish connection
+ij> -- no table yet, this will fail
+select i from t;
+IJ ERROR: Unable to establish connection
+ij> -- invalid syntax ... incomplete statements
+driver;
+IJ ERROR: Unable to establish connection
+ij> connect;
+IJ ERROR: Unable to establish connection
+ij> prepare;
+IJ ERROR: Unable to establish connection
+ij> execute;
+IJ ERROR: Unable to establish connection
+ij> run;
+IJ ERROR: Unable to establish connection
+ij> remove;
+IJ ERROR: Unable to establish connection
+ij> -- should fail because procedure is an illegal statement name
+prepare procedure as 'select * from bar';
+IJ ERROR: procedure is an illegal name for a statement
+ij> -- should fail because text is passed on to derby, which
+-- barfs on the unknown statement name. execute procedure is
+-- a foundation 2000 concept
+execute procedure sqlj.install_jar( 'file:c:/p4c/systest/out/DigIt.jar', 'SourceWUs', 1 );
+IJ ERROR: Unable to establish connection
+ij> -- and, the help output:
+help;
+ Supported commands include:
+  PROTOCOL 'JDBC protocol' [ AS ident ];
+                               -- sets a default or named protocol
+  DRIVER 'class for driver';   -- loads the named class
+  CONNECT 'url for database' [ PROTOCOL namedProtocol ] [ AS connectionName ];
+                               -- connects to database URL
+                               -- and may assign identifier
+  SET CONNECTION connectionName; -- switches to the specified connection
+  SHOW CONNECTIONS;            -- lists all connections
+  AUTOCOMMIT [ ON | OFF ];     -- sets autocommit mode for the connection
+  DISCONNECT [ CURRENT | connectionName | ALL ];
+                               -- drop current, named, or all connections;
+                               -- the default is CURRENT
+  COMMIT;                      -- commits the current transaction
+  ROLLBACK;                    -- rolls back the current transaction
+  PREPARE name AS 'SQL-J text'; -- prepares the SQL-J text
+  EXECUTE { name | 'SQL-J text' } [ USING { name | 'SQL-J text' } ] ;
+                               -- executes the statement with parameter
+                               -- values from the USING result set row
+  REMOVE name;                 -- removes the named previously prepared statement
+  RUN 'filename';              -- run commands from the named file
+  ELAPSEDTIME [ ON | OFF ];    -- sets elapsed time mode for ij
+  MAXIMUMDISPLAYWIDTH integerValue;
+                               -- sets the maximum display width for
+                               -- each column to integerValue
+  ASYNC name 'SQL-J text';     -- run the command in another thread
+  WAIT FOR name;               -- wait for result of ASYNC'd command
+  GET [SCROLL INSENSITIVE] CURSOR name AS 'SQL-J query';
+                               -- gets a cursor (JDBC result set) on the query
+                               -- SCROLL cursors are only available 
+                               -- in JDBC 2.0 and higher. 
+                               -- (Cursor scroll type is ignored in JDBC 1.X.) 
+  NEXT name;                   -- gets the next row from the named cursor
+  FIRST name;                  -- gets the first row from the named scroll cursor
+  LAST name;                   -- gets the last row from the named scroll cursor
+  PREVIOUS name;               -- gets the previous row from the named scroll cursor
+  ABSOLUTE integer name;       -- positions the named scroll cursor at the absolute row number
+                               -- (A negative number denotes position from the last row.) 
+  RELATIVE integer name;       -- positions the named scroll cursor relative to the current row
+                               -- (integer is number of rows)
+  AFTER LAST name;             -- positions the named scroll cursor after the last row
+  BEFORE FIRST name;           -- positions the named scroll cursor before the first row
+  GETCURRENTROWNUMBER name;    -- returns the row number for the current position of the named scroll cursor
+                               -- (0 is returned when the cursor is not positioned on a row.) 
+  CLOSE name;                  -- closes the named cursor
+  UNICODEESCAPE [ ON | OFF ]; -- sets unicode escape mode for the input stream
+  LOCALIZEDDISPLAY [ ON | OFF ];
+                               -- controls locale sensitive data representation
+  EXIT;                        -- exits ij
+  HELP;                        -- shows this message
+ Any unrecognized commands are treated as potential SQL-J commands and executed directly.
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij2.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij2.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij2.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,137 @@
+ij> -- this test shows some ij abilities against an active database
+create table t (i int);
+0 rows inserted/updated/deleted
+ij> insert into t values (3), (4);
+2 rows inserted/updated/deleted
+ij> prepare s as 'select * from t';
+ij> execute s;
+I          
+-----------
+3          
+4          
+ij> remove s;
+ij> -- now it won't find s
+execute s;
+IJ ERROR: Unable to establish prepared statement S
+ij> prepare s as 'select * from t where i=?';
+ij> -- fails, needs parameter
+execute s;
+ERROR 07000: At least one parameter to the current statement is uninitialized.
+ij> -- works, finds value
+execute s using 'values 3';
+IJ WARNING: Autocommit may close using result set
+I          
+-----------
+3          
+ij> prepare t as 'values 3';
+ij> -- same as last execute
+execute s using t;
+IJ WARNING: Autocommit may close using result set
+I          
+-----------
+3          
+ij> -- same as last execute
+execute 'select * from t where i=?' using 'values 3';
+IJ WARNING: Autocommit may close using result set
+I          
+-----------
+3          
+ij> -- same as last execute
+execute 'select * from t where i=?' using t;
+IJ WARNING: Autocommit may close using result set
+I          
+-----------
+3          
+ij> -- param that is not needed gets out of range message
+execute 'select * from t where i=?' using 'values (3,4)';
+IJ WARNING: Autocommit may close using result set
+ERROR XCL13: The parameter position '2' is out of range.  The number of parameters for this prepared  statement is '1'.
+ij> -- ignores rows that are not needed
+execute 'select * from t where i=?' using 'values 3,4';
+IJ WARNING: Autocommit may close using result set
+I          
+-----------
+3          
+ij> -- with autocommit off, extra rows are processed and no warning results
+autocommit off;
+ij> execute 'select * from t where i=?' using 'values 3,4';
+I          
+-----------
+3          
+I          
+-----------
+4          
+ij> execute 'select * from t where i=?' using 'values 3';
+I          
+-----------
+3          
+ij> autocommit on;
+ij> -- will say params not set when no rows in using values
+execute 'select * from t where i=?' using 'select * from t where i=9';
+IJ ERROR: Using clause had no results
+ij> -- will say params not set when using values is not a query
+execute 'select * from t where i=?' using 'create table s (i int)';
+IJ ERROR: Using clause had no results
+ij> -- note that the using part was, however, executed...
+drop table s;
+0 rows inserted/updated/deleted
+ij> -- bug 5926 - make sure the using clause result set got closed
+drop table t;
+0 rows inserted/updated/deleted
+ij> create table t(c1 int);
+0 rows inserted/updated/deleted
+ij> insert into t values(1);
+1 row inserted/updated/deleted
+ij> execute 'select * from t where c1=?' using 'select * from t where c1=1';
+IJ WARNING: Autocommit may close using result set
+C1         
+-----------
+1          
+ij> drop table t;
+0 rows inserted/updated/deleted
+ij> create table t(c1 int);
+0 rows inserted/updated/deleted
+ij> insert into t values(1);
+1 row inserted/updated/deleted
+ij> insert into t values(2);
+1 row inserted/updated/deleted
+ij> execute 'select * from t where c1=?' using 'select * from t where c1>=1';
+IJ WARNING: Autocommit may close using result set
+C1         
+-----------
+1          
+ij> drop table t;
+0 rows inserted/updated/deleted
+ij> -- show that long fields now don't take forever...
+create table t ( c char(50));
+0 rows inserted/updated/deleted
+ij> insert into t values('hello');
+1 row inserted/updated/deleted
+ij> select cast(c as varchar(20)) from t;
+1                   
+--------------------
+hello               
+ij> drop table t;
+0 rows inserted/updated/deleted
+ij> -- show multiconnect ability; db name is wombat, reuse it...
+-- assumes ij.protocol is appropriately set...
+connect 'wombat' as wombat;
+ij(WOMBAT)> show connections;
+CONNECTION0 - 	jdbc:derby:wombat
+WOMBAT* - 	jdbc:derby:wombat
+* = current connection
+ij(WOMBAT)> set connection connection0;
+ij(CONNECTION0)> show connections;
+CONNECTION0* - 	jdbc:derby:wombat
+WOMBAT - 	jdbc:derby:wombat
+* = current connection
+ij(CONNECTION0)> set connection wombat;
+ij(WOMBAT)> disconnect;
+ij> show connections;
+CONNECTION0 - 	jdbc:derby:wombat
+No current connection
+ij> set connection connection0;
+ij> show connections;
+CONNECTION0* - 	jdbc:derby:wombat
+* = current connection
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij3.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij3.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij3.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,8 @@
+ij> -- this test shows that ij can detect the driver from the URL.
+-- the ij.properties file sets ij.database and nothing else.
+values 'PASS';
+1   
+----
+PASS
+ij> -- this test also exercises the shutdown on exit code
+exit;

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij4.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij4.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij4.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,18 @@
+ij> connect 'jdbc:derby:wombat;create=true';
+ij> -- test maximum display width
+values cast('1' as varchar(512));
+1                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------
+1                                                                                                                               
+ij> maximumdisplaywidth 40;
+ij> values cast('1' as varchar(512));
+1                                       
+----------------------------------------
+1                                       
+ij> maximumdisplaywidth 400;
+ij> values cast('1' as varchar(512));
+1                                                                                                                                                                                                                                                                                                                                                                                                               
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+1                                                                                                                                                                                                                                                                                                                                                                                                               
+ij> -- and, the exit command:
+exit;

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij5.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij5.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij5.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,12 @@
+CONNONE* - 	jdbc:derby:wombat
+CONNTWO - 	jdbc:derby:lemming
+* = current connection
+ij(CONNONE)> -- assumes the connections connOne, connTwo are set up already
+-- 1)at the startup time, it will list all the connections
+-- 2)select will now display number of rows selected
+select count(*) from sys.systables where 1=0;
+1          
+-----------
+0          
+1 row selected
+ij(CONNONE)> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij6.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij6.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ij6.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,3 @@
+ij> -- 1)no  connections made so far at the startup time and hence no information about
+-- connections is displayed
+exit;

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ijConnName.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ijConnName.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/ijConnName.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,42 @@
+ERROR XJ004: Database 'nevercreated' not found.
+ERROR 08001: No suitable driver
+ij(CONNONE)> -- assumes the connections connOne, connTwo are set up already
+-- and that connThree, connFour failed to be setup correctly (bad URLs)
+-- expect connOne to be active
+show connections;
+CONNONE* - 	jdbc:derby:wombat
+CONNTWO - 	jdbc:derby:lemming
+* = current connection
+ij(CONNONE)> set connection connOne;
+ij(CONNONE)> values 1;
+1          
+-----------
+1          
+ij(CONNONE)> set connection connTwo;
+ij(CONNTWO)> values 1;
+1          
+-----------
+1          
+ij(CONNTWO)> -- connThree doesn't exist, it failed at boot time
+set connection connThree;
+IJ ERROR: No connection exists with the name CONNTHREE
+ij(CONNTWO)> -- connFour doesn't exist, it failed at boot time
+set connection connFour;
+IJ ERROR: No connection exists with the name CONNFOUR
+ij(CONNTWO)> -- connTwo is still active
+show connections;
+CONNONE - 	jdbc:derby:wombat
+CONNTWO* - 	jdbc:derby:lemming
+* = current connection
+ij(CONNTWO)> -- no such connection to disconnect
+disconnect noName;
+IJ ERROR: No connection exists with the name NONAME
+ij(CONNTWO)> disconnect connOne;
+ij> -- connOne no longer exists
+set connection connOne;
+IJ ERROR: No connection exists with the name CONNONE
+ij> disconnect current;
+ij> -- see no more connections to use
+show connections;
+No connections available.
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExport.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExport.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExport.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,25 @@
+Test importExport starting
+testing non-existing data file
+Data file not found: extinout/Z.dat
+testing null data file
+Data file can not be null.
+testing empty table
+testing empty table with Delimited format
+testing empty table import Field/Char Delimiters
+PASS: setup complete
+testing import/export with default options
+testing IE with code set 8859_1
+testing IE with delimiter and codeset
+testing IE with delimiters(%, &) and Cp1252
+testing IE with delimiters(%, &) and UTF-16
+testing IE with delimiters(^, #) and WRONG ENCODEINGH
+Got IOException while writing data to the file
+testing datatypes that does not have Export Supprt
+Column 'C1' in the table is of type BLOB, it is not supported by import/export.
+Column 'C1' in the table is of type BLOB, it is not supported by import/export.
+Read endOfFile at unexpected place on line 2
+PASS: finished testing import and export
+PASS: teardown complete
+PASS: finished cleaning up the temporary objects from database
+PASS
+Test importExport finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExportThruIJ.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExportThruIJ.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/importExportThruIJ.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,718 @@
+ij> -- test for import export thru command line interface
+-- first test basic import functionality
+-- ascii delimited default format
+drop table T1;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'T1' because it does not exist.
+ij> create table T1 (	Account	int,
+			Fname	char(30),
+			Lname	char(30),
+			Company varchar(35),
+			Address varchar(40),
+			City	varchar(20),
+			State	char(5),
+			Zip	char(10),
+			Payment	decimal(8,2),
+			Balance decimal(8,2));
+0 rows inserted/updated/deleted
+ij> create index T1_IndexBalance on T1 (Balance, Account, Company);
+0 rows inserted/updated/deleted
+ij> create index T1_IndexFname on T1 (Fname, Account);
+0 rows inserted/updated/deleted
+ij> create index T1_IndexLname on T1 (Lname, Account);
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'T1' , 'extin/EndOfFile.txt' , 
+                                    null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Read endOfFile at unexpected place on line 2' was thrown while evaluating an expression.
+ERROR XIE0E: Read endOfFile at unexpected place on line 2
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'T1' , 'extin/Tutor1.asc' , 
+                                    null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> values (SYSCS_UTIL.SYSCS_CHECK_TABLE('APP', 'T1'));
+1          
+-----------
+1          
+ij> -- ascii Fixed
+drop table T2;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'T2' because it does not exist.
+ij> autocommit off;
+ij> create table T2 (	Account	int,
+			Fname	char(30),
+			Lname	char(30),
+			Company	varchar(35),
+			Address	varchar(40),
+			City	varchar(20),
+			State	char(5),
+			Zip	char(10),
+			Payment	decimal(8,2),
+			Balance	decimal(8,2));
+0 rows inserted/updated/deleted
+ij> create index T2_IndexBalance on T2 (Balance, Account, Company);
+0 rows inserted/updated/deleted
+ij> create index T2_IndexFname on T2 (Fname, Account);
+0 rows inserted/updated/deleted
+ij> create index T2_IndexLname on T2 (Lname, Account);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> --this one should fail becuase this is not the right command to handle fixed formats
+call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'T2' , 'extin/Tutor2.asc' , 
+                                    null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Column 'COLUMN2' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN2' is not a column in the target table.' was thrown while evaluating an expression.
+ERROR 42X04: Column 'COLUMN2' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN2' is not a column in the target table.
+ij> values (SYSCS_UTIL.SYSCS_CHECK_TABLE('APP', 'T2'));
+1          
+-----------
+1          
+ij> commit;
+ij> -- test remapping
+drop table T3;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'T3' because it does not exist.
+ij> create table T3 (	Lname	char(30),
+			Fname	char(30),
+			Account	int not null primary key,
+			Company varchar(35),
+			Payment	decimal(8,2),
+			Balance decimal(8,2));
+0 rows inserted/updated/deleted
+ij> create index T3_indexBalance on T3 (Balance, Company, Account);
+0 rows inserted/updated/deleted
+ij> create index T3_indexPayment on T3 (Payment, Company, Account);
+0 rows inserted/updated/deleted
+ij> --icorrect mapping of file to table ; should give error and rollback
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'T3' , 
+                                  null , '3, 2, 1, 4, 9, 200' ,
+				  'extin/Tutor3.asc' , 
+				  null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Column 'COLUMN200' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN200' is not a column in the target table.' was thrown while evaluating an expression.
+ERROR 42X04: Column 'COLUMN200' is not in any table in the FROM list or it appears within a join specification and is outside the scope of the join specification or it appears in a HAVING clause and is not in the GROUP BY list.  If this is a CREATE or ALTER TABLE statement then 'COLUMN200' is not a column in the target table.
+ij> rollback;
+ij> -- table should not be there
+select count(*) from T3;
+ERROR 42X05: Table 'T3' does not exist.
+ij> create table T3 (	Lname	char(30),
+			Fname	char(30),
+			Account	int not null primary key,
+			Company varchar(35),
+			Payment	decimal(8,2),
+			Balance decimal(8,2));
+0 rows inserted/updated/deleted
+ij> create index T3_indexBalance on T3 (Balance, Company, Account);
+0 rows inserted/updated/deleted
+ij> create index T3_indexPayment on T3 (Payment, Company, Account);
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'T3' ,  
+                                  null , '3, 2, 1, 4, 9, 10' ,
+				  'extin/Tutor3.asc' ,
+				   null, null, null, 0) ;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> values (SYSCS_UTIL.SYSCS_CHECK_TABLE('APP', 'T3'));
+1          
+-----------
+1          
+ij> -- now check results
+select count(*) from T1;
+1          
+-----------
+102        
+ij> select count(*) from T2;
+1          
+-----------
+0          
+ij> select count(*) from T3;
+1          
+-----------
+102        
+ij> select * from T1 where State = 'CA';
+ACCOUNT    |FNAME                         |LNAME                         |COMPANY                            |ADDRESS                                 |CITY                |STATE|ZIP       |PAYMENT    |BALANCE    
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+10000      |Bugs                          |Bunny                         |Warner Brothers                    |  -- Rabbit Hole --                     |Los Angeles         |CA   |94001     |0.00       |100.00     
+10129      |Mickey                        |Mouse                         |Disneyland                         |Magic Kingdom                           |Los Angeles         |CA   |94000     |0.00       |1.00       
+ij> select * from T2 where State = 'CA';
+ACCOUNT    |FNAME                         |LNAME                         |COMPANY                            |ADDRESS                                 |CITY                |STATE|ZIP       |PAYMENT    |BALANCE    
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> select * from T3 where Fname = 'Bugs' or Fname = 'Mickey';
+LNAME                         |FNAME                         |ACCOUNT    |COMPANY                            |PAYMENT    |BALANCE    
+-------------------------------------------------------------------------------------------------------------------------------------
+Bunny                         |Bugs                          |10000      |Warner Brothers                    |0.00       |10000.00   
+Mouse                         |Mickey                        |10129      |Disneyland                         |0.00       |3.00       
+ij> select Balance, Account, Company from T1 order by Balance;
+BALANCE    |ACCOUNT    |COMPANY                            
+-----------------------------------------------------------
+1.00       |10129      |Disneyland                         
+100.00     |10000      |Warner Brothers                    
+218.00     |10019      |Market Place                       
+222.00     |10023      |Madson & Huth Communication Co     
+223.00     |10024      |La Salle Clinic                    
+224.00     |10025      |Town & Country Electric Inc.       
+225.00     |10026      |Saturn of Appleton                 
+226.00     |10027      |Bemiss Corp.                       
+227.00     |10028      |AAL Member Credit Union            
+228.00     |10029      |Office Support                     
+229.00     |10030      |EAA                                
+230.00     |10031      |Kurz Electric                      
+231.00     |10032      |Alpha 1                            
+233.00     |10034      |Valley Trust Corporation           
+234.00     |10035      |Fox Community Credit Union         
+235.00     |10036      |Valley Lawn Care                   
+236.00     |10037      |Network Health Plan                
+237.00     |10038      |Kolosso Toyota                     
+238.00     |10039      |AAL                                
+239.00     |10040      |WDFF                               
+240.00     |10041      |AAL                                
+241.00     |10042      |Novus Health Group                 
+242.00     |10043      |AAL                                
+243.00     |10044      |AAL Capital Management             
+244.00     |10045      |AAL Printing/Distribution          
+245.00     |10046      |Lawrence University                
+246.00     |10047      |Ken Gibson Assoc.                  
+247.00     |10048      |Menasha Employees Credit Union     
+248.00     |10049      |UPIU                               
+249.00     |10050      |AAL                                
+251.00     |10052      |Fox Valley Technical College       
+252.00     |10053      |Bergstrom Air Force Base           
+253.00     |10054      |Bank One                           
+254.00     |10055      |Bergstrom Enterprises              
+255.00     |10056      |Fox Cities Bank                    
+256.00     |10057      |Town of Vandenbroek                
+257.00     |10058      |Kitz Printing                      
+259.00     |10060      |Prime Control Systems              
+260.00     |10061      |Van Vreede's                       
+261.00     |10062      |Insurance Brokerage Services       
+262.00     |10063      |Fox Valley Travel                  
+263.00     |10064      |M & M Advertising                  
+264.00     |10065      |University of Women                
+265.00     |10066      |YMCA                               
+266.00     |10067      |O'Donnell Publishing               
+267.00     |10068      |Western Ice                        
+268.00     |10069      |Four D Corporation                 
+269.00     |10070      |Andrews Mautner, Inc.              
+270.00     |10071      |Laser Typesetting                  
+271.00     |10072      |Wallach & Assoc.                   
+272.00     |10073      |Town of Grand River                
+273.00     |10074      |Cabelvision                        
+274.00     |10075      |Print & Mail, Inc.                 
+275.00     |10076      |Jewelers Mutual Insurance          
+276.00     |10077      |Burton Karstedt                    
+278.00     |10079      |Twin City Rod & Gun Club           
+279.00     |10080      |American Legion                    
+280.00     |10081      |TechLine                           
+281.00     |10082      |Data One Computer Service          
+282.00     |10083      |Appleton Area School District      
+283.00     |10084      |Banta Corporate                    
+284.00     |10085      |HRC Inc.                           
+285.00     |10086      |Phopar                             
+286.00     |10087      |Sutherland Electric                
+288.00     |10088      |Banta Credit Union                 
+289.00     |10089      |Uffenbeck Diamonds                 
+290.00     |10090      |Equitable Reserve Association      
+291.00     |10091      |Derksen Printing                   
+292.00     |10092      |Custom Printing                    
+293.00     |10093      |Faye's Fine Jewelry                
+294.00     |10094      |Haugners Inc.                      
+295.00     |10095      |Pyramid Marketing & Advertising    
+297.00     |10097      |Wisconsin Tissue Credit Union      
+298.00     |10098      |AAL                                
+299.00     |10099      |Pat Woods Inc                      
+301.00     |10100      |Creative Learning International    
+302.00     |10101      |United Health                      
+303.00     |10102      |Memorial Florists                  
+304.00     |10103      |Fay Hawkinson & Kruse Inc          
+305.00     |10104      |Enterprise Motors                  
+306.00     |10105      |Weidert Group Inc                  
+307.00     |10106      |Principal Financial                
+308.00     |10107      |Woodfield Suites                   
+309.00     |10108      |Master Litho                       
+310.00     |10109      |Rawhide Boys Ranch                 
+311.00     |10110      |Ad Works                           
+312.00     |10111      |Directions Inc                     
+313.00     |10112      |Counseling Resource Center         
+314.00     |10113      |World Wide Auto Parts              
+315.00     |10114      |Secura Insurance                   
+316.00     |10115      |Witthuhn Printing                  
+317.00     |10116      |St Mary's Central High School      
+319.00     |10117      |Valley Periodontics                
+320.00     |10118      |Neenah Printing                    
+321.00     |10119      |YMCA of Appleton                   
+322.00     |10120      |Appleton Medical Center            
+323.00     |10121      |Quinlan Dentistry                  
+324.00     |10122      |Klusendorf Chiropractic            
+325.00     |10123      |Drucks Plumbing                    
+326.00     |10124      |Market Link                        
+327.00     |10125      |Norandex                           
+328.00     |10126      |Appleton Camping                   
+ij> select Balance, Account, Company from T2 order by Balance;
+BALANCE    |ACCOUNT    |COMPANY                            
+-----------------------------------------------------------
+ij> select Balance, Account, Company from T3 order by Balance;
+BALANCE    |ACCOUNT    |COMPANY                            
+-----------------------------------------------------------
+3.00       |10129      |Disneyland                         
+218.00     |10019      |Market Place                       
+222.00     |10023      |Madson & Huth Communication Co     
+223.00     |10024      |La Salle Clinic                    
+224.00     |10025      |Town & Country Electric Inc.       
+225.00     |10026      |Saturn of Appleton                 
+226.00     |10027      |Bemiss Corp.                       
+227.00     |10028      |AAL Member Credit Union            
+228.00     |10029      |Office Support                     
+229.00     |10030      |EAA                                
+230.00     |10031      |Kurz Electric                      
+231.00     |10032      |Alpha 1                            
+233.00     |10034      |Valley Trust Corporation           
+234.00     |10035      |Fox Community Credit Union         
+235.00     |10036      |Valley Lawn Care                   
+236.00     |10037      |Network Health Plan                
+237.00     |10038      |Kolosso Toyota                     
+238.00     |10039      |AAL                                
+239.00     |10040      |WDFF                               
+240.00     |10041      |AAL                                
+241.00     |10042      |Novus Health Group                 
+242.00     |10043      |AAL                                
+243.00     |10044      |AAL Capital Management             
+244.00     |10045      |AAL Printing/Distribution          
+245.00     |10046      |Lawrence University                
+246.00     |10047      |Ken Gibson Assoc.                  
+247.00     |10048      |Menasha Employees Credit Union     
+248.00     |10049      |UPIU                               
+249.00     |10050      |AAL                                
+251.00     |10052      |Fox Valley Technical College       
+252.00     |10053      |Bergstrom Air Force Base           
+253.00     |10054      |Bank One                           
+254.00     |10055      |Bergstrom Enterprises              
+255.00     |10056      |Fox Cities Bank                    
+256.00     |10057      |Town of Vandenbroek                
+257.00     |10058      |Kitz Printing                      
+259.00     |10060      |Prime Control Systems              
+260.00     |10061      |Van Vreede's                       
+261.00     |10062      |Insurance Brokerage Services       
+262.00     |10063      |Fox Valley Travel                  
+263.00     |10064      |M & M Advertising                  
+264.00     |10065      |University of Women                
+265.00     |10066      |YMCA                               
+266.00     |10067      |O'Donnell Publishing               
+267.00     |10068      |Western Ice                        
+268.00     |10069      |Four D Corporation                 
+269.00     |10070      |Andrews Mautner, Inc.              
+270.00     |10071      |Laser Typesetting                  
+271.00     |10072      |Wallach & Assoc.                   
+272.00     |10073      |Town of Grand River                
+273.00     |10074      |Cabelvision                        
+274.00     |10075      |Print & Mail, Inc.                 
+275.00     |10076      |Jewelers Mutual Insurance          
+276.00     |10077      |Burton Karstedt                    
+278.00     |10079      |Twin City Rod & Gun Club           
+279.00     |10080      |American Legion                    
+280.00     |10081      |TechLine                           
+281.00     |10082      |Data One Computer Service          
+282.00     |10083      |Appleton Area School District      
+283.00     |10084      |Banta Corporate                    
+284.00     |10085      |HRC Inc.                           
+285.00     |10086      |Phopar                             
+286.00     |10087      |Sutherland Electric                
+288.00     |10088      |Banta Credit Union                 
+289.00     |10089      |Uffenbeck Diamonds                 
+290.00     |10090      |Equitable Reserve Association      
+291.00     |10091      |Derksen Printing                   
+292.00     |10092      |Custom Printing                    
+293.00     |10093      |Faye's Fine Jewelry                
+294.00     |10094      |Haugners Inc.                      
+295.00     |10095      |Pyramid Marketing & Advertising    
+297.00     |10097      |Wisconsin Tissue Credit Union      
+298.00     |10098      |AAL                                
+299.00     |10099      |Pat Woods Inc                      
+301.00     |10100      |Creative Learning International    
+302.00     |10101      |United Health                      
+303.00     |10102      |Memorial Florists                  
+304.00     |10103      |Fay Hawkinson & Kruse Inc          
+305.00     |10104      |Enterprise Motors                  
+306.00     |10105      |Weidert Group Inc                  
+307.00     |10106      |Principal Financial                
+308.00     |10107      |Woodfield Suites                   
+309.00     |10108      |Master Litho                       
+310.00     |10109      |Rawhide Boys Ranch                 
+311.00     |10110      |Ad Works                           
+312.00     |10111      |Directions Inc                     
+313.00     |10112      |Counseling Resource Center         
+314.00     |10113      |World Wide Auto Parts              
+315.00     |10114      |Secura Insurance                   
+316.00     |10115      |Witthuhn Printing                  
+317.00     |10116      |St Mary's Central High School      
+319.00     |10117      |Valley Periodontics                
+320.00     |10118      |Neenah Printing                    
+321.00     |10119      |YMCA of Appleton                   
+322.00     |10120      |Appleton Medical Center            
+323.00     |10121      |Quinlan Dentistry                  
+324.00     |10122      |Klusendorf Chiropractic            
+325.00     |10123      |Drucks Plumbing                    
+326.00     |10124      |Market Link                        
+327.00     |10125      |Norandex                           
+328.00     |10126      |Appleton Camping                   
+10000.00   |10000      |Warner Brothers                    
+ij> --- now check other input formats
+--- this is Tutor1 with RecordSeperator=',', FieldStartDelimiter=(, FieldEndDelimiter=),FieldSeperator=TAB
+autocommit on;
+ij> drop table Alt1;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'ALT1' because it does not exist.
+ij> create table Alt1 (	Account	int,
+			Fname	char(30),
+			Lname	char(30),
+			Company varchar(35),
+			Address varchar(40),
+			City	varchar(20),
+			State	char(5),
+			Zip	char(10),
+			Payment	decimal(8,2),
+			Balance decimal(8,2));
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'Alt1' , 'extin/Alt1.asc' , 
+                                      null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Invalid character string format for type INTEGER.' was thrown while evaluating an expression.
+ERROR 22018: Invalid character string format for type INTEGER.
+ij> select * from Alt1 where State = 'CA';
+ACCOUNT    |FNAME                         |LNAME                         |COMPANY                            |ADDRESS                                 |CITY                |STATE|ZIP       |PAYMENT    |BALANCE    
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> select Balance, Account, Company from Alt1 order by Balance;
+BALANCE    |ACCOUNT    |COMPANY                            
+-----------------------------------------------------------
+ij> -- this is Tutor1 with some null fields
+drop table Alt3;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'ALT3' because it does not exist.
+ij> create table Alt3 (	Account	int,
+			Fname	char(30),
+			Lname	char(30),
+			Company varchar(35),
+			Address varchar(40),
+			City	varchar(20),
+			State	char(5),
+			Zip	char(10),
+			Payment	decimal(8,2),
+			Balance decimal(8,2));
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'Alt3' , 'extin/Alt3.asc' , 
+                                      null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: Invalid character string format for type INTEGER.' was thrown while evaluating an expression.
+ERROR 22018: Invalid character string format for type INTEGER.
+ij> select * from Alt3 where State = 'CA' or State = 'TX';
+ACCOUNT    |FNAME                         |LNAME                         |COMPANY                            |ADDRESS                                 |CITY                |STATE|ZIP       |PAYMENT    |BALANCE    
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> select Balance, Account, Company from Alt3 order by Balance;
+BALANCE    |ACCOUNT    |COMPANY                            
+-----------------------------------------------------------
+ij> -- test remapping
+-- test remapping
+-- following case is commented because data has different seperator than the default one 
+-- enable this case after rearranging the data (-suresht)
+--create table tempAlt3(column1 varchar(1000) , column3 varchar(1000) , column9 varchar(1000));
+--call SYSCS_UTIL.SYSCS_IMPORT_DATA (null, 'tempAlt3' , 
+--    				   null , '2,3,9',
+--				   'extin/Alt3.asc' , 
+--				   null, null, null, 0) ;
+--select * from tempAlt3;
+---
+---  SQL anywhere table
+---
+drop table sqlAnywhere1;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'SQLANYWHERE1' because it does not exist.
+ij> create table sqlAnywhere1 (
+	Id	int,
+	Name	varchar(40),
+	Title	varchar(40),
+	Company	varchar(50),
+	Address	varchar(80),
+	City	varchar(30),
+	State	varchar(30),
+	Zip	varchar(30),
+	Country varchar(30),
+	phone1	varchar(50),
+	phone2	varchar(30),
+	email	varchar(80),
+	web	varchar(50));
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'sqlAnywhere1' ,
+                                  null , '1,2,3,4,5,7,8,9,10,11,12,13,14', 
+	 		          'extin/sqlAnywhere1.txt' , 
+				  '|', '''', 'ASCII', 0) ;
+0 rows inserted/updated/deleted
+ij> select Company, Country from sqlAnywhere1 where country not like 'U%S%A%' and country is not null;
+COMPANY                                           |COUNTRY                       
+---------------------------------------------------------------------------------
+Dow Jones Interactive Publishing                  |                              
+Electric Press                                    |                              
+Los Alamos National Lab                           |                              
+SoftCom                                           |                              
+Kinetoscope                                       |                              
+Npulse Software                                   |                              
+Penetics                                          |                              
+Columbia University                               |                              
+Visionary Information Systems, Inc.               |                              
+Micro Computer Systems                            |                              
+Gemini Systems                                    |                              
+Crossroads Technologies                           |                              
+Silverstream Software, Inc.                       |                              
+Rexton Interactive                                |                              
+Tilden Park                                       |                              
+Blue Lobster Software                             |                              
+Novera                                            |                              
+Verix Software                                    |                              
+Lotus                                             |                              
+Background Profiles                               |                              
+Weblogic                                          |                              
+Marimba                                           |                              
+MECA Software                                     |                              
+Pervasive Software, Inc.                          |                              
+Neuron Data                                       |                              
+Tandem                                            |                              
+Verge Software Corporation                        |                              
+Computer Curriculum Corporation                   |                              
+Omix                                              |                              
+Noblestar                                         |                              
+Highmark, Inc.                                    |                              
+Learncom                                          |                              
+Molecular Simulations                             |                              
+Progress Software                                 |                              
+Skunk Technologies                                |                              
+Sterling Software                                 |                              
+Sun Microsystems                                  |                              
+Thought, Inc.                                     |                              
+Internet Image                                    |                              
+Database Advisor Magazine                         |                              
+Rogue Wave                                        |                              
+Creative Concepts Corporation                     |                              
+Visa International                                |                              
+Object Systems, Inc.                              |                              
+Dynavent Software                                 |                              
+Telecallaction                                    |                              
+Cybered Corp                                      |                              
+ADC Kentrox                                       |                              
+Sprocket Interactive Solutions                    |                              
+Kenetiks, Inc.                                    |                              
+Infospace, Inc.                                   |                              
+Open Horizon                                      |                              
+WebMethods, Inc.                                  |                              
+Sovereign Bank                                    |                              
+NetNumina Solutions                               |                              
+Interactive Education                             |                              
+LiveMedia                                         |                              
+Sun Microsystems                                  |                              
+Grandview DB/DC Systems                           |                              
+Mage Lang Institute, Ltd.                         |                              
+List Foundation                                   |                              
+Shafir Inc.                                       |                              
+Great Northwest Design                            |                              
+Inovie Software Inc.                              |                              
+LANQUEST                                          |                              
+Sprint Paranet                                    |                              
+Orbital Technologies                              |                              
+Biss GmbH                                         |                              
+GRC International, Inc.                           |                              
+Painted Word, Inc.                                |                              
+Isadra, Inc.                                      |                              
+Delphi Solutions                                  |Switzerland                   
+FieldWorker Products Ltd.                         |                              
+Fiberlane Communications Canada, Inc.             |CANADA                        
+Novell                                            |                              
+Platinum technology, Inc. ViaTech Development Lab |                              
+IBM                                               |Switzerland                   
+Manna Network Technologies                        |Israel                        
+Advanced Workstation Solutions, Inc.              |                              
+Cybotics Technologies Ltd.                        |Hong Kong                     
+Intermedia Communications, Inc.                   |                              
+Bay Networks, Inc.                                |                              
+Charles River Associates, Inc.                    |                              
+Scopus Technologies                               |                              
+Net Dynamics                                      |US                            
+Tomday                                            |US                            
+Cerulean Technology, Inc.                         |                              
+Pencom Web Works                                  |                              
+Check Free                                        |                              
+Cybered Corp.                                     |                              
+The Weizmann Institute of Science                 |Israel                        
+Tridium, Inc.                                     |                              
+Omron Corporation                                 |Japan                         
+Nob Systems Corp.                                 |                              
+Software Tecnologia Y Servicios S.A.              |Colombia                      
+IBM                                               |                              
+Gunn Software Pty Ltd.                            |Australia                     
+en Vise Corporation                               |Canada                        
+University of Maryland, UMBC                      |US                            
+Temple Games, Inc.                                |US                            
+Food and Agriculture Organization                 |Italy                         
+Adobe Systems                                     |US                            
+Trefoil Computers Ltd                             |UK                            
+University of Economics                           |AT                            
+Acriter Systems BV                                |Netherlands                   
+NetBeans, Inc.                                    |                              
+Sundayta Ltd                                      |United Kingdom                
+Synthese S.A.                                     |                              
+ij> drop table sqlAnywhere2;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'SQLANYWHERE2' because it does not exist.
+ij> create table sqlAnywhere2 (
+	Fname varchar(30),
+	Lname varchar(30),
+	email varchar(40),
+	phone varchar(30));
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'sqlAnywhere2' , 
+		                  null , '3, 4, 7, 5',
+			          'extin/sqlAnywhere2.txt' , 
+				  '|', '''', 'ASCII', 0) ;
+0 rows inserted/updated/deleted
+ij> select count(*) from sqlAnywhere2;
+1          
+-----------
+204        
+ij> ---
+---  MS access text file
+---  default text format is compatible with ours except their record seperator
+---  is CR-LF instead of LF
+--   data does not seem to match above description , only problem I see
+---  is delimiters inside the data , which gets fixed with double delimters
+---  check the intended case -suresht
+drop table HouseHoldItem;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'HOUSEHOLDITEM' because it does not exist.
+ij> create table HouseHoldItem (
+	Category	int,
+	RoomId		int,
+	Description	varchar(255),
+	Model		varchar(50),
+	ModelId		varchar(50),
+	SerialNumber	varchar(50),
+	DayPurchase	date,
+	PurchasePrice	decimal(8,2),
+	Insured		smallint,
+	Note		varchar(512));
+0 rows inserted/updated/deleted
+ij> -- import it first with just LF as record seperator, we should be seeing 
+-- ^M's at the end of note field.
+call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'HouseHoldItem' , 
+				  null , '2,3,4,5,6,7,8,11,14', 
+				  'extin/Access1.txt' , 
+				  null, null, null, 0) ;
+ERROR 38000: The exception 'SQL Exception: The number of values assigned is not the same as the number of specified or implied columns.' was thrown while evaluating an expression.
+ERROR 42802: The number of values assigned is not the same as the number of specified or implied columns.
+ij> select * from HouseHoldItem;
+CATEGORY   |ROOMID     |DESCRIPTION                                                                                                                     |MODEL                                             |MODELID                                           |SERIALNUMBER                                      |DAYPURCHA&|PURCHASEPR&|INSUR&|NOTE                                                                                                                            
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ij> ----
+---- test export 
+----
+call SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'T1' , 'extinout/t1.dump' , 
+                                    '|','''', 'ASCII') ;
+0 rows inserted/updated/deleted
+ij> create table  imp_temp(column2 varchar(200), 
+                  column3 varchar(200), 
+                  column4 varchar(200), 
+                  column5 varchar(200),
+                  column6 varchar(200));
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_IMPORT_DATA(null, 'imp_temp' ,null, '2, 3, 4, 5, 6',
+                                    'extinout/t1.dump', '|', '''', 'ASCII', 0) ;
+0 rows inserted/updated/deleted
+ij> select * from imp_temp ;
+COLUMN2                                                                                                                         |COLUMN3                                                                                                                         |COLUMN4                                                                                                                         |COLUMN5                                                                                                                         |COLUMN6                                                                                                                         
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+Bugs                                                                                                                            |Bunny                                                                                                                           |Warner Brothers                                                                                                                 |  -- Rabbit Hole --                                                                                                             |Los Angeles                                                                                                                     
+Bobbi                                                                                                                           |Arndt                                                                                                                           |Market Place                                                                                                                    |1000 S Nicolet Rd                                                                                                               |Sametown                                                                                                                        
+Bruce                                                                                                                           |Beecher                                                                                                                         |Madson & Huth Communication Co                                                                                                  |1037 W Wisconsin Ave                                                                                                            |Smithville                                                                                                                      
+Bruce                                                                                                                           |Beyer                                                                                                                           |La Salle Clinic                                                                                                                 |108 E Wisconsin Ave                                                                                                             |Jonestown                                                                                                                       
+Butch                                                                                                                           |Bobbi                                                                                                                           |Town & Country Electric Inc.                                                                                                    |108 Hillock Ct                                                                                                                  |Smithville                                                                                                                      
+Calla                                                                                                                           |Boshers                                                                                                                         |Saturn of Appleton                                                                                                              |110 Fox River Dr                                                                                                                |Smithville                                                                                                                      
+Carol                                                                                                                           |Brauer                                                                                                                          |Bemiss Corp.                                                                                                                    |110 W North Water St                                                                                                            |Jonestown                                                                                                                       
+Carol                                                                                                                           |Braun                                                                                                                           |AAL Member Credit Union                                                                                                         |1115 E Glendale Ave                                                                                                             |Smithville                                                                                                                      
+Cheri                                                                                                                           |Buksyk                                                                                                                          |Office Support                                                                                                                  |1122 Milwaukee St                                                                                                               |Jonestown                                                                                                                       
+Chuck                                                                                                                           |Buss                                                                                                                            |EAA                                                                                                                             |1134 S Franklin St                                                                                                              |Overton                                                                                                                         
+Chuck                                                                                                                           |Carpenter                                                                                                                       |Kurz Electric                                                                                                                   |115 S Drew St                                                                                                                   |Smithville                                                                                                                      
+Chuck                                                                                                                           |Carr                                                                                                                            |Alpha 1                                                                                                                         |1151 Valley Fair Mall                                                                                                           |Jonestown                                                                                                                       
+Colleen                                                                                                                         |Casperson                                                                                                                       |Valley Trust Corporation                                                                                                        |120 N Morrison St                                                                                                               |Smithville                                                                                                                      
+Connie                                                                                                                          |Catterton                                                                                                                       |Fox Community Credit Union                                                                                                      |1200 N Perkins St                                                                                                               |Smithville                                                                                                                      
+Connie                                                                                                                          |Clay                                                                                                                            |Valley Lawn Care                                                                                                                |121 N Douglas St # R                                                                                                            |Smithville                                                                                                                      
+Craig                                                                                                                           |Collar                                                                                                                          |Network Health Plan                                                                                                             |1216 W Wisconsin Ave                                                                                                            |Moretown                                                                                                                        
+Dan                                                                                                                             |Coppenger                                                                                                                       |Kolosso Toyota                                                                                                                  |1221 N Lawe St                                                                                                                  |Smithville                                                                                                                      
+Dan                                                                                                                             |Dag                                                                                                                             |AAL                                                                                                                             |1222 N Superior St                                                                                                              |Smithville                                                                                                                      
+Darlene                                                                                                                         |Dantzier                                                                                                                        |WDFF                                                                                                                            |124 W Wisconsin Ave                                                                                                             |Dime Box                                                                                                                        
+Darlene                                                                                                                         |Dellenmann                                                                                                                      |AAL                                                                                                                             |130 E Franklin St                                                                                                               |Smithville                                                                                                                      
+Darren                                                                                                                          |Dinkl                                                                                                                           |Novus Health Group                                                                                                              |1300 E Calumet St                                                                                                               |Smithville                                                                                                                      
+David                                                                                                                           |Dockry                                                                                                                          |AAL                                                                                                                             |1302 S Ritger                                                                                                                   |Smithville                                                                                                                      
+Debra                                                                                                                           |Dorsey                                                                                                                          |AAL Capital Management                                                                                                          |1320 S Lincoln St                                                                                                               |Smithville                                                                                                                      
+Denise                                                                                                                          |Richardson                                                                                                                      |AAL Printing/Distribution                                                                                                       |1396 Ridgeway Court                                                                                                             |Smithville                                                                                                                      
+Diane                                                                                                                           |Duginski                                                                                                                        |Lawrence University                                                                                                             |144 N Mall Dr                                                                                                                   |Smithville                                                                                                                      
+Dick                                                                                                                            |Dunbar                                                                                                                          |Ken Gibson Assoc.                                                                                                               |1461 Ashland Ave                                                                                                                |Smithville                                                                                                                      
+Dinah                                                                                                                           |Duxbury                                                                                                                         |Menasha Employees Credit Union                                                                                                  |1486 Earl St                                                                                                                    |Dime Box                                                                                                                        
+Dominic                                                                                                                         |Earl                                                                                                                            |UPIU                                                                                                                            |150 W Green Bay Rd                                                                                                              |Lonesome                                                                                                                        
+Don                                                                                                                             |Ely                                                                                                                             |AAL                                                                                                                             |1620 S Lawe St                                                                                                                  |Smithville                                                                                                                      
+Donna                                                                                                                           |Erdmann                                                                                                                         |Fox Valley Technical College                                                                                                    |1737 W Reid Dr                                                                                                                  |Smithville                                                                                                                      
+Donna                                                                                                                           |Esser                                                                                                                           |Bergstrom Air Force Base                                                                                                        |1801 N Richmond St # 12                                                                                                         |Jonestown                                                                                                                       
+Duane                                                                                                                           |Feavel                                                                                                                          |Bank One                                                                                                                        |1818 N Meade St                                                                                                                 |Smithville                                                                                                                      
+Emmett                                                                                                                          |Forseth                                                                                                                         |Bergstrom Enterprises                                                                                                           |1818 N Meade St                                                                                                                 |Smithville                                                                                                                      
+Erik                                                                                                                            |Francken                                                                                                                        |Fox Cities Bank                                                                                                                 |1825 N Bluemound Dr                                                                                                             |Jonestown                                                                                                                       
+Father                                                                                                                          |Freitas                                                                                                                         |Town of Vandenbroek                                                                                                             |1825 N Bluemound Dr                                                                                                             |Smithville                                                                                                                      
+Gary                                                                                                                            |Garvey                                                                                                                          |Kitz Printing                                                                                                                   |1909 W 2nd St                                                                                                                   |Overton                                                                                                                         
+George                                                                                                                          |Gibson                                                                                                                          |Prime Control Systems                                                                                                           |1965 Oshkosh Ave                                                                                                                |Smithville                                                                                                                      
+Glenn                                                                                                                           |Gorman                                                                                                                          |Van Vreede's                                                                                                                    |1990 S Van Dyke Rd                                                                                                              |Little Gorge                                                                                                                    
+Howard                                                                                                                          |Grennon                                                                                                                         |Insurance Brokerage Services                                                                                                    |200 W College Ave                                                                                                               |Smithville                                                                                                                      
+Ingrid                                                                                                                          |Guyette                                                                                                                         |Fox Valley Travel                                                                                                               |2074 American Dr                                                                                                                |Overton                                                                                                                         
+Jacquie                                                                                                                         |Hagen                                                                                                                           |M & M Advertising                                                                                                               |21 Waugoo Ave                                                                                                                   |Smithville                                                                                                                      
+James                                                                                                                           |Hammer                                                                                                                          |University of Women                                                                                                             |212 E College Ave                                                                                                               |Overton                                                                                                                         
+Jan                                                                                                                             |Hanks                                                                                                                           |YMCA                                                                                                                            |213 Paul Dr                                                                                                                     |Jonestown                                                                                                                       
+Jane                                                                                                                            |Haugner                                                                                                                         |O'Donnell Publishing                                                                                                            |217 Pacific St                                                                                                                  |Jonestown                                                                                                                       
+Jeff                                                                                                                            |Henneman                                                                                                                        |Western Ice                                                                                                                     |218 E Lawrence St                                                                                                               |Smithville                                                                                                                      
+Jeff                                                                                                                            |Holland                                                                                                                         |Four D Corporation                                                                                                              |2181 W Wisconsin Ave                                                                                                            |Appleton                                                                                                                        
+Jim                                                                                                                             |Hoppe                                                                                                                           |Andrews Mautner, Inc.                                                                                                           |221 E Atlantic St                                                                                                               |Moosetown                                                                                                                       
+Jim                                                                                                                             |Howard                                                                                                                          |Laser Typesetting                                                                                                               |221 W College Ave                                                                                                               |Smithville                                                                                                                      
+Jim                                                                                                                             |Ick                                                                                                                             |Wallach & Assoc.                                                                                                                |222 E College Ave                                                                                                               |Smithville                                                                                                                      
+Jim                                                                                                                             |Issacson                                                                                                                        |Town of Grand River                                                                                                             |222 E College Ave                                                                                                               |Smithville                                                                                                                      
+Jo Ann                                                                                                                          |Jahnke                                                                                                                          |Cabelvision                                                                                                                     |225 Main St Box # 8003                                                                                                          |Smithville                                                                                                                      
+Joanne                                                                                                                          |Jensen                                                                                                                          |Print & Mail, Inc.                                                                                                              |2301 W Nordale Dr                                                                                                               |Smithville                                                                                                                      
+Jodi                                                                                                                            |Jesse                                                                                                                           |Jewelers Mutual Insurance                                                                                                       |231 E College Ave                                                                                                               |Jonestown                                                                                                                       
+Joe                                                                                                                             |Jirtle                                                                                                                          |Burton Karstedt                                                                                                                 |2320 S Memorial Dr                                                                                                              |Dime Box                                                                                                                        
+John                                                                                                                            |Johnson                                                                                                                         |Twin City Rod & Gun Club                                                                                                        |250 Industrial Drive                                                                                                            |Jonestown                                                                                                                       
+John                                                                                                                            |Kamp                                                                                                                            |American Legion                                                                                                                 |2600 Stewart Ave # 22                                                                                                           |Smithville                                                                                                                      
+John                                                                                                                            |Karstedt                                                                                                                        |TechLine                                                                                                                        |2662 American Dr                                                                                                                |Smithville                                                                                                                      
+John                                                                                                                            |Kitz                                                                                                                            |Data One Computer Service                                                                                                       |2820 N Roemer Rd                                                                                                                |Smithville                                                                                                                      
+John                                                                                                                            |Kolberg                                                                                                                         |Appleton Area School District                                                                                                   |292 Ohio St                                                                                                                     |Smithville                                                                                                                      
+John                                                                                                                            |Korth                                                                                                                           |Banta Corporate                                                                                                                 |3000 W Wisconsin Ave                                                                                                            |Dime Box                                                                                                                        
+John                                                                                                                            |Kotarek                                                                                                                         |HRC Inc.                                                                                                                        |3012 Greenview Dr                                                                                                               |Jonestown                                                                                                                       
+Joyce                                                                                                                           |Kretsch                                                                                                                         |Phopar                                                                                                                          |3036 W Wisconsin Ave                                                                                                            |Smithville                                                                                                                      
+Judy                                                                                                                            |Kuehl                                                                                                                           |Sutherland Electric                                                                                                             |3090 Oregon St                                                                                                                  |Smithville                                                                                                                      
+Katie                                                                                                                           |Kusserow                                                                                                                        |Banta Credit Union                                                                                                              |310 Appleton St                                                                                                                 |Dime Box                                                                                                                        
+Kay                                                                                                                             |Lambert                                                                                                                         |Uffenbeck Diamonds                                                                                                              |319 Main St                                                                                                                     |Smithville                                                                                                                      
+Ken                                                                                                                             |Lamb                                                                                                                            |Equitable Reserve Association                                                                                                   |32122 Paseo Adelanto Ste 2B                                                                                                     |Jonestown                                                                                                                       
+Kevin                                                                                                                           |Lensby                                                                                                                          |Derksen Printing                                                                                                                |3218 Timothy Ln #6                                                                                                              |Overton                                                                                                                         
+Larry                                                                                                                           |Lesperance                                                                                                                      |Custom Printing                                                                                                                 |322 N Commercial St                                                                                                             |Smithville                                                                                                                      
+Larry                                                                                                                           |Lindberg                                                                                                                        |Faye's Fine Jewelry                                                                                                             |3232 N Ballard Rd                                                                                                               |Jonestown                                                                                                                       
+Linda                                                                                                                           |Linonofski                                                                                                                      |Haugners Inc.                                                                                                                   |33 Park Pl                                                                                                                      |Smithville                                                                                                                      
+Linda                                                                                                                           |Long                                                                                                                            |Pyramid Marketing & Advertising                                                                                                 |3301 W Prospect Ave                                                                                                             |Smithville                                                                                                                      
+Liz                                                                                                                             |Lonsway                                                                                                                         |Wisconsin Tissue Credit Union                                                                                                   |333 W College Ave                                                                                                               |Jonestown                                                                                                                       
+Lon                                                                                                                             |Lowe                                                                                                                            |AAL                                                                                                                             |342 W Wisconsin Ave                                                                                                             |Smithville                                                                                                                      
+Lori                                                                                                                            |Ludwig                                                                                                                          |Pat Woods Inc                                                                                                                   |3730 W College Ave                                                                                                              |Kimbro                                                                                                                          
+Luke                                                                                                                            |Madison                                                                                                                         |Creative Learning International                                                                                                 |375 Byrd Ave                                                                                                                    |Jonestown                                                                                                                       
+Mark                                                                                                                            |Mancl                                                                                                                           |United Health                                                                                                                   |3992 N Richmond St                                                                                                              |Smithville                                                                                                                      
+Mark                                                                                                                            |Melissa                                                                                                                         |Memorial Florists                                                                                                               |408 W Wisconsin Ave                                                                                                             |Smithville                                                                                                                      
+Marlene                                                                                                                         |Mentink                                                                                                                         |Fay Hawkinson & Kruse Inc                                                                                                       |411 Lincoln St                                                                                                                  |Overton                                                                                                                         
+Marti                                                                                                                           |Merryfield                                                                                                                      |Enterprise Motors                                                                                                               |419 N Oneida St                                                                                                                 |Smithville                                                                                                                      
+Marty                                                                                                                           |Meyere                                                                                                                          |Weidert Group Inc                                                                                                               |420 E Longville Dr                                                                                                              |Smithville                                                                                                                      
+Mary                                                                                                                            |Micke                                                                                                                           |Principal Financial                                                                                                             |4301 W Wisconsin Ave                                                                                                            |Smithville                                                                                                                      
+Mary                                                                                                                            |Mohr                                                                                                                            |Woodfield Suites                                                                                                                |4321 N Ballard Rd                                                                                                               |Smithville                                                                                                                      
+Mary                                                                                                                            |Mortensen                                                                                                                       |Master Litho                                                                                                                    |4321 N Ballard Rd                                                                                                               |Jonestown                                                                                                                       
+Mary                                                                                                                            |Mueller                                                                                                                         |Rawhide Boys Ranch                                                                                                              |4321 N Ballard Rd                                                                                                               |New Hope                                                                                                                        
+Mary                                                                                                                            |Mugerauer                                                                                                                       |Ad Works                                                                                                                        |4321 N Ballard Rd                                                                                                               |Smithville                                                                                                                      
+Mary                                                                                                                            |Novak                                                                                                                           |Directions Inc                                                                                                                  |4321 N Ballard Rd                                                                                                               |Jonestown                                                                                                                       
+Mary Beth                                                                                                                       |O'Donnell                                                                                                                       |Counseling Resource Center                                                                                                      |4321 N Ballard Rd                                                                                                               |Smithville                                                                                                                      
+Mary                                                                                                                            |Pannabaker                                                                                                                      |World Wide Auto Parts                                                                                                           |4321 W College Ave                                                                                                              |Smithville                                                                                                                      
+Michelle                                                                                                                        |Pawlowski                                                                                                                       |Secura Insurance                                                                                                                |4406 W Spencer St                                                                                                               |Smithville                                                                                                                      
+Mike                                                                                                                            |Peter                                                                                                                           |Witthuhn Printing                                                                                                               |4895 Integrity Way                                                                                                              |Smithville                                                                                                                      
+Mike                                                                                                                            |Peters                                                                                                                          |St Mary's Central High School                                                                                                   |502 W Northland Ave                                                                                                             |Dime Box                                                                                                                        
+Mike                                                                                                                            |Phillips                                                                                                                        |Valley Periodontics                                                                                                             |517 N Appleton St                                                                                                               |Smithville                                                                                                                      
+Nancy                                                                                                                           |Rapp                                                                                                                            |Neenah Printing                                                                                                                 |520 E Wisconsin Ave                                                                                                             |Jonestown                                                                                                                       
+Nancy                                                                                                                           |Rasmussen                                                                                                                       |YMCA of Appleton                                                                                                                |520 E Wisconsin Ave                                                                                                             |Smithville                                                                                                                      
+Nancy                                                                                                                           |Rathman                                                                                                                         |Appleton Medical Center                                                                                                         |525 Enterprise Dr                                                                                                               |Smithville                                                                                                                      
+Nancy                                                                                                                           |Reinl                                                                                                                           |Quinlan Dentistry                                                                                                               |525 N Perkins St                                                                                                                |Smithville                                                                                                                      
+Natalie                                                                                                                         |Reynolds                                                                                                                        |Klusendorf Chiropractic                                                                                                         |528 2nd St                                                                                                                      |Smithville                                                                                                                      
+Pam                                                                                                                             |Richeson                                                                                                                        |Drucks Plumbing                                                                                                                 |531 N Main St                                                                                                                   |Dime Box                                                                                                                        
+Pat                                                                                                                             |Robbins                                                                                                                         |Market Link                                                                                                                     |557 S Marcella St                                                                                                               |Smithville                                                                                                                      
+Pat                                                                                                                             |Roberts                                                                                                                         |Norandex                                                                                                                        |610 E Wisconsin Ave                                                                                                             |Smithville                                                                                                                      
+Peg                                                                                                                             |Russel                                                                                                                          |Appleton Camping                                                                                                                |675 Brighton Beach Rd                                                                                                           |Smithville                                                                                                                      
+Mickey                                                                                                                          |Mouse                                                                                                                           |Disneyland                                                                                                                      |Magic Kingdom                                                                                                                   |Los Angeles                                                                                                                     
+ij> drop table imp_temp;
+0 rows inserted/updated/deleted
+ij> 

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out?view=diff&rev=124918&p1=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out&r1=124917&p2=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out&r2=124918
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out	(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/inbetween.out	Tue Jan 11 11:53:57 2005
@@ -8,7 +8,7 @@
 set isolation to rr;
 0 rows inserted/updated/deleted
 ij> CREATE FUNCTION ConsistencyChecker() RETURNS VARCHAR(128)
-EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.ConsistencyChecker.runConsistencyChecker'
+EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.T_ConsistencyChecker.runConsistencyChecker'
 LANGUAGE JAVA PARAMETER STYLE JAVA;
 0 rows inserted/updated/deleted
 ij> autocommit off;

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,90 @@
+ij> -- this test shows the ij commands in use,
+-- and what happens when invalid stuff is entered.
+-- no driver loaded yet, detected off of the url
+-- this one is a bad url:
+connect 'cloudscape:wombat';
+ERROR 08001: Driver not found: cloudscape:wombat
+ij> -- this one will work.
+connect 'jdbc:derby:wombat';
+ERROR XJ004: Database 'wombat' not found.
+ij> -- no connection yet, this will fail
+create table t (i int);
+IJ ERROR: Unable to establish connection
+ij> -- no table yet, this will fail
+select i from t;
+IJ ERROR: Unable to establish connection
+ij> -- invalid syntax ... incomplete statements
+driver;
+IJ ERROR: Unable to establish connection
+ij> connect;
+IJ ERROR: Unable to establish connection
+ij> prepare;
+IJ ERROR: Unable to establish connection
+ij> execute;
+IJ ERROR: Unable to establish connection
+ij> run;
+IJ ERROR: Unable to establish connection
+ij> remove;
+IJ ERROR: Unable to establish connection
+ij> -- should fail because procedure is an illegal statement name
+prepare procedure as 'select * from bar';
+IJ ERROR: procedure is an illegal name for a statement
+ij> -- should fail because text is passed on to cloudscape, which
+-- barfs on the unknown statement name. execute procedure is
+-- a foundation 2000 concept
+execute procedure sqlj.install_jar( 'file:c:/p4c/systest/out/DigIt.jar', 'SourceWUs', 1 );
+IJ ERROR: Unable to establish connection
+ij> -- and, the help output:
+help;
+ Supported commands include:
+  PROTOCOL 'JDBC protocol' [ AS ident ];
+                               -- sets a default or named protocol
+  DRIVER 'class for driver';   -- loads the named class
+  CONNECT 'url for database' [ PROTOCOL namedProtocol ] [ AS connectionName ];
+                               -- connects to database URL
+                               -- and may assign identifier
+  SET CONNECTION connectionName; -- switches to the specified connection
+  SHOW CONNECTIONS;            -- lists all connections
+  AUTOCOMMIT [ ON | OFF ];     -- sets autocommit mode for the connection
+  DISCONNECT [ CURRENT | connectionName | ALL ];
+                               -- drop current, named, or all connections;
+                               -- the default is CURRENT
+  COMMIT;                      -- commits the current transaction
+  ROLLBACK;                    -- rolls back the current transaction
+  PREPARE name AS 'SQL-J text'; -- prepares the SQL-J text
+  EXECUTE { name | 'SQL-J text' } [ USING { name | 'SQL-J text' } ] ;
+                               -- executes the statement with parameter
+                               -- values from the USING result set row
+  REMOVE name;                 -- removes the named previously prepared statement
+  RUN 'filename';              -- run commands from the named file
+  ELAPSEDTIME [ ON | OFF ];    -- sets elapsed time mode for ij
+  MAXIMUMDISPLAYWIDTH integerValue;
+                               -- sets the maximum display width for
+                               -- each column to integerValue
+  ASYNC name 'SQL-J text';     -- run the command in another thread
+  WAIT FOR name;               -- wait for result of ASYNC'd command
+  GET [SCROLL INSENSITIVE] CURSOR name AS 'SQL-J query';
+                               -- gets a cursor (JDBC result set) on the query
+                               -- SCROLL cursors are only available 
+                               -- in JDBC 2.0 and higher. 
+                               -- (Cursor scroll type is ignored in JDBC 1.X.) 
+  NEXT name;                   -- gets the next row from the named cursor
+  FIRST name;                  -- gets the first row from the named scroll cursor
+  LAST name;                   -- gets the last row from the named scroll cursor
+  PREVIOUS name;               -- gets the previous row from the named scroll cursor
+  ABSOLUTE integer name;       -- positions the named scroll cursor at the absolute row number
+                               -- (A negative number denotes position from the last row.) 
+  RELATIVE integer name;       -- positions the named scroll cursor relative to the current row
+                               -- (integer is number of rows)
+  AFTER LAST name;             -- positions the named scroll cursor after the last row
+  BEFORE FIRST name;           -- positions the named scroll cursor before the first row
+  GETCURRENTROWNUMBER name;    -- returns the row number for the current position of the named scroll cursor
+                               -- (0 is returned when the cursor is not positioned on a row.) 
+  CLOSE name;                  -- closes the named cursor
+  UNICODEESCAPE [ ON | OFF ]; -- sets unicode escape mode for the input stream
+  LOCALIZEDDISPLAY [ ON | OFF ];
+                               -- controls locale sensitive data representation
+  EXIT;                        -- exits ij
+  HELP;                        -- shows this message
+ Any unrecognized commands are treated as potential SQL-J commands and executed directly.
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij5.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij5.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ij5.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,12 @@
+CONNONE - 	jdbc:derby:wombat
+CONNTWO* - 	jdbc:derby:lemming
+* = current connection
+ij(CONNTWO)> -- assumes the connections connOne, connTwo are set up already
+-- 1)at the startup time, it will list all the connections
+-- 2)select will now display number of rows selected
+select count(*) from sys.systables where 1=0;
+1          
+-----------
+0          
+1 row selected
+ij(CONNTWO)> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ijConnName.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ijConnName.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/j9_13/ijConnName.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,42 @@
+ERROR 08001: Driver not found: jdbc:noone:fruitfly;create=true
+ERROR XJ004: Database 'nevercreated' not found.
+ij(CONNTWO)> -- assumes the connections connOne, connTwo are set up already
+-- and that connThree, connFour failed to be setup correctly (bad URLs)
+-- expect connOne to be active
+show connections;
+CONNONE - 	jdbc:derby:wombat
+CONNTWO* - 	jdbc:derby:lemming
+* = current connection
+ij(CONNTWO)> set connection connOne;
+ij(CONNONE)> values 1;
+1          
+-----------
+1          
+ij(CONNONE)> set connection connTwo;
+ij(CONNTWO)> values 1;
+1          
+-----------
+1          
+ij(CONNTWO)> -- connThree doesn't exist, it failed at boot time
+set connection connThree;
+IJ ERROR: No connection exists with the name CONNTHREE
+ij(CONNTWO)> -- connFour doesn't exist, it failed at boot time
+set connection connFour;
+IJ ERROR: No connection exists with the name CONNFOUR
+ij(CONNTWO)> -- connTwo is still active
+show connections;
+CONNONE - 	jdbc:derby:wombat
+CONNTWO* - 	jdbc:derby:lemming
+* = current connection
+ij(CONNTWO)> -- no such connection to disconnect
+disconnect noName;
+IJ ERROR: No connection exists with the name NONAME
+ij(CONNTWO)> disconnect connOne;
+ij> -- connOne no longer exists
+set connection connOne;
+IJ ERROR: No connection exists with the name CONNONE
+ij> disconnect current;
+ij> -- see no more connections to use
+show connections;
+No connections available.
+ij> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxfieldsize.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxfieldsize.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/maxfieldsize.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,881 @@
+Test MaxFieldSize  starting
+Iteration #: 0
+Max Field Size = 0
+Column #: 1
+getObject(1)
+  as byte[] length 100
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getObject(2)
+  as byte[] length 43
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getObject(3)
+  as byte[] length 43
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+Column #: 5
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 1
+Max Field Size = 0
+Column #: 1
+getString(1) length 200
+43315858585858585858585858585858585858585858585858585858585858585858585858585858585858202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020
+Column #: 2
+getString(2) length 86
+43325858585858585858585858585858585858585858585858585858585858585858585858585858585858
+Column #: 3
+getString(3) length 86
+43335858585858585858585858585858585858585858585858585858585858585858585858585858585858
+Column #: 4
+getString(4) length 100
+C4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                        
+Column #: 5
+getString(5) length 45
+C5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getString(6) length 46
+C6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 2
+Max Field Size = 0
+Column #: 1
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 5
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #: 6
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 3
+Max Field Size = 0
+Column #: 1
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 4
+Max Field Size = 0
+Column #: 1
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #: 2
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 3
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 5
+Max Field Size = 24
+Column #: 1
+getObject(1)
+  as byte[] length 24
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getObject(2)
+  as byte[] length 24
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getObject(3)
+  as byte[] length 24
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+getObject(4)
+  as String
+C4XXXXXXXXXXXXXXXXXXXXXX
+Column #: 5
+getObject(5)
+  as String
+C5XXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getObject(6)
+  as String
+C6XXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 6
+Max Field Size = 24
+Column #: 1
+getString(1) length 24
+433158585858585858585858
+Column #: 2
+getString(2) length 24
+433258585858585858585858
+Column #: 3
+getString(3) length 24
+433358585858585858585858
+Column #: 4
+getString(4) length 24
+C4XXXXXXXXXXXXXXXXXXXXXX
+Column #: 5
+getString(5) length 24
+C5XXXXXXXXXXXXXXXXXXXXXX
+Column #: 6
+getString(6) length 24
+C6XXXXXXXXXXXXXXXXXXXXXX
+Iteration #: 7
+Max Field Size = 24
+Column #: 1
+getAsciiStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getAsciiStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getAsciiStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+getAsciiStream(4)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 5
+getAsciiStream(5)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 6
+getAsciiStream(6)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 8
+Max Field Size = 24
+Column #: 1
+getBinaryStream(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getBinaryStream(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getBinaryStream(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Iteration #: 9
+Max Field Size = 24
+Column #: 1
+getBytes(1)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 2
+getBytes(2)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 3
+getBytes(3)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #: 4
+SKIPPING
+Column #: 5
+SKIPPING
+Column #: 6
+SKIPPING
+Expected Exception - Invalid maxFieldsize
+Doing external sort
+Max Field Size = 0
+Iteration #: 0
+Column #1: 4999
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 1
+Column #1: 4998
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 2
+Column #1: 4997
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 3
+Column #1: 4996
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4
+Column #1: 4995
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4995
+Column #1: 4
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4996
+Column #1: 3
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4997
+Column #1: 2
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4998
+Column #1: 1
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Iteration #: 4999
+Column #1: 0
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20x20
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58x58x58
+Max Field Size = 24
+Iteration #: 0
+Column #1: 4999
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 1
+Column #1: 4998
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 2
+Column #1: 4997
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 3
+Column #1: 4996
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4
+Column #1: 4995
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4995
+Column #1: 4
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4996
+Column #1: 3
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4997
+Column #1: 2
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4998
+Column #1: 1
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Iteration #: 4999
+Column #1: 0
+Column #2:
+getBinaryStream(2)
+x43x31x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #3:
+getBinaryStream(3)
+x43x32x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #4:
+getBinaryStream(4)
+x43x33x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #5:
+getAsciiStream(5)
+x43x34x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #6:
+getAsciiStream(6)
+x43x35x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Column #7:
+getAsciiStream(7)
+x43x36x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58x58
+x58x58x58
+Test maxfieldsize  finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/metadataJdbc20.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,14 @@
+Test metadataJdbc20 starting
+JDBC Driver 'Apache Derby Embedded JDBC Driver', version 10.1 (10.1.0.0 alpha)
+The URL is: jdbc:derby:wombat
+getUDTs() with user-named types null :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('JAVA_OBJECT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('STRUCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('DISTINCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+getUDTs() with user-named types in ('JAVA_OBJECT', 'STRUCT') :
+TYPE_CAT,TYPE_SCHEM,TYPE_NAME,CLASS_NAME,DATA_TYPE,REMARKS
+Test metadataJdbc20 finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/nullSQLText.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/nullSQLText.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/nullSQLText.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,14 @@
+Test nullSQLText starting
+Test prepareStatement with null argument
+FAIL -- expected exception
+Null SQL String Exception
+Test execute with null argument
+FAIL -- expected exception
+Null SQL String Exception
+Test executeQuery with null argument
+FAIL -- expected exception
+Null SQL String Exception
+Test executeUpdate with null argument
+FAIL -- expected exception
+Null SQL String Exception
+Test nullSQLText finished
\ No newline at end of file

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out?view=diff&rev=124918&p1=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out&r1=124917&p2=incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out&r2=124918
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out	(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/openScans.out	Tue Jan 11 11:53:57 2005
@@ -1,6 +1,6 @@
 ij> -- minimal testing to verify no scans left open
 CREATE FUNCTION ConsistencyChecker() RETURNS VARCHAR(128)
-EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.ConsistencyChecker.runConsistencyChecker'
+EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.T_ConsistencyChecker.runConsistencyChecker'
 LANGUAGE JAVA PARAMETER STYLE JAVA;
 0 rows inserted/updated/deleted
 ij> autocommit off;

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/prepStmtMetaData.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/prepStmtMetaData.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/prepStmtMetaData.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,26 @@
+Test prepStmtMetaData starting
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+Result meta data for select
+A,B
+ResultSetMetaData is Null or empty
+ResultSetMetaData is Null or empty
+bug 4579 and 5338 : Result meta data for select *
+C11
+bug 4579 and 5338 : Result meta data for select * after alter table but w/o execute query
+C11,C12
+bug 4579 and 5338 : Result meta data for select * after alter table and execute query
+C11,C12,C13
+Test prepStmtMetaData finished

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureJdbc30.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureJdbc30.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/procedureJdbc30.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,195 @@
+Fetching result sets with getMoreResults()
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (2) val 3
+  PASS 3 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (3) val 4
+  PASS 4 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (4) val 5
+  PASS 5 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (5) val 6
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Fetching result sets with getMoreResults(Statement.CLOSE_CURRENT_RESULT)
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (2) val 3
+  PASS 3 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (3) val 4
+  PASS 4 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (4) val 5
+  PASS 5 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (5) val 6
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Fetching result sets with getMoreResults(Statement.CLOSE_ALL_RESULTS)
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (2) val 3
+  PASS 3 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (3) val 4
+  PASS 4 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (4) val 5
+  PASS 5 got result set true
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (5) val 6
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Fetching result sets with getMoreResults(Statement.KEEP_CURRENT_RESULT)
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     RS (1) val 3
+     RS (2) val 3
+  PASS 3 got result set true
+     RS (1) val 4
+     RS (2) val 4
+     RS (3) val 4
+  PASS 4 got result set true
+     RS (1) val 5
+     RS (2) val 5
+     RS (3) val 5
+     RS (4) val 5
+  PASS 5 got result set true
+     RS (1) val 6
+     RS (2) val 6
+     RS (3) val 6
+     RS (4) val 6
+     RS (5) val 6
+     RS (1) val 7
+     RS (2) val 7
+     RS (3) val 7
+     RS (4) val 7
+     RS (5) val 7
+Fetching result sets with getMoreResults(<mixture>)
+ first two with KEEP_CURRENT_RESULT
+     RS (1) val 2
+     RS (2) val 3
+ third with CLOSE_CURRENT_RESULT
+     RS (1) val 3
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (3) val 4
+ fourth with KEEP_CURRENT_RESULT
+     RS (1) val 4
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (3) val 5
+     RS (4) val 5
+ fifth with CLOSE_ALL_RESULTS
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (5) val 6
+ no more results with with KEEP_CURRENT_RESULT
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     RS (5) val 7
+Fetching result sets with getMoreResults(Statement.KEEP_CURRENT_RESULT) and checking that cs.execute() closes them
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     RS (1) val 3
+     RS (2) val 3
+  PASS 3 got result set true
+     RS (1) val 4
+     RS (2) val 4
+     RS (3) val 4
+  PASS 4 got result set true
+     RS (1) val 5
+     RS (2) val 5
+     RS (3) val 5
+     RS (4) val 5
+  PASS 5 got result set true
+     RS (1) val 6
+     RS (2) val 6
+     RS (3) val 6
+     RS (4) val 6
+     RS (5) val 6
+ fetched all results
+     RS (1) val 7
+     RS (2) val 7
+     RS (3) val 7
+     RS (4) val 7
+     RS (5) val 7
+ executing statement
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+Fetching result sets with getMoreResults(Statement.KEEP_CURRENT_RESULT) and checking that cs.close() closes them
+  PASS 1 got result set true
+     RS (1) val 2
+  PASS 2 got result set true
+     RS (1) val 3
+     RS (2) val 3
+  PASS 3 got result set true
+     RS (1) val 4
+     RS (2) val 4
+     RS (3) val 4
+  PASS 4 got result set true
+     RS (1) val 5
+     RS (2) val 5
+     RS (3) val 5
+     RS (4) val 5
+  PASS 5 got result set true
+     RS (1) val 6
+     RS (2) val 6
+     RS (3) val 6
+     RS (4) val 6
+     RS (5) val 6
+ fetched all results
+     RS (1) val 7
+     RS (2) val 7
+     RS (3) val 7
+     RS (4) val 7
+     RS (5) val 7
+ closing statement
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.
+     Exception - ResultSet not open, operation 'next' not permitted. Verify that autocommit is OFF.

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readUncommitted.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readUncommitted.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readUncommitted.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,221 @@
+ij> ------------------------------------------------------------------------------
+-- TEST CASES SPECIFIC TO STORE IMPLEMENTATION OF READ UNCOMMITTED:
+-- overview:
+--    TEST 0: Test a scan positioned on a row which is deleted from it.
+--    TEST 1: Test a scan positioned on a row which is purged from it.
+------------------------------------------------------------------------------
+--
+------------------------------------------------------------------------------
+run resource 'createTestProcedures.subsql';
+ij> CREATE FUNCTION  PADSTRING (DATA VARCHAR(32000), LENGTH INTEGER) RETURNS VARCHAR(32000) EXTERNAL NAME 'com.ibm.db2j.testing.Formatters.padString' LANGUAGE JAVA PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> CREATE PROCEDURE WAIT_FOR_POST_COMMIT() DYNAMIC RESULT SETS 0 LANGUAGE JAVA EXTERNAL NAME 'com.ibm.db2j.testing.T_Access.waitForPostCommitToFinish' PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', '4096');
+0 rows inserted/updated/deleted
+ij> connect 'wombat' as scanner;
+ij(SCANNER)> autocommit off;
+ij(SCANNER)> connect 'wombat' as deleter;
+ij(DELETER)> autocommit off;
+ij(DELETER)> ------------------------------------------------------------------------------
+-- TEST 0: Test a scan positioned on a row which is deleted from it.
+------------------------------------------------------------------------------
+set connection scanner;
+ij(SCANNER)> set current isolation to UR;
+0 rows inserted/updated/deleted
+ij(SCANNER)> drop table data;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'DATA' because it does not exist.
+ij(SCANNER)> -- create a table with 2 rows per index page.
+create table data (keycol int, data varchar(1600)) ;
+0 rows inserted/updated/deleted
+ij(SCANNER)> insert into data values (0, PADSTRING('0',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (10, PADSTRING('100',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (20, PADSTRING('200',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (30, PADSTRING('300',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (40, PADSTRING('400',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (50, PADSTRING('100',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (60, PADSTRING('200',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (70, PADSTRING('300',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (80, PADSTRING('400',1600));
+1 row inserted/updated/deleted
+ij(SCANNER)> create index idx on data (keycol, data) ;
+0 rows inserted/updated/deleted
+ij(SCANNER)> commit;
+ij(SCANNER)> set connection deleter;
+ij(DELETER)> SET ISOLATION READ COMMITTED;
+0 rows inserted/updated/deleted
+ij(DELETER)> commit;
+ij(DELETER)> -- position scanner with no bulk fetch on 40,400
+set connection scanner;
+ij(SCANNER)> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij(SCANNER)> get cursor scan_cursor as
+    'select keycol from data';
+ij(SCANNER)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+0          
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+10         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+20         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+30         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+40         
+ij(SCANNER)> -- now delete all the rows except for 70 and 80
+set connection deleter;
+ij(DELETER)> delete from data where keycol < 70;
+7 rows inserted/updated/deleted
+ij(DELETER)> -- scanner should automatically jump to 70
+set connection scanner;
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+70         
+ij(SCANNER)> -- cleanup
+close scan_cursor;
+ij(SCANNER)> commit;
+ij(SCANNER)> set connection deleter;
+ij(DELETER)> commit;
+ij(DELETER)> ------------------------------------------------------------------------------
+-- TEST 1: Test a scan positioned on a row which is purged.
+------------------------------------------------------------------------------
+set connection scanner;
+ij(SCANNER)> set isolation read uncommitted;
+0 rows inserted/updated/deleted
+ij(SCANNER)> drop table data;
+0 rows inserted/updated/deleted
+ij(SCANNER)> -- create a table with 3 rows per index page.
+create table data (keycol int, data varchar(1200));
+0 rows inserted/updated/deleted
+ij(SCANNER)> insert into data values (0, PADSTRING('0',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (10, PADSTRING('100',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (20, PADSTRING('200',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (30, PADSTRING('300',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (40, PADSTRING('400',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (50, PADSTRING('100',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (60, PADSTRING('200',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (70, PADSTRING('300',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> insert into data values (80, PADSTRING('400',1200));
+1 row inserted/updated/deleted
+ij(SCANNER)> create index idx on data (keycol, data) ;
+0 rows inserted/updated/deleted
+ij(SCANNER)> commit;
+ij(SCANNER)> -- position scanner with no bulk fetch on 0,0 (first row in btree)
+set connection scanner;
+ij(SCANNER)> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij(SCANNER)> get cursor scan_cursor as
+    'select keycol from data';
+ij(SCANNER)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+0          
+ij(SCANNER)> -- delete all the rows in the table except for the last few pages, and the 1st;
+set connection deleter;
+ij(DELETER)> delete from data where keycol < 50 and keycol > 0;
+4 rows inserted/updated/deleted
+ij(DELETER)> -- insert enough rows after the first to force a split by the scanner on the 1st
+-- page, it will now be positioned by key on the (0, 0) key.   Then delete the
+-- rows that we just inserted.
+set connection scanner;
+ij(SCANNER)> insert into data values (9, '3'), (9, '2'), (9, '1');
+3 rows inserted/updated/deleted
+ij(SCANNER)> delete from data where keycol = 9;
+3 rows inserted/updated/deleted
+ij(SCANNER)> -- delete the key that the scan is positioned on.  
+set connection deleter;
+ij(DELETER)> delete from data where keycol = 0;
+1 row inserted/updated/deleted
+ij(DELETER)> commit;
+ij(DELETER)> set connection scanner;
+ij(SCANNER)> -- this should now cause another split on the first page in the btree, this
+-- time it should reclaim row 0.
+insert into data values (8, '3'), (8, '2'), (8, '1');
+3 rows inserted/updated/deleted
+ij(SCANNER)> -- scanner should automatically jump to 8, handling the fact that row (0,0)
+-- no longer exists in the table.
+set connection scanner;
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+50         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+60         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+70         
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+80         
+ij(SCANNER)> -- delete all the rows that remain except the last;
+set connection deleter;
+ij(DELETER)> delete from data where keycol > 10 and keycol < 80;
+3 rows inserted/updated/deleted
+ij(DELETER)> commit;
+ij(DELETER)> -- position scan on last row of scan.
+set connection scanner;
+ij(SCANNER)> next scan_cursor;
+KEYCOL     
+-----------
+8          
+ij(SCANNER)> -- now repeat process from above to make the current scan position disappear to
+-- test code path executed when closing a scan where the last scan position has
+-- disappeared.
+set connection scanner;
+ij(SCANNER)> insert into data values (82, '3'), (82, '2'), (82, '1');
+3 rows inserted/updated/deleted
+ij(SCANNER)> delete from data where keycol = 81;
+0 rows inserted/updated/deleted
+ij(SCANNER)> set connection deleter;
+ij(DELETER)> delete from data where keycol = 80;
+1 row inserted/updated/deleted
+ij(DELETER)> commit;
+ij(DELETER)> set connection scanner;
+ij(SCANNER)> -- this statement will purge (80, 800) from the table.
+insert into data values (81, '3'), (81, '2'), (81, '1');
+3 rows inserted/updated/deleted
+ij(SCANNER)> delete from data where keycol = 81;
+3 rows inserted/updated/deleted
+ij(SCANNER)> -- this statement will execute code which will look for last key positioned on
+-- while closing the statement.
+close scan_cursor;
+ij(SCANNER)> -- cleanup
+set connection scanner;
+ij(SCANNER)> commit;
+ij(SCANNER)> set connection deleter;
+ij(DELETER)> commit;
+ij(DELETER)> 

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readlocks.out
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readlocks.out?view=auto&rev=124918
==============================================================================
--- (empty file)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/readlocks.out	Tue Jan 11 11:53:57 2005
@@ -0,0 +1,26253 @@
+ij> -- Very basic single user testing of update row locking.
+autocommit off;
+ij> run resource 'createTestProcedures.subsql';
+ij> CREATE FUNCTION  PADSTRING (DATA VARCHAR(32000), LENGTH INTEGER) RETURNS VARCHAR(32000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.Formatters.padString' LANGUAGE JAVA PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> CREATE PROCEDURE WAIT_FOR_POST_COMMIT() DYNAMIC RESULT SETS 0 LANGUAGE JAVA EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.T_Access.waitForPostCommitToFinish' PARAMETER STYLE JAVA;
+0 rows inserted/updated/deleted
+ij> run resource 'LockTableQuery.subsql';
+ij> create view lock_table as
+select 
+    cast(username as char(8)) as username,
+    cast(t.type as char(8)) as trantype,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state,
+    status
+from 
+    new org.apache.derby.diag.LockTable() l  right outer join new org.apache.derby.diag.TransactionTable() t
+on l.xid = t.xid where l.tableType <> 'S' and t.type='UserTransaction';
+0 rows inserted/updated/deleted
+ij> --on l.xid = t.xid where l.tableType <> 'S' or l.tableType is null
+-- order by
+--     tabname, type desc, mode, cnt, lockname
+-- lock table with system catalog locks included.
+create view full_lock_table as
+select 
+    cast(username as char(8)) as username,
+    cast(t.type as char(8)) as trantype,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state,
+    status
+from 
+    new org.apache.derby.diag.LockTable() l right outer join new org.apache.derby.diag.TransactionTable() t
+on l.xid = t.xid where l.tableType <> 'S' ;
+0 rows inserted/updated/deleted
+ij> -- lock table with no join.
+create view lock_table2 as
+select 
+    cast(l.xid as char(8)) as xid,
+    cast(l.type as char(8)) as type,
+    cast(lockcount as char(3)) as cnt,
+    mode,
+    cast(tablename as char(12)) as tabname,
+    cast(lockname as char(10)) as lockname,
+    state
+from 
+    new org.apache.derby.diag.LockTable() l  
+where l.tableType <> 'S' ;
+0 rows inserted/updated/deleted
+ij> -- transaction table with no join.
+create view tran_table as
+select 
+    *
+from 
+    new org.apache.derby.diag.TransactionTable() t ;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', '4096');
+0 rows inserted/updated/deleted
+ij> -- READ UNCOMMITTED TEST
+set isolation read uncommitted;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> -- run each test with rows on one page in the interesting conglomerate (heap in
+-- the non-index tests, and in the index in the index based tests).
+-- cursor, no index run
+    drop table a;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'A' because it does not exist.
+ij> -- to create tables of page size 4k and still keep the following tbl 
+    -- create table a (a int, b int, c varchar(1900));
+    create table a(a int, b int);
+0 rows inserted/updated/deleted
+ij> alter table a add column c varchar(1900);
+0 rows inserted/updated/deleted
+ij> insert into a values (1, 10, 'one');
+1 row inserted/updated/deleted
+ij> insert into a values (2, 20, 'two');
+1 row inserted/updated/deleted
+ij> insert into a values (3, 30, 'three');
+1 row inserted/updated/deleted
+ij> insert into a values (4, 40, 'four');
+1 row inserted/updated/deleted
+ij> insert into a values (5, 50, 'five');
+1 row inserted/updated/deleted
+ij> insert into a values (6, 60, 'six');
+1 row inserted/updated/deleted
+ij> insert into a values (7, 70, 'seven');
+1 row inserted/updated/deleted
+ij> commit;
+ij> run resource 'readCursorLocks.subsql';
+ij> -- Very basic single user testing of read locks on cursors on heap tables.  
+-- This ".subsql" test is
+-- meant to be run from another test such that it gets run under multiple
+-- isolation levels.  This is important as they behave
+-- differently, depending on isolation levels.
+--
+-- assume's caller has already done: run 'LockTableQuery.subsql'; to get 
+-- easy access to the lock VTI.
+-- TEST 0: heap cursor scan, group fetch = 1
+-- TEST 1: heap cursor scan, group fetch = 2
+-- TEST 2: heap cursor scan, group fetch = 1, stop scan in middle of set
+-- TEST 3: heap cursor scan, group fetch = 4, stop scan in middle of set
+-- TEST 4: heap cursor scan, group fetch = 1 (scan table with some deleted rows)
+-- TEST 5: heap cursor scan, group fetch = 2 (scan with committed deleted rows)
+-- TEST 6: heap cursor scan, group fetch = 1 (scan with "<" qualifier)
+-- TEST 7: heap cursor scan, group fetch = 2 (scan with "<" qualifier)
+-- TEST 8: heap cursor scan, group fetch = 1 (scan with equals qualifier)
+-- TEST 9: heap cursor scan, group fetch = 2 (scan with equals qualifier)
+-- TEST 10: heap cursor scan, group fetch = 1 (equals qualifier, no rows return)
+autocommit off;
+ij> --------------------------------------------------------------------------------
+-- Assumes that calling routine has set up the following simple dataset, 
+-- a heap, no indexes with following initial values:
+--     create table (a int, b int, c somesortofchar);
+-- 1, 10, 'one'
+-- 2, 20, 'two'
+-- 3, 30, 'three'
+-- 4, 40, 'four'
+-- 5, 50, 'five'
+-- 6, 60, 'six'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select * from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+2          |20         |two                                                                                                                             
+3          |30         |three                                                                                                                           
+4          |40         |four                                                                                                                            
+5          |50         |five                                                                                                                            
+6          |60         |six                                                                                                                             
+7          |70         |seven                                                                                                                           
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 0: heap cursor scan, group fetch = 1
+-- Test full cursor scan which does no updates.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row.
+--    READ COMMITTED   - TABLE IS, will hold single S lock on current row.
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+2          |20         |two                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+3          |30         |three                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+4          |40         |four                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+6          |60         |six                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 1: heap cursor scan, group fetch = 2
+-- Test full cursor scan which does no updates.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the query 'select a, b, c from a' to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+2          |20         |two                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+3          |30         |three                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+4          |40         |four                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+6          |60         |six                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 2: heap cursor scan, group fetch = 1, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row.
+--    READ COMMITTED   - TABLE IS, will hold single S lock on current row.
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the query 'select a, b, c from a' to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+2          |20         |two                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 3: heap cursor scan, group fetch = 4, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row.
+--    READ COMMITTED   - TABLE IS, will hold single S lock on current row.
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','4');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the query 'select a, b, c from a' to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+2          |20         |two                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 4: heap cursor scan, group fetch = 1 (scan table with some deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- After the delete the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+delete from a where a = 2 or a = 4 or a = 6;
+3 rows inserted/updated/deleted
+ij> commit;
+ij> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the query 'select a, b, c from a' to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+3          |30         |three                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 5: heap cursor scan, group fetch = 2 (scan with committed deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the query 'select a, b, c from a' to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+3          |30         |three                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 6: heap cursor scan, group fetch = 1 (scan with "<" qualifier)
+-- Test "less than" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> get cursor scan_cursor as
+    'select a, b, c from a where a < 3';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 7: heap cursor scan, group fetch = 2 (scan with "<" qualifier)
+-- Test "less than" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a where a < 3';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 8: heap cursor scan, group fetch = 1 (scan with equals qualifier)
+-- Test "equals" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> get cursor scan_cursor as
+    'select a, b, c from a where a = 5';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 9: heap cursor scan, group fetch = 2 (scan with equals qualifier)
+-- Test "equals" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> get cursor scan_cursor as
+    'select a, b, c from a where a = 7';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 10: heap cursor scan, group fetch = 1 (equals qualifier, no rows return)
+-- Test "equals" qualified cursor scan on a data set, no rows returned.
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                        (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+ij> drop index ix1;
+0 rows inserted/updated/deleted
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a, b, c from a where a = 7';
+ij> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> drop table a;
+0 rows inserted/updated/deleted
+ij> -- non cursor, no index run
+    drop table a;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'A' because it does not exist.
+ij> -- to create tables of page size 4k and still keep the following tbl 
+      -- create table a (a int, b int, c varchar(1900));
+    create table a(a int, b int);
+0 rows inserted/updated/deleted
+ij> alter table a add column c varchar(1900);
+0 rows inserted/updated/deleted
+ij> insert into a values (1, 10, 'one');
+1 row inserted/updated/deleted
+ij> insert into a values (2, 20, 'two');
+1 row inserted/updated/deleted
+ij> insert into a values (3, 30, 'three');
+1 row inserted/updated/deleted
+ij> insert into a values (4, 40, 'four');
+1 row inserted/updated/deleted
+ij> insert into a values (5, 50, 'five');
+1 row inserted/updated/deleted
+ij> insert into a values (6, 60, 'six');
+1 row inserted/updated/deleted
+ij> insert into a values (7, 70, 'seven');
+1 row inserted/updated/deleted
+ij> commit;
+ij> run resource 'readSetLocks.subsql';
+ij> -- Very basic single user testing of read locks in "set" queries on heap tables.  
+-- This ".subsql" test is
+-- meant to be run from another test such that it gets run under multiple
+-- isolation levels.  This is important as they behave
+-- differently, depending on isolation levels.
+--
+-- assume's caller has already done: run 'LockTableQuery.subsql'; to get 
+-- easy access to the lock VTI.
+-- TEST  0: heap scan.
+-- TEST  1: heap scan, some rows deleted.
+-- TEST  2: heap scan, (scan with "<" qualifier)
+-- TEST  3: heap scan, (scan with equals qualifier)
+-- TEST  4: heap scan, (equals qualifier, no rows return)
+autocommit off;
+ij> --------------------------------------------------------------------------------
+-- Assumes that calling routine has set up the following simple dataset, 
+-- a heap, no indexes with following initial values:
+--     create table (a int, b int, c somesortofchar);
+-- 1, 10, 'one'
+-- 2, 20, 'two'
+-- 3, 30, 'three'
+-- 4, 40, 'four'
+-- 5, 50, 'five'
+-- 6, 60, 'six'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select * from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+2          |20         |two                                                                                                                             
+3          |30         |three                                                                                                                           
+4          |40         |four                                                                                                                            
+5          |50         |five                                                                                                                            
+6          |60         |six                                                                                                                             
+7          |70         |seven                                                                                                                           
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 0: heap scan.
+-- Test full cursor scan which does no updates.
+--    SERIALIZABLE     - will get table level S lock, held to end of xact.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).  held to end of xact.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release. No
+--                         locks held when statement completes.
+--    READ UNCOMMITTED - TABLE IS, no row locks.  No locks after statement ends.
+--------------------------------------------------------------------------------
+select a, b, c from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+2          |20         |two                                                                                                                             
+3          |30         |three                                                                                                                           
+4          |40         |four                                                                                                                            
+5          |50         |five                                                                                                                            
+6          |60         |six                                                                                                                             
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 1: heap scan, some rows deleted.
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    SERIALIZABLE     - will get table level S lock.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release
+--    READ UNCOMMITTED - TABLE IS, no row locks.
+--    SERIALIZABLE     - will get table level S lock, held to end of xact.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).  held to end of xact.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release. No
+--                         locks held when statement completes.
+--    READ UNCOMMITTED - TABLE IS, no row locks.  No locks after statement ends.
+--
+-- After the delete the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+delete from a where a = 2 or a = 4 or a = 6;
+3 rows inserted/updated/deleted
+ij> commit;
+ij> select a, b, c from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+3          |30         |three                                                                                                                           
+5          |50         |five                                                                                                                            
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 2: heap scan, (scan with "<" qualifier)
+-- Test "less than" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock, held to end of xact.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).  held to end of xact.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release. No
+--                         locks held when statement completes.
+--    READ UNCOMMITTED - TABLE IS, no row locks.  No locks after statement ends.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select a, b, c from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+3          |30         |three                                                                                                                           
+5          |50         |five                                                                                                                            
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 3: heap scan, (scan with equals qualifier)
+-- Test "equals" qualified cursor scan on a data set.
+--    SERIALIZABLE     - will get table level S lock, held to end of xact.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).  held to end of xact.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release. No
+--                         locks held when statement completes.
+--    READ UNCOMMITTED - TABLE IS, no row locks.  No locks after statement ends.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select a, b, c from a where a = 5;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+5          |50         |five                                                                                                                            
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST  4: heap scan, (equals qualifier, no rows return)
+-- Test "equals" qualified cursor scan on a data set, no rows returned.
+--    SERIALIZABLE     - will get table level S lock, held to end of xact.
+--    REPEATABLE READ  - TABLE IS, will get row S locks as it visits each row 
+--                         (including deleted ones).  held to end of xact.
+--    READ COMMITTED   - TABLE IS, will get instantaneous locks and release. No
+--                         locks held when statement completes.
+--    READ UNCOMMITTED - TABLE IS, no row locks.  No locks after statement ends.
+--
+-- At this point the table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select a, b, c from a where a = 7;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+7          |70         |seven                                                                                                                           
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> drop table a;
+0 rows inserted/updated/deleted
+ij> -- cursor, unique index run
+    drop table a;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'A' because it does not exist.
+ij> -- to create tables of page size 4k and still keep the following tbl 
+        -- create table a (a int, b int, c varchar(1900));
+    create table a(a int, b int);
+0 rows inserted/updated/deleted
+ij> alter table a add column c varchar(1900);
+0 rows inserted/updated/deleted
+ij> insert into a values (1, 10, 'one');
+1 row inserted/updated/deleted
+ij> insert into a values (2, 20, 'two');
+1 row inserted/updated/deleted
+ij> insert into a values (3, 30, 'three');
+1 row inserted/updated/deleted
+ij> insert into a values (4, 40, 'four');
+1 row inserted/updated/deleted
+ij> insert into a values (5, 50, 'five');
+1 row inserted/updated/deleted
+ij> insert into a values (6, 60, 'six');
+1 row inserted/updated/deleted
+ij> insert into a values (7, 70, 'seven');
+1 row inserted/updated/deleted
+ij> create unique index a_idx on a (a);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> run resource 'readBtreeCursorLocks.subsql';
+ij> -- Very basic single user testing of read locks on cursors on indexes.
+-- This ".subsql" test is
+-- meant to be run from another test such that it gets run under multiple
+-- isolation levels.  This is important as they behave
+-- differently, depending on isolation levels.
+--
+-- assume's caller has already done: run 'LockTableQuery.subsql'; to get 
+-- easy access to the lock VTI.
+-- TEST  0: btree cursor scan, group fetch = 1
+-- TEST  1: btree cursor scan, group fetch = 2
+-- TEST  2: btree cursor scan, group fetch = 1 stop scan in middle of set
+-- TEST  3: btree cursor scan, group fetch = 4 stop scan in middle of set
+-- TEST  4: btree cursor scan, group fetch = 1 (scan with some deleted rows)
+-- TEST  5: btree cursor scan, group fetch = 2(scan with committed deleted rows)
+-- TEST  6: btree cursor scan, group fetch = 1 (scan with "<" qualifier)
+-- TEST  7: btree cursor scan, group fetch = 2 (scan with "<" qualifier)
+-- TEST  8: btree cursor scan, group fetch = 1 (scan with equals qualifier)
+-- TEST  9: btree cursor scan, group fetch = 2 (scan with equals qualifier)
+-- TEST 10: btree cursor scan, group fetch = 1 ("=" qualifier, no rows return)
+autocommit off;
+ij> --------------------------------------------------------------------------------
+-- Assumes that calling routine has set up the following simple dataset, 
+-- a heap, and index with following initial values:
+--     create table a (a int, b int, c somesortofchar, [index_pad]);
+--     create index a_idx on a (a) or a_idx on a (a, index_pad);
+--
+-- 1, 10, 'one'
+-- 2, 20, 'two'
+-- 3, 30, 'three'
+-- 4, 40, 'four'
+-- 5, 50, 'five'
+-- 6, 60, 'six'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select * from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+2          |20         |two                                                                                                                             
+3          |30         |three                                                                                                                           
+4          |40         |four                                                                                                                            
+5          |50         |five                                                                                                                            
+6          |60         |six                                                                                                                             
+7          |70         |seven                                                                                                                           
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 0: btree cursor scan, group fetch = 1
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+-------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+4          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+6          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 1: btree cursor scan, group fetch = 2
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+4          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+6          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 2: btree cursor scan, group fetch = 1, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 3: btree cursor scan, group fetch = 4, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','4');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 4: btree cursor scan, group fetch = 1 (scan table with some deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- After the delete the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+delete from a where a = 2 or a = 4 or a = 6;
+3 rows inserted/updated/deleted
+ij> commit;
+ij> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 5: btree cursor scan, group fetch = 2 (scan with committed deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 6: btree cursor scan, group fetch = 1 (scan with "<" qualifier)
+-- Test "less than" qualified cursor scan on a data set.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a where a < 3';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 7: btree cursor scan, group fetch = 2 (scan with "<" qualifier)
+-- Test "less than" qualified cursor scan on a data set.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a where a < 3';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 8: btree cursor scan, group fetch = 1 (scan with equals qualifier)
+-- Test "equals" qualified cursor scan on a data set.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a where a = 5';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 9: btree cursor scan, group fetch = 2 (scan with equals qualifier)
+-- Test "equals" qualified cursor scan on a data set.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a where a = 5 or a = 7';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 10: btree cursor scan, group fetch = 1 (equals qualifier, no rows return)
+-- Test "equals" qualified cursor scan on a data set, no rows returned.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+-- no rows expected to qualify
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a where a = 42';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> drop table a;
+0 rows inserted/updated/deleted
+ij> -- cursor, non-unique index run
+    drop table a;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'A' because it does not exist.
+ij> -- to create tables of page size 4k and still keep the following tbl 
+    	-- create table a (a int, b int, c varchar(1900));
+    create table a(a int, b int);
+0 rows inserted/updated/deleted
+ij> alter table a add column c varchar(1900);
+0 rows inserted/updated/deleted
+ij> insert into a values (1, 10, 'one');
+1 row inserted/updated/deleted
+ij> insert into a values (2, 20, 'two');
+1 row inserted/updated/deleted
+ij> insert into a values (3, 30, 'three');
+1 row inserted/updated/deleted
+ij> insert into a values (4, 40, 'four');
+1 row inserted/updated/deleted
+ij> insert into a values (5, 50, 'five');
+1 row inserted/updated/deleted
+ij> insert into a values (6, 60, 'six');
+1 row inserted/updated/deleted
+ij> insert into a values (7, 70, 'seven');
+1 row inserted/updated/deleted
+ij> create index a_idx on a (a);
+0 rows inserted/updated/deleted
+ij> commit;
+ij> run resource 'readBtreeCursorLocks.subsql';
+ij> -- Very basic single user testing of read locks on cursors on indexes.
+-- This ".subsql" test is
+-- meant to be run from another test such that it gets run under multiple
+-- isolation levels.  This is important as they behave
+-- differently, depending on isolation levels.
+--
+-- assume's caller has already done: run 'LockTableQuery.subsql'; to get 
+-- easy access to the lock VTI.
+-- TEST  0: btree cursor scan, group fetch = 1
+-- TEST  1: btree cursor scan, group fetch = 2
+-- TEST  2: btree cursor scan, group fetch = 1 stop scan in middle of set
+-- TEST  3: btree cursor scan, group fetch = 4 stop scan in middle of set
+-- TEST  4: btree cursor scan, group fetch = 1 (scan with some deleted rows)
+-- TEST  5: btree cursor scan, group fetch = 2(scan with committed deleted rows)
+-- TEST  6: btree cursor scan, group fetch = 1 (scan with "<" qualifier)
+-- TEST  7: btree cursor scan, group fetch = 2 (scan with "<" qualifier)
+-- TEST  8: btree cursor scan, group fetch = 1 (scan with equals qualifier)
+-- TEST  9: btree cursor scan, group fetch = 2 (scan with equals qualifier)
+-- TEST 10: btree cursor scan, group fetch = 1 ("=" qualifier, no rows return)
+autocommit off;
+ij> --------------------------------------------------------------------------------
+-- Assumes that calling routine has set up the following simple dataset, 
+-- a heap, and index with following initial values:
+--     create table a (a int, b int, c somesortofchar, [index_pad]);
+--     create index a_idx on a (a) or a_idx on a (a, index_pad);
+--
+-- 1, 10, 'one'
+-- 2, 20, 'two'
+-- 3, 30, 'three'
+-- 4, 40, 'four'
+-- 5, 50, 'five'
+-- 6, 60, 'six'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+select * from a;
+A          |B          |C                                                                                                                               
+--------------------------------------------------------------------------------------------------------------------------------------------------------
+1          |10         |one                                                                                                                             
+2          |20         |two                                                                                                                             
+3          |30         |three                                                                                                                           
+4          |40         |four                                                                                                                            
+5          |50         |five                                                                                                                            
+6          |60         |six                                                                                                                             
+7          |70         |seven                                                                                                                           
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 0: btree cursor scan, group fetch = 1
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+-------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+4          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+6          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 1: btree cursor scan, group fetch = 2
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+4          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+6          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 2: btree cursor scan, group fetch = 1, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 3: btree cursor scan, group fetch = 4, stop scan in middle of set
+-- Test full cursor scan which does no updates.
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','4');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+2          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 4: btree cursor scan, group fetch = 1 (scan table with some deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- After the delete the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+delete from a where a = 2 or a = 4 or a = 6;
+3 rows inserted/updated/deleted
+ij> commit;
+ij> CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','1');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+No current row
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> close scan_cursor;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+ij> commit;
+ij> --------------------------------------------------------------------------------
+-- TEST 5: btree cursor scan, group fetch = 2 (scan with committed deleted rows)
+-- Test full cursor scan on a data set with some deleted rows (the "even" ones).
+--    ALL MODES        - TABLE IS, "scan page lockname of form (pageno, 1) 
+--    SERIALIZABLE     - row S locks as it visits each row, held until end xact
+--    REPEATABLE READ  - row S locks as it visits each row, held until end xact
+--    READ COMMITTED   - row S lock on current row, released on move to next row
+--    READ UNCOMMITTED - no row locks.
+--
+-- At this point the base table should look like:
+-- 1, 10, 'one'
+-- 3, 30, 'three'
+-- 5, 50, 'five'
+-- 7, 70, 'seven'
+--------------------------------------------------------------------------------
+CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault','2');
+0 rows inserted/updated/deleted
+ij> -- RESOLVE: missing row locks
+-- WORKAROUND: creating an index and dropping it 
+-- to force the statement to be recompiled
+create index ix1 on a(a);
+0 rows inserted/updated/deleted
+WARNING 01504: The new index is a duplicate of an existing index: A_IDX.
+ij> drop index ix1;
+ERROR 42X65: Index 'IX1' does not exist.
+ij> commit;
+ij> get cursor scan_cursor as
+    'select a from a';
+ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.language.bulkFetchDefault', '16');
+0 rows inserted/updated/deleted
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+1          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+3          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+5          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A           |(1,1)     |GRANT|ACTIVE  
+ij> next scan_cursor;
+A          
+-----------
+7          
+ij> select * from lock_table order by tabname, type desc, mode, cnt, lockname;
+USERNAME|TRANTYPE|TYPE    |CNT |MODE|TABNAME     |LOCKNAME  |STATE|STATUS  
+---------------------------------------------------------------------------
+APP     |UserTran|TABLE   |1   |IS  |A           |Tablelock |GRANT|ACTIVE  
+APP     |UserTran|ROW     |1   |S   |A