If I understand your problem well, you are trying to implement some form of persistent connections to your database to avoid the start-up cost of fresh connections for every request through your proxy and you are trying to do so at the level of a prepared database statement handle.

But did you consider the fact that HTTP::Proxy can handle multiple request concurrently (it being a forking proxy) and thus you could end up with separate instances of the proxy-code using the same prepared database statement handle? I'm not too sure whether DBI supports that. At the very best, you may be able to share the database handle, but that will save you already the connection cost. The time used to prepare a statement handle is usually very small: many drivers just store the SQL-string and return immediately without doing any real preparation work. All that is part of their execute code.

Try your above code again but just store the $dbh handle in the object and --BTW-- you do not have to store a reference to the database handle in the object, just the database handle itself should do fine.

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James


In reply to Re: Object in an object by CountZero
in thread Object in an object by Anonymous Monk

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.