X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FRecord.pm;h=14dfca2cb72f272e1bdb2321236e4ee775ff551c;hb=60d630b2052d208f9f8adb8a28706c731f366bc2;hp=43726411266252f41b5f2bfdfcd14cad4166f240;hpb=39e40f004fb217f825f695276d7a1b5a29a821d8;p=freeside.git diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 437264112..14dfca2cb 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -230,7 +230,8 @@ sub qsearch { if ( ! defined( $record->{$_} ) || $record->{$_} eq '' ) { if ( $op eq '=' ) { if ( driver_name eq 'Pg' ) { - if ( $dbdef->table($table)->column($column)->type =~ /(int)/i ) { + my $type = $dbdef->table($table)->column($column)->type; + if ( $type =~ /(int|serial)/i ) { qq-( $column IS NULL )-; } else { qq-( $column IS NULL OR $column = '' )-; @@ -310,7 +311,7 @@ sub qsearch { grep defined( $record->{$_} ) && $record->{$_} ne '', @real_fields ) { if ( $record->{$field} =~ /^\d+(\.\d+)?$/ - && $dbdef->table($table)->column($field)->type =~ /(int)/i + && $dbdef->table($table)->column($field)->type =~ /(int|serial)/i ) { $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_INTEGER } ); } else {