[Rt-commit] r2042 - in DBIx-SearchBuilder/trunk: . SearchBuilder SearchBuilder/Handle

jesse at bestpractical.com jesse at bestpractical.com
Wed Jan 5 00:36:24 EST 2005


Author: jesse
Date: Wed Jan  5 00:36:23 2005
New Revision: 2042

Modified:
   DBIx-SearchBuilder/trunk/   (props changed)
   DBIx-SearchBuilder/trunk/Changes
   DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Oracle.pm
   DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
Log:
 r2541 at hualien:  jesse | 2005-01-05T05:34:21.408160Z
     - Properly mark BLOB columns in UPDATE calls. (DBD::Oracle 1.16 broke without this)
 
 


Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes	(original)
+++ DBIx-SearchBuilder/trunk/Changes	Wed Jan  5 00:36:23 2005
@@ -1,5 +1,8 @@
 Revision history for Perl extension DBIx::SearchBuilder.
 
+1.17_03
+    - Properly mark BLOB columns in UPDATE calls. (DBD::Oracle 1.16 broke without this)
+
 1.17_02
     - Better handling of empty values for SB::Record::_Accessible. ( --Ruslan)
 

Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Oracle.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Oracle.pm	(original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Handle/Oracle.pm	Wed Jan  5 00:36:23 2005
@@ -191,7 +191,8 @@
     my $field = shift;
     #my $type = shift;
     # Don't assign to key 'value' as it is defined later.
-    return ( { ora_field => $field, ora_type => ORA_CLOB });    
+    return ( { ora_field => $field, ora_type => ORA_CLOB,
+});    
 }
 
 # }}}

Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm	(original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record.pm	Wed Jan  5 00:36:23 2005
@@ -740,6 +740,18 @@
     $args{'Table'}       = $self->Table();
     $args{'PrimaryKeys'} = { $self->PrimaryKeys() };
 
+    unless ( $self->_Handle->KnowsBLOBs ) {
+        # Support for databases which don't deal with LOBs automatically
+        my $ca = $self->_ClassAccessible();
+        my $key = $args{'Column'};
+            if ( $ca->{$key}->{'type'} =~ /^(text|longtext|clob|blob|lob)$/i ) {
+                my $bhash = $self->_Handle->BLOBParams( $key, $ca->{$key}->{'type'} );
+                $bhash->{'value'} = $args{'Value'};
+                $args{'Value'} = $bhash;
+            }
+        }
+
+
     my $val = $self->_Handle->UpdateRecordValue(%args);
     unless ($val) {
         my $message = 
@@ -1143,7 +1155,6 @@
         }
     }
     unless ( $self->_Handle->KnowsBLOBs ) {
-
         # Support for databases which don't deal with LOBs automatically
         my $ca = $self->_ClassAccessible();
         foreach $key ( keys %attribs ) {


More information about the Rt-commit mailing list