Could you... if only for debugging, override quote to return an object instead of just a string, which stringifies to the originally quoted string, and for which you test in either use in code that uses placeholders, depends on quoted strings, or gets quoted again?

Perhaps you could use pre and post hooks to modify DBI's quote's behaviour: a pre hook to check the parameters, a post hook to wrap the string into an object. You ought to be able to attach the hooks to the code ref returned by $dbh->can('quote').

This way you will not be able to detect (hopefully) quoted strings that get interpolated into SQL, because you'll immediately loose the object and get back a flat string. But it may be a starting place for a better test suite.


In reply to Re: Can I tell if DBI's quote() was used? by bart
in thread Can I tell if DBI's quote() was used? by kyle

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.