From: Roman R. <rro...@us...> - 2003-06-28 20:11:10
|
Update of /cvsroot/firebird/client-java/src/test/org/firebirdsql/jdbc In directory sc8-pr-cvs1:/tmp/cvs-serv15690 Modified Files: TestFBBlobParams.java Log Message: added two test cases that fail Index: TestFBBlobParams.java =================================================================== RCS file: /cvsroot/firebird/client-java/src/test/org/firebirdsql/jdbc/TestFBBlobParams.java,v retrieving revision 1.3 retrieving revision 1.4 diff -b -U3 -r1.3 -r1.4 --- TestFBBlobParams.java 5 Jun 2003 23:40:46 -0000 1.3 +++ TestFBBlobParams.java 28 Jun 2003 20:11:07 -0000 1.4 @@ -101,4 +101,89 @@ connection.close(); } } + + /** + * Test case that reproduces problem when using UPPER function with text + * Blobs. + * + * @throws java.lang.Exception if something went wrong. + */ + public void testUpperAndBlobParam() throws Exception { + Connection connection = DriverManager.getConnection(DB_DRIVER_URL, DB_INFO); + connection.setAutoCommit(false); + + try { + + Statement stmt = connection.createStatement(); + try { + stmt.execute("INSERT INTO ClassMap(oid, classname) VALUES (1, 'test')"); + } finally { + stmt.close(); + } + + connection.commit(); + + PreparedStatement ps = connection.prepareStatement( + "SELECT oid FROM ClassMap WHERE UPPER(classname) LIKE ?" + ); + + try { + ps.setString(1, "TEST"); + + ResultSet rs = ps.executeQuery(); + assertTrue("Should find at least one row.", rs.next()); + assertTrue("OID value should be correct.", + "1".equals(rs.getString(1))); + assertTrue("Only one row should be selected", !rs.next()); + } finally { + ps.close(); + } + + } finally { + connection.close(); + } + } + + /** + * Test case that reproduces problem when using equal sign with text + * Blobs. + * + * @throws java.lang.Exception if something went wrong. + */ + public void testEqualityInBlobParam() throws Exception { + Connection connection = DriverManager.getConnection(DB_DRIVER_URL, DB_INFO); + connection.setAutoCommit(false); + + try { + + Statement stmt = connection.createStatement(); + try { + stmt.execute("INSERT INTO ClassMap(oid, classname) VALUES (1, 'test')"); + } finally { + stmt.close(); + } + + connection.commit(); + + PreparedStatement ps = connection.prepareStatement( + "SELECT oid FROM ClassMap WHERE classname = ?" + ); + + try { + ps.setString(1, "test"); + + ResultSet rs = ps.executeQuery(); + assertTrue("Should find at least one row.", rs.next()); + assertTrue("OID value should be correct.", + "1".equals(rs.getString(1))); + assertTrue("Only one row should be selected", !rs.next()); + } finally { + ps.close(); + } + + } finally { + connection.close(); + } + } + } |