Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql Interfaces Jdbc > Re: extra rowco...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 1 Topic 1881 of 1997
Post > Topic >>

Re: extra rowcopy in ResultSet allways needed ?.

by gustav.trede_wsdevel@[EMAIL PROTECTED] (Gustav Trede) Feb 20, 2008 at 10:21 AM

This is a multi-part message in MIME format.
--------------070504090906040204090405
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


here is diff from current cvs.
>
>>
>> I will do it for all methods that is not update methods.
>> doing it in one method and then call it.
>>
>> i just attach the new AbstractJdbc2ResultSet.java in an email or ?
>>
>
> A patch would be better.  If you've got cvs checkout, the "cvs diff 
> -c" is what we'd like to see.
>
> Also, please keep replies on the list so other people can read/comment 
> on your emails.
>
> Kris Jurka
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>               http://archives.postgresql.org
>
> __________ Information from ESET NOD32 Antivirus, version of virus 
> signature database 2880 (20080215) __________
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>


--------------070504090906040204090405
Content-Type: text/plain;
 name="abstrresultset.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="abstrresultset.diff"

Index: AbstractJdbc2ResultSet.java
===================================================================
RCS file:
/cvsroot/jdbc/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java,v
retrieving revision 1.102
diff -c -r1.102 AbstractJdbc2ResultSet.java
*** AbstractJdbc2ResultSet.java	19 Feb 2008 06:12:24 -0000	1.102
--- AbstractJdbc2ResultSet.java	20 Feb 2008 08:08:16 -0000
***************
*** 250,259 ****
          }
  
          current_row = internalIndex;
!         this_row = (byte[][]) rows.elementAt(internalIndex);
! 
!         rowBuffer = new byte[this_row.length][];
!         System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length);
          onInsertRow = false;
  
          return true;
--- 250,256 ----
          }
  
          current_row = internalIndex;
!         initRowBuffer();
          onInsertRow = false;
  
          return true;
***************
*** 295,304 ****
              return false;
  
          current_row = 0;
!         this_row = (byte[][]) rows.elementAt(current_row);
! 
!         rowBuffer = new byte[this_row.length][];
!         System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length);
          onInsertRow = false;
  
          return true;
--- 292,298 ----
              return false;
  
          current_row = 0;
!         initRowBuffer();
          onInsertRow = false;
  
          return true;
***************
*** 629,638 ****
              return false;
  
          current_row = rows_size - 1;
!         this_row = (byte[][]) rows.elementAt(current_row);
! 
!         rowBuffer = new byte[this_row.length][];
!         System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length);
          onInsertRow = false;
  
          return true;
--- 623,629 ----
              return false;
  
          current_row = rows_size - 1;
!         initRowBuffer();
          onInsertRow = false;
  
          return true;
***************
*** 658,666 ****
          {
              current_row--;
          }
!         this_row = (byte[][]) rows.elementAt(current_row);
!         rowBuffer = new byte[this_row.length][];
!         System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length);
          return true;
      }
  
--- 649,655 ----
          {
              current_row--;
          }
!         initRowBuffer();
          return true;
      }
  
***************
*** 877,886 ****
          }
          else
          {
!             this_row = (byte[][]) rows.elementAt(current_row);
! 
!             rowBuffer = new byte[this_row.length][];
!             System.arraycopy(this_row, 0, rowBuffer, 0,
this_row.length);
          }
  
          onInsertRow = false;
--- 866,872 ----
          }
          else
          {
!             initRowBuffer();
          }
  
          onInsertRow = false;
***************
*** 1858,1867 ****
              current_row++;
          }
  
!         this_row = (byte [][])rows.elementAt(current_row);
! 
!         rowBuffer = new byte[this_row.length][];
!         System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length);
          return true;
      }
  
--- 1844,1850 ----
              current_row++;
          }
  
!         initRowBuffer();
          return true;
      }
  
***************
*** 2808,2813 ****
--- 2791,2806 ----
          return 0;  // SQL NULL
      }
  
+     private void initRowBuffer(){
+         this_row = (byte[][]) rows.elementAt(current_row);
+         if (resultsetconcurrency == ResultSet.CONCUR_UPDATABLE) {
+             rowBuffer = new byte[this_row.length][];
+             System.arraycopy(this_row, 0, rowBuffer, 0,
this_row.length);
+         }else{
+             rowBuffer = this_row;
+         }        
+     }
+     
      private boolean isColumnTrimmable(int columnIndex) throws
SQLException
      {
          switch (getSQLType(columnIndex))

--------------070504090906040204090405
Content-Type: text/plain
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

--------------070504090906040204090405--
 




 1 Posts in Topic:
Re: extra rowcopy in ResultSet allways needed ?.
gustav.trede_wsdevel@[EMA  2008-02-20 10:21:09 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan13V112 Thu Jul 24 2:00:03 CDT 2008.