X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FAbstract.pm;h=c88d0c2708dd56380d087fcfe4b8960425b4397b;hb=20e178a84a647f5ae98a16a7358496c6dc86caf0;hp=0c3f11c03f5fd4bf8df85de1c5f4d4897003aac6;hpb=d0ecdb28a6c6ba2112bf49e3fa687ee989353a9f;p=dbsrgits%2FSQL-Abstract.git diff --git a/lib/SQL/Abstract.pm b/lib/SQL/Abstract.pm index 0c3f11c..c88d0c2 100644 --- a/lib/SQL/Abstract.pm +++ b/lib/SQL/Abstract.pm @@ -84,12 +84,12 @@ sub is_literal_value ($) { # FIXME XSify - this can be done so much more efficiently sub is_plain_value ($) { no strict 'refs'; - ! length ref $_[0] ? [ $_[0] ] + ! length ref $_[0] ? \($_[0]) : ( ref $_[0] eq 'HASH' and keys %{$_[0]} == 1 and exists $_[0]->{-value} - ) ? [ $_[0]->{-value} ] + ) ? \($_[0]->{-value}) : ( # reuse @_ for even moar speedz defined ( $_[1] = Scalar::Util::blessed $_[0] ) @@ -98,8 +98,6 @@ sub is_plain_value ($) { # intersted in are much more limited than the fullblown thing, and # this is a very hot piece of code ( - # FIXME - DBI needs fixing to stringify regardless of DBD - # # simply using ->can('(""') can leave behind stub methods that # break actually using the overload later (see L, on sucess returns a reference to a single -element array containing the string-version of the supplied argument or -C<[ undef ]> in case of an undefined initial argument. +On failure returns C, on sucess returns a B reference +to the original supplied argument. =head2 is_literal_value @@ -2167,8 +2168,8 @@ module: =back -On failure returns C, on sucess returns a reference to an array -cotaining the unpacked version of the supplied literal SQL and bind values. +On failure returns C, on sucess returns an B reference +containing the unpacked version of the supplied literal SQL and bind values. =head1 WHERE CLAUSES