summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2003-11-04 10:57:05 +0000
committerivan <ivan>2003-11-04 10:57:05 +0000
commit3f0c721ee27ead3504df80addd947057e4fc4c14 (patch)
tree500d62806ca12bf28e23cb4bc3d5adb27a9aca2d
parent39e40f004fb217f825f695276d7a1b5a29a821d8 (diff)
finish treating serials as ints!
-rw-r--r--FS/FS/Record.pm5
1 files changed, 3 insertions, 2 deletions
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 {