mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
This concludes my changes that restructured the code to support JDBC3. The jdbc unit tests were also resturctured to allow different tests between jdbc2 and jdbc3, although currently make check (aka ant test) for JDBC3 just runs the JDBC2 tests. Of special note the largeobject/PGblob and PGclob classes have been moved under the jdbc2/jdbc3 specific directories as they now differ by jdbc version. Also note that this checkin removes the PostgresqlDataSource and files in the xa directory. A recent checkin has added new datasource support that replaces the functionality provided by these classes. Modified Files: jdbc/build.xml jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc2/Array.java jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java jdbc/org/postgresql/jdbc2/Jdbc2Connection.java jdbc/org/postgresql/jdbc2/Jdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2Statement.java jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java jdbc/org/postgresql/test/jdbc2/BlobTest.java jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java jdbc/org/postgresql/test/jdbc2/ConnectionTest.java jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java jdbc/org/postgresql/test/jdbc2/DateTest.java jdbc/org/postgresql/test/jdbc2/DriverTest.java jdbc/org/postgresql/test/jdbc2/JBuilderTest.java jdbc/org/postgresql/test/jdbc2/MiscTest.java jdbc/org/postgresql/test/jdbc2/ResultSetTest.java jdbc/org/postgresql/test/jdbc2/TimeTest.java jdbc/org/postgresql/test/jdbc2/TimestampTest.java jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java Added Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java jdbc/org/postgresql/jdbc2/Jdbc2Blob.java jdbc/org/postgresql/jdbc2/Jdbc2Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java jdbc/org/postgresql/jdbc3/Jdbc3Blob.java jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java jdbc/org/postgresql/jdbc3/Jdbc3Clob.java jdbc/org/postgresql/jdbc3/Jdbc3Connection.java jdbc/org/postgresql/jdbc3/Jdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3Statement.java jdbc/org/postgresql/test/TestUtil.java jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java Removed Files: jdbc/org/postgresql/PostgresqlDataSource.java jdbc/org/postgresql/largeobject/PGblob.java jdbc/org/postgresql/largeobject/PGclob.java jdbc/org/postgresql/test/JDBC2Tests.java jdbc/org/postgresql/xa/ClientConnection.java jdbc/org/postgresql/xa/TwoPhaseConnection.java jdbc/org/postgresql/xa/TxConnection.java jdbc/org/postgresql/xa/XAConnectionImpl.java jdbc/org/postgresql/xa/XADataSourceImpl.java
123 lines
2.4 KiB
Java
123 lines
2.4 KiB
Java
package org.postgresql.test.jdbc2;
|
|
|
|
import org.postgresql.test.TestUtil;
|
|
import junit.framework.TestCase;
|
|
import java.sql.*;
|
|
|
|
/*
|
|
* $Id: TimeTest.java,v 1.5 2002/08/14 20:35:40 barry Exp $
|
|
*
|
|
* Some simple tests based on problems reported by users. Hopefully these will
|
|
* help prevent previous problems from re-occuring ;-)
|
|
*
|
|
*/
|
|
public class TimeTest extends TestCase
|
|
{
|
|
|
|
private Connection con;
|
|
|
|
public TimeTest(String name)
|
|
{
|
|
super(name);
|
|
}
|
|
|
|
protected void setUp() throws Exception
|
|
{
|
|
con = TestUtil.openDB();
|
|
TestUtil.createTable(con, "testtime", "tm time");
|
|
}
|
|
|
|
protected void tearDown() throws Exception
|
|
{
|
|
TestUtil.dropTable(con, "testtime");
|
|
TestUtil.closeDB(con);
|
|
}
|
|
|
|
/*
|
|
* Tests the time methods in ResultSet
|
|
*/
|
|
public void testGetTime()
|
|
{
|
|
try
|
|
{
|
|
Statement stmt = con.createStatement();
|
|
|
|
assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testtime", "'01:02:03'")));
|
|
assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testtime", "'23:59:59'")));
|
|
|
|
// Fall through helper
|
|
timeTest();
|
|
|
|
assertEquals(2, stmt.executeUpdate("DELETE FROM testtime"));
|
|
stmt.close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
fail(ex.getMessage());
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Tests the time methods in PreparedStatement
|
|
*/
|
|
public void testSetTime()
|
|
{
|
|
try
|
|
{
|
|
PreparedStatement ps = con.prepareStatement(TestUtil.insertSQL("testtime", "?"));
|
|
Statement stmt = con.createStatement();
|
|
|
|
ps.setTime(1, makeTime(1, 2, 3));
|
|
assertEquals(1, ps.executeUpdate());
|
|
|
|
ps.setTime(1, makeTime(23, 59, 59));
|
|
assertEquals(1, ps.executeUpdate());
|
|
|
|
// Fall through helper
|
|
timeTest();
|
|
|
|
assertEquals(2, stmt.executeUpdate("DELETE FROM testtime"));
|
|
stmt.close();
|
|
ps.close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
fail(ex.getMessage());
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Helper for the TimeTests. It tests what should be in the db
|
|
*/
|
|
private void timeTest() throws SQLException
|
|
{
|
|
Statement st = con.createStatement();
|
|
ResultSet rs;
|
|
java.sql.Time t;
|
|
|
|
rs = st.executeQuery(TestUtil.selectSQL("testtime", "tm"));
|
|
assertNotNull(rs);
|
|
|
|
assertTrue(rs.next());
|
|
t = rs.getTime(1);
|
|
assertNotNull(t);
|
|
assertEquals(makeTime(1, 2, 3), t);
|
|
|
|
assertTrue(rs.next());
|
|
t = rs.getTime(1);
|
|
assertNotNull(t);
|
|
assertEquals(makeTime(23, 59, 59), t);
|
|
|
|
assertTrue(! rs.next());
|
|
|
|
rs.close();
|
|
}
|
|
|
|
private java.sql.Time makeTime(int h, int m, int s)
|
|
{
|
|
return java.sql.Time.valueOf(TestUtil.fix(h, 2) + ":" +
|
|
TestUtil.fix(m, 2) + ":" +
|
|
TestUtil.fix(s, 2));
|
|
}
|
|
}
|