From 356db8bf3c2d707f4987ca3e5f14b3b4662775ff Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 14 Apr 2008 13:42:25 +0000 Subject: [PATCH] Improve record searching --- FS/FS/Record.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index db940034d..d010f860b 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -298,6 +298,14 @@ sub qsearch { && dbdef->table($table)->column($field)->type =~ /(int|(big)?serial)/i ) { $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_INTEGER } ); + }elsif ( $record->{$field} =~ /^[+-]?\d+(\.\d+)?$/ + && dbdef->table($table)->column($field)->type =~ /(numeric)/i + ) { + $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_FLOAT } ); + }elsif ( $record->{$field} =~ /[-+]?\d*\.?\d+([eE][-+]?\d+)?/ + && dbdef->table($table)->column($field)->type =~ /(float4)/i + ) { + $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_FLOAT } ); } else { $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_VARCHAR } ); } -- 2.11.0