$statement .= ' WHERE '. join(' AND ', map {
if ( ! defined( $record->{$_} ) || $record->{$_} eq '' ) {
if ( driver_name =~ /^Pg$/i ) {
- "$_ IS NULL";
+ qq-( $_ IS NULL OR $_ = '' )-;
} else {
qq-( $_ IS NULL OR $_ = "" )-;
}
if ( $record->{$field} =~ /^\d+(\.\d+)?$/
&& $dbdef->table($table)->column($field)->type =~ /(int)/i
) {
- $sth->bind_param($bind++, $record->{$field}, SQL_INTEGER );
+ $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_INTEGER } );
} else {
- $sth->bind_param($bind++, $record->{$field}, SQL_VARCHAR );
+ $sth->bind_param($bind++, $record->{$field}, { TYPE => SQL_VARCHAR } );
}
}