diff options
author | ivan <ivan> | 1999-04-07 14:58:31 +0000 |
---|---|---|
committer | ivan <ivan> | 1999-04-07 14:58:31 +0000 |
commit | 35efa918b163f10c1bdcc70087653f8be00b3bc5 (patch) | |
tree | fa72484b7b8446924fb6991ed29ef7851634d6be | |
parent | eded85cf29342b0791f4bf18aa79b3e7f46fd999 (diff) |
more kludges to get around different null/empty handling in Perl vs. MySQL vs.
PostgreSQL etc.
-rw-r--r-- | site_perl/Record.pm | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/site_perl/Record.pm b/site_perl/Record.pm index da7ba435d..4634026b8 100644 --- a/site_perl/Record.pm +++ b/site_perl/Record.pm @@ -166,13 +166,17 @@ sub qsearch { ? " WHERE ". join(' AND ', map { $record->{$_} eq '' - ? "( $_ IS NULL OR $_ = \"\" )" + ? ( datasrc =~ m/Pg/ + ? "$_ IS NULL" + : "( $_ IS NULL OR $_ = \"\" )" + ) : "$_ = ". _quote($record->{$_},$table,$_) } @fields ) : '' ); $sth=$dbh->prepare($statement) or croak $dbh->errstr; #is that a little too harsh? hmm. + #warn $statement #if $debug # or some such; if ( eval ' scalar(@FS::'. $table. '::ISA);' ) { map { @@ -384,7 +388,11 @@ sub delete { my($statement)="DELETE FROM ". $self->table. " WHERE ". join(' AND ', map { $self->getfield($_) eq '' - ? "( $_ IS NULL OR $_ = \"\" )" + #? "( $_ IS NULL OR $_ = \"\" )" + ? ( datasrc =~ m/Pg/ + ? "$_ IS NULL" + : "( $_ IS NULL OR $_ = \"\" )" + ) : "$_ = ". _quote($self->getfield($_),$self->table,$_) } ( $self->dbdef_table->primary_key ) ? ( $self->dbdef_table->primary_key) @@ -452,7 +460,11 @@ sub replace { join(' AND ', map { $old->getfield($_) eq '' - ? "( $_ IS NULL OR $_ = \"\" )" + #? "( $_ IS NULL OR $_ = \"\" )" + ? ( datasrc =~ m/Pg/ + ? "$_ IS NULL" + : "( $_ IS NULL OR $_ = \"\" )" + ) : "$_ = ". _quote($old->getfield($_),$old->table,$_) } ( $primary_key ? ( $primary_key ) : $old->fields ) ) @@ -810,7 +822,7 @@ sub hfields { =head1 VERSION -$Id: Record.pm,v 1.13 1999-03-29 11:55:43 ivan Exp $ +$Id: Record.pm,v 1.14 1999-04-07 14:58:31 ivan Exp $ =head1 BUGS @@ -932,7 +944,11 @@ added pod documentation ivan@sisd.com 98-sep-6 ut_phonen got ''; at the end ivan@sisd.com 98-sep-27 $Log: Record.pm,v $ -Revision 1.13 1999-03-29 11:55:43 ivan +Revision 1.14 1999-04-07 14:58:31 ivan +more kludges to get around different null/empty handling in Perl vs. MySQL vs. +PostgreSQL etc. + +Revision 1.13 1999/03/29 11:55:43 ivan eliminate warnings in ut_money Revision 1.12 1999/01/25 12:26:06 ivan |