summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cust_pkg.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 6899fa4cb..de535aadc 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -10,7 +10,7 @@ use List::Util qw(max);
use Tie::IxHash;
use Time::Local qw( timelocal timelocal_nocheck );
use MIME::Entity;
-use FS::UID qw( getotaker dbh );
+use FS::UID qw( getotaker dbh driver_name );
use FS::Misc qw( send_email );
use FS::Record qw( qsearch qsearchs fields );
use FS::CurrentUser;
@@ -3741,10 +3741,12 @@ sub _location_sql_where {
my $or_empty_county = " OR ( ? = '' AND $table.${prefix}county IS NULL )";
my $or_empty_state = " OR ( ? = '' AND $table.${prefix}state IS NULL )";
+ my $text = (driver_name =~ /^mysql/i) ? 'char' : 'text';
+
# ( $table.${prefix}city = ? $or_empty_city $ornull )
"
- ( $table.district = ? OR ? = '' OR CAST(? AS text) IS NULL )
- AND ( $table.${prefix}city = ? OR ? = '' OR CAST(? AS text) IS NULL )
+ ( $table.district = ? OR ? = '' OR CAST(? AS $text) IS NULL )
+ AND ( $table.${prefix}city = ? OR ? = '' OR CAST(? AS $text) IS NULL )
AND ( $table.${prefix}county = ? $or_empty_county $ornull )
AND ( $table.${prefix}state = ? $or_empty_state $ornull )
AND $table.${prefix}country = ?