Skip site navigation (1) Skip section navigation (2)

Re: [PATCHES] Patch for jdbc2 ResultSet.java

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Joseph Shraibman <jks(at)selectacast(dot)net>
Cc: Barry Lind <barry(at)xythos(dot)com>, pgsql-patches(at)postgresql(dot)org, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [PATCHES] Patch for jdbc2 ResultSet.java
Date: 2001-09-07 22:14:57
Message-ID: 200109072214.f87MEvJ01807@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-jdbcpgsql-patches
Patch applied.  Thanks.

The patch did not apply so I had to merge it in manually.  Patch
attached.  I have review the diff I made vs. your.

> 
> 
> Barry Lind wrote:
> > Joseph,
> > 
> > In looking at this patch it looks OK, except for the following change:
> > 
> >  > !         if (index>=-rows.size())
> >  > --- 725,737 ----
> >  > !         if (index > rows_size)
> > 
> > I haven't looked at the entire method, but the change you made seems 
> > incorrect.
> > 
> Oops!  Thanks for catching that.  Cut and paste error.  I hate those.
> 
> > If you want this patch to be applied it should be sent to the 
> > pgsql-patches mail list.
> 
> 
> I thought that jdbc stuff was preferred to be on the jdbc list.  I guess not.
> 
> new patch:
> 
> 
> *** ResultSet.java.orig	Tue Sep  4 16:34:14 2001
> --- ResultSet.java	Wed Sep  5 15:35:59 2001
> ***************
> *** 134,140 ****
>      {
>        //release resources held (memory for tuples)
>        if(rows!=null) {
> -       rows.setSize(0);
>          rows=null;
>        }
>      }
> --- 134,139 ----
> ***************
> *** 709,716 ****
>      public int findColumn(String columnName) throws SQLException
>      {
>        int i;
> !
> !     for (i = 0 ; i < fields.length; ++i)
>          if (fields[i].getName().equalsIgnoreCase(columnName))
>    	return (i+1);
>        throw new PSQLException ("postgresql.res.colname",columnName);
> --- 708,715 ----
>      public int findColumn(String columnName) throws SQLException
>      {
>        int i;
> !     final int flen = fields.length;
> !     for (i = 0 ; i < flen; ++i)
>          if (fields[i].getName().equalsIgnoreCase(columnName))
>    	return (i+1);
>        throw new PSQLException ("postgresql.res.colname",columnName);
> ***************
> *** 726,736 ****
>    	if (index==0)
>    	    throw new SQLException("Cannot move to index of 0");
> 
>    	//if index<0, count from the end of the result set, but check
>    	//to be sure that it is not beyond the first index
>    	if (index<0)
> ! 	    if (index>=-rows.size())
> ! 		internalIndex=rows.size()+index;
>    	    else {
>    		beforeFirst();
>    		return false;
> --- 725,737 ----
>    	if (index==0)
>    	    throw new SQLException("Cannot move to index of 0");
> 
> + 	final int rows_size = rows.size();
> +
>    	//if index<0, count from the end of the result set, but check
>    	//to be sure that it is not beyond the first index
>    	if (index<0)
> ! 	    if (index > -rows_size)
> ! 		internalIndex = rows_size+index;
>    	    else {
>    		beforeFirst();
>    		return false;
> ***************
> *** 739,745 ****
>    	//must be the case that index>0,
>    	//find the correct place, assuming that
>    	//the index is not too large
> ! 	if (index<=rows.size())
>    	    internalIndex = index-1;
>    	else {
>    	    afterLast();
> --- 740,746 ----
>    	//must be the case that index>0,
>    	//find the correct place, assuming that
>    	//the index is not too large
> ! 	if (index <= rows_size)
>    	    internalIndex = index-1;
>    	else {
>    	    afterLast();
> ***************
> *** 753,760 ****
> 
>        public void afterLast() throws SQLException
>        {
> ! 	if (rows.size() > 0)
> ! 		current_row = rows.size();
>        }
> 
>        public void beforeFirst() throws SQLException
> --- 754,762 ----
> 
>        public void afterLast() throws SQLException
>        {
> ! 	final int rows_size = rows.size();
> ! 	if (rows_size > 0)
> ! 		current_row = rows_size;
>        }
> 
>        public void beforeFirst() throws SQLException
> ***************
> *** 967,973 ****
> 
>        public boolean isAfterLast() throws SQLException
>        {
> ! 	return (current_row >= rows.size()  && rows.size() > 0);
>        }
> 
>        public boolean isBeforeFirst() throws SQLException
> --- 969,976 ----
> 
>        public boolean isAfterLast() throws SQLException
>        {
> ! 	final int rows_size = rows.size();
> ! 	return (current_row >= rows_size && rows_size > 0);
>        }
> 
>        public boolean isBeforeFirst() throws SQLException
> ***************
> *** 982,995 ****
> 
>        public boolean isLast() throws SQLException
>        {
> ! 	return (current_row == rows.size() -1  && rows.size() > 0);
>        }
> 
>        public boolean last() throws SQLException
>        {
> ! 	if (rows.size() <= 0)
>    	    return false;
> ! 	current_row = rows.size() - 1;
>    	this_row = (byte [][])rows.elementAt(current_row);
>    	return true;
>        }
> --- 985,1000 ----
> 
>        public boolean isLast() throws SQLException
>        {
> ! 	final int rows_size = rows.size();
> ! 	return (current_row == rows_size -1  && rows_size > 0);
>        }
> 
>        public boolean last() throws SQLException
>        {
> ! 	final int rows_size = rows.size();
> ! 	if (rows_size <= 0)
>    	    return false;
> ! 	current_row = rows_size - 1;
>    	this_row = (byte [][])rows.elementAt(current_row);
>    	return true;
>        }
> ***************
> *** 1480,1483 ****
>    		}
>    	}
>    }
> -
> --- 1485,1487 ----
> 
> 
> 
> 
> 
> 
> 
> -- 
> Joseph Shraibman
> jks(at)selectacast(dot)net
> Increase signal to noise ratio.  http://www.targabot.com
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

pgsql-patches by date

Next:From: Bruce MomjianDate: 2001-09-07 22:17:01
Subject: Re: Read transactions don't work on 7.0.x db's 3rd attempt
Previous:From: Bruce MomjianDate: 2001-09-07 21:57:51
Subject: Re: ADD CONSTRAINT UNIQUE patch

pgsql-jdbc by date

Next:From: Bruce MomjianDate: 2001-09-07 22:17:01
Subject: Re: Read transactions don't work on 7.0.x db's 3rd attempt
Previous:From: Bruce MomjianDate: 2001-09-07 21:46:10
Subject: Re: PostgreSQL/JDBC Test Suite Howto

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group