Added test for newly implemented updateable result sets
This commit is contained in:
parent
603c46d8ce
commit
5598cbf641
@ -16,7 +16,8 @@ public class JDBC2Tests extends TestSuite
|
||||
*/
|
||||
public static String getURL()
|
||||
{
|
||||
return System.getProperty("database");
|
||||
//return System.getProperty("database");
|
||||
return "test";
|
||||
}
|
||||
|
||||
/*
|
||||
@ -24,7 +25,8 @@ public class JDBC2Tests extends TestSuite
|
||||
*/
|
||||
public static String getUser()
|
||||
{
|
||||
return System.getProperty("username");
|
||||
return "davec";
|
||||
//return System.getProperty("username");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -32,7 +34,8 @@ public class JDBC2Tests extends TestSuite
|
||||
*/
|
||||
public static String getPassword()
|
||||
{
|
||||
return System.getProperty("password");
|
||||
return null;
|
||||
//return System.getProperty("password");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -226,6 +229,7 @@ public class JDBC2Tests extends TestSuite
|
||||
|
||||
// Fastpath/LargeObject
|
||||
suite.addTestSuite(BlobTest.class);
|
||||
suite.addTestSuite( UpdateableResultTest.class );
|
||||
|
||||
// That's all folks
|
||||
return suite;
|
||||
|
@ -0,0 +1,135 @@
|
||||
package org.postgresql.test.jdbc2;
|
||||
|
||||
import java.sql.*;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.postgresql.test.JDBC2Tests;
|
||||
/**
|
||||
* <p>Title: </p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2001</p>
|
||||
* <p>Company: </p>
|
||||
* @author unascribed
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class UpdateableResultTest extends TestCase
|
||||
{
|
||||
|
||||
public UpdateableResultTest( String name )
|
||||
{
|
||||
super( name );
|
||||
}
|
||||
|
||||
public void testUpdateable()
|
||||
{
|
||||
try
|
||||
{
|
||||
Connection con = JDBC2Tests.openDB();
|
||||
JDBC2Tests.createTable(con, "updateable","id int primary key, name text, notselected text");
|
||||
JDBC2Tests.createTable(con, "second","id1 int primary key, name1 text");
|
||||
|
||||
Statement st1 = con.createStatement();
|
||||
boolean retVal = st1.execute( "insert into updateable ( id, name, notselected ) values (1, 'jake', 'avalue')" );
|
||||
assert( retVal== false );
|
||||
|
||||
retVal = st1.execute( "insert into second (id1, name1) values (1, 'jake')" );
|
||||
assertTrue( !retVal );
|
||||
st1.close();
|
||||
|
||||
Statement st = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
|
||||
ResultSet rs = st.executeQuery( "select id, name, notselected from updateable" );
|
||||
|
||||
assertNotNull(rs);
|
||||
|
||||
while (rs.next())
|
||||
{
|
||||
rs.updateInt( "id",2 );
|
||||
rs.updateString( "name","dave" );
|
||||
rs.updateRow();
|
||||
assertTrue( rs.getInt("id") == 2 );
|
||||
assertTrue( rs.getString("name").equals("dave"));
|
||||
assertTrue( rs.getString("notselected").equals("avalue") );
|
||||
|
||||
rs.deleteRow();
|
||||
rs.moveToInsertRow();
|
||||
rs.updateInt("id",3);
|
||||
rs.updateString("name", "paul");
|
||||
|
||||
rs.insertRow();
|
||||
|
||||
assertTrue( rs.getInt("id") == 3 );
|
||||
assertTrue( rs.getString("name").equals("paul"));
|
||||
assertTrue( rs.getString("notselected") == null );
|
||||
|
||||
}
|
||||
|
||||
rs.close();
|
||||
|
||||
rs = st.executeQuery("select id1, id, name, name1 from updateable, second" );
|
||||
try
|
||||
{
|
||||
while( rs.next() )
|
||||
{
|
||||
rs.updateInt( "id",2 );
|
||||
rs.updateString( "name","dave" );
|
||||
rs.updateRow();
|
||||
}
|
||||
|
||||
|
||||
assertTrue( "should not get here, update should fail", false );
|
||||
}
|
||||
catch (SQLException ex){}
|
||||
|
||||
try
|
||||
{
|
||||
rs = st.executeQuery("select oid,* from updateable");
|
||||
if ( rs.first() )
|
||||
{
|
||||
rs.updateInt( "id", 3 );
|
||||
rs.updateString( "name", "dave3");
|
||||
rs.updateRow();
|
||||
assertTrue(rs.getInt("id") == 3 );
|
||||
assertTrue(rs.getString("name").equals("dave3"));
|
||||
|
||||
rs.moveToInsertRow();
|
||||
rs.updateInt( "id", 4 );
|
||||
rs.updateString( "name", "dave4" );
|
||||
|
||||
rs.insertRow();
|
||||
rs.updateInt("id", 5 );
|
||||
rs.updateString( "name", "dave5" );
|
||||
rs.insertRow();
|
||||
|
||||
rs.moveToCurrentRow();
|
||||
assertTrue(rs.getInt("id") == 3 );
|
||||
assertTrue(rs.getString("name").equals("dave3"));
|
||||
|
||||
assertTrue( rs.next() );
|
||||
assertTrue(rs.getInt("id") == 4 );
|
||||
assertTrue(rs.getString("name").equals("dave4"));
|
||||
|
||||
assertTrue( rs.next() );
|
||||
assertTrue(rs.getInt("id") == 5 );
|
||||
assertTrue(rs.getString("name").equals("dave5"));
|
||||
|
||||
}
|
||||
}
|
||||
catch(SQLException ex)
|
||||
{
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
|
||||
st.close();
|
||||
|
||||
JDBC2Tests.dropTable( con,"updateable" );
|
||||
JDBC2Tests.closeDB( con );
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user