X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI.pm;h=4e2d2b9f30a0edfd894b42641d596727bc1d6d5e;hb=4376a1574bc5b25f4b9160e8fc3ce329ae226e0f;hp=494161dd4516a2ca4b1f19c53d53a105011bb1bd;hpb=bf51641f97a504ae9796fcc45da4e409c6466ca4;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI.pm b/lib/DBIx/Class/Storage/DBI.pm index 494161d..4e2d2b9 100644 --- a/lib/DBIx/Class/Storage/DBI.pm +++ b/lib/DBIx/Class/Storage/DBI.pm @@ -2025,7 +2025,7 @@ sub _select_args { from => $ident, where => $where, $rs_alias && $alias2source->{$rs_alias} - ? ( _rsroot_source_handle => $alias2source->{$rs_alias}->handle ) + ? ( _rsroot_rsrc => $alias2source->{$rs_alias} ) : () , }; @@ -2087,9 +2087,7 @@ sub _select_args { && @{$attrs->{group_by}} && - $attrs->{_prefetch_select} - && - @{$attrs->{_prefetch_select}} + $attrs->{_prefetch_selector_range} ) ) { ($ident, $select, $where, $attrs) @@ -2822,11 +2820,7 @@ sub _max_column_bytesize { $max_size = $inf->{size} * 4 if $inf->{size}; } # Blob types - elsif ($data_type =~ /(?:blob|clob|bfile|text|image|bytea)/ - || $data_type =~ /^long(?:\s*(?:raw|bit\s*varying|varbit|binary - |varchar|character\s*varying|nvarchar - |national\s*character\s*varying))?$/ - ) { + elsif ($self->_is_lob_type($data_type)) { # default to longreadlen } else { @@ -2838,6 +2832,15 @@ sub _max_column_bytesize { }; } +# Determine if a data_type is some type of BLOB +sub _is_lob_type { + my ($self, $data_type) = @_; + $data_type && ($data_type =~ /(?:lob|bfile|text|image|bytea|memo)/i + || $data_type =~ /^long(?:\s*(?:raw|bit\s*varying|varbit|binary + |varchar|character\s*varying|nvarchar + |national\s*character\s*varying))?$/xi); +} + 1; =head1 USAGE NOTES