Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

My own homegrown solution allows me to specify 'defer' on selected non-key fields; the database abstraction arranges that deferred fields are not fetched from the database until an accessor for one of the deferred fields is called, at which point all the deferred fields for that record are fetched.

This approach is available only for keyed tables, since the deferred fields are fetched using the (already present) key fields.

I find this approach easy to use and quite predictable. The only caveat is that care must be taken a) in choosing which fields to defer, and b) in applications that handle collections of records that may look at deferred fields in each of those records, since I'm doing an additional SELECT for each record that needs access to the deferred fields.

Because of (b), I also have a nasty hack I use to override this behaviour for selected classes in the occasional script that knows it needs access to deferred fields in all of the records of a collection. I've kept it as a nasty hack to deter overuse, but that's probably the wrong way to do it. (FWIW, the hack is currently used by 2 out of around 120 scripts in the application.)

Hugo


In reply to Re: Database Accessor Classes by hv
in thread Database Accessor Classes by jbeninger

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!
  • 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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others meditating upon the Monastery: (16)
    As of 2014-09-18 18:56 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (121 votes), past polls