Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: [JDBC] extra rowcopy in ResultSet allways needed ?.

From: Gustav Trede <gustav.trede_wsdevel(at)telia.com>
Date: Wed Feb 20 2008 - 04:21:09 EST

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
>
>
>

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);
Do you need help?X
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))

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

               http://www.postgresql.org/docs/faq Received on Wed Feb 20 04:27:05 2008

This archive was generated by hypermail 2.1.8 : Wed Jun 18 2008 - 23:45:02 EDT

Do you need more help?X

Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library