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()
|
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()
|
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()
|
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
|
// Fastpath/LargeObject
|
||||||
suite.addTestSuite(BlobTest.class);
|
suite.addTestSuite(BlobTest.class);
|
||||||
|
suite.addTestSuite( UpdateableResultTest.class );
|
||||||
|
|
||||||
// That's all folks
|
// That's all folks
|
||||||
return suite;
|
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…
x
Reference in New Issue
Block a user