Provided by: libsql-abstract-classic-perl_1.91-2_all bug

NAME

       SQL::Abstract::Util - Small collection of utilities for SQL::Abstract::Classic

EXPORTABLE FUNCTIONS

   is_plain_value
       Determines if the supplied argument is a plain value as understood by this module:

       ·   The value is "undef"

       ·   The value is a non-reference

       ·   The value is an object with stringification overloading

       ·   The value is of the form "{ -value => $anything }"

       On failure returns "undef", on success returns a scalar reference to the original supplied
       argument.

       ·   Note

           The stringification overloading detection is rather advanced: it takes into
           consideration not only the presence of a "" overload, but if that fails also checks
           for enabled autogenerated versions of "", based on either "0+" or "bool".

           Unfortunately testing in the field indicates that this detection may tickle a latent
           bug in perl versions before 5.018, but only when very large numbers of stringifying
           objects are involved.  At the time of writing ( Sep 2014 ) there is no clear
           explanation of the direct cause, nor is there a manageably small test case that
           reliably reproduces the problem.

           If you encounter any of the following exceptions in random places within your
           application stack - this module may be to blame:

             Operation "ne": no method found,
               left argument in overloaded package <something>,
               right argument in overloaded package <something>

           or perhaps even

             Stub found while resolving method "???" overloading """" in package <something>

           If you fall victim to the above - please attempt to reduce the problem to something
           that could be sent to the SQL::Abstract::Classic developers (either publicly or
           privately). As a workaround in the meantime you can set
           $ENV{SQLA_ISVALUE_IGNORE_AUTOGENERATED_STRINGIFICATION} to a true value, which will
           most likely eliminate your problem (at the expense of not being able to properly
           detect exotic forms of stringification).

           This notice and environment variable will be removed in a future version, as soon as
           the underlying problem is found and a reliable workaround is devised.

   is_literal_value
       Determines if the supplied argument is a literal value as understood by this module:

       ·   "\$sql_string"

       ·   "\[ $sql_string, @bind_values ]"

       On failure returns "undef", on success returns an array reference containing the unpacked
       version of the supplied literal SQL and bind values.