foreach my $bound (@$bind) {
my $col = shift @$bound;
- my $datatype = 'FIXME!!!';
+ $col =~ s/^([^.]*)\.//;
+ my $alias = $1 || 'me';
-# this is what needs to happen:
-# my $datatype = $rsrc->column_info($col)->{data_type};
+ my $datatype = $self->_resolve_ident_sources($ident)->{$alias}
+ ->column_info($col)->{data_type};
foreach my $data (@$bound) {
if(ref $data) {
return $self->next::method(@_) if not defined $value;
-## this is the correct method, but we have no type yet
-# if (my $key = List::Util::first { $type =~ /$_/i } keys %noquote) {
-# return 0 if $noquote{$key}->($value);
-# }
-
-# temporary hack
- return 0 if Scalar::Util::looks_like_number($value) ||
- ($value =~ /^\$(\S*)\z/ && Scalar::Util::looks_like_number($1));
+ if (my $key = List::Util::first { $type =~ /$_/i } keys %noquote) {
+ return 0 if $noquote{$key}->($value);
+ }
return $self->next::method(@_);
}