1515import org .postgresql .util .PSQLException ;
1616
1717
18- /* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/Attic/AbstractJdbc2ResultSet.java,v 1.13 2003/02/04 09:20:10 barry Exp $
18+ /* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/Attic/AbstractJdbc2ResultSet.java,v 1.14 2003/02/27 05:56:27 barry Exp $
1919 * This class defines methods of the jdbc2 specification. This class extends
2020 * org.postgresql.jdbc1.AbstractJdbc1ResultSet which provides the jdbc1
2121 * methods. The real Statement class (for jdbc2) is org.postgresql.jdbc2.Jdbc2ResultSet
@@ -1261,22 +1261,6 @@ public synchronized void updateObject(String columnName, Object x)
12611261}
12621262
12631263
1264- private int _findColumn (String columnName )
1265- {
1266- int i ;
1267-
1268- final int flen =fields .length ;
1269- for (i =0 ;i <flen ; ++i )
1270- {
1271- if (fields [i ].getName ().equalsIgnoreCase (columnName ))
1272- {
1273- return (i +1 );
1274- }
1275- }
1276- return -1 ;
1277- }
1278-
1279-
12801264/**
12811265 * Is this ResultSet updateable?
12821266 */
@@ -1313,12 +1297,18 @@ boolean isUpdateable() throws SQLException
13131297
13141298
13151299usingOID =false ;
1316- int oidIndex =_findColumn ("oid" );
1300+ int oidIndex =0 ;
1301+ try {
1302+ oidIndex =findColumn ("oid" );
1303+ }catch (SQLException l_se ) {
1304+ //Ignore if column oid isn't selected
1305+ }
13171306int i =0 ;
13181307
13191308
13201309// if we find the oid then just use it
13211310
1311+ //oidIndex will be >0 if the oid was in the select list
13221312if (oidIndex >0 )
13231313{
13241314i ++;
@@ -1343,7 +1333,6 @@ boolean isUpdateable() throws SQLException
13431333for (;rs .next ();i ++ )
13441334{
13451335String columnName =rs .getString (4 );// get the columnName
1346-
13471336int index =findColumn (columnName );
13481337
13491338if (index >0 )
@@ -1413,7 +1402,7 @@ private void updateRowBuffer() throws SQLException
14131402while (columns .hasMoreElements () )
14141403{
14151404String columnName = (String )columns .nextElement ();
1416- int columnIndex =_findColumn (columnName ) -1 ;
1405+ int columnIndex =findColumn (columnName ) -1 ;
14171406
14181407Object valueObject =updateValues .get (columnName );
14191408if (valueObject instanceof NullObject ) {