general Pg 7.3 fix for setting int columns to '' / NULL freeside_1_4_1rc2
authorivan <ivan>
Thu, 8 May 2003 09:34:43 +0000 (09:34 +0000)
committerivan <ivan>
Thu, 8 May 2003 09:34:43 +0000 (09:34 +0000)
FS/FS/Record.pm
Makefile

index d783870..5cf77d3 100644 (file)
@@ -1167,15 +1167,23 @@ type (see L<DBIx::DBSchema::Column>) does not end in `char' or `binary'.
 =cut
 
 sub _quote {
-  my($value,$table,$field)=@_;
-  my($dbh)=dbh;
-  if ( $value =~ /^\d+(\.\d+)?$/ && 
-#       ! ( datatype($table,$field) =~ /^char/ ) 
-       ! $dbdef->table($table)->column($field)->type =~ /(char|binary|text)$/i 
-  ) {
+  my($value, $table, $column) = @_;
+  my $column_obj = $dbdef->table($table)->column($column);
+  my $column_type = $column_obj->type;
+
+  if ( $value eq '' && $column_type =~ /^int/ ) {
+    if ( $column_obj->null ) {
+      'NULL';
+    } else {
+      cluck "WARNING: Attempting to set non-null integer $table.$column null; ".
+            "using 0 instead";
+      0;
+    }
+  } elsif ( $value =~ /^\d+(\.\d+)?$/ && 
+            ! $column_type =~ /(char|binary|text)$/i ) {
     $value;
   } else {
-    $dbh->quote($value);
+    dbh->quote($value);
   }
 }
 
index dfd3c06..c48f5e9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -45,8 +45,8 @@ SELFSERVICE_MACHINE = localhost
 #not changable yet
 FREESIDE_CONF = /usr/local/etc/freeside
 
-VERSION=1.4.1rc1
-TAG=freeside_1_4_1rc1
+VERSION=1.4.1rc2
+TAG=freeside_1_4_1rc2
 
 help:
        @echo "supported targets: aspdocs masondocs alldocs docs install-docs"