Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^3: Module for substituting complex criteria into hand-written SQL queries

by 1nickt (Abbot)
on Apr 16, 2017 at 21:14 UTC ( #1188066=note: print w/replies, xml ) Need Help??


in reply to Re^2: Module for substituting complex criteria into hand-written SQL queries
in thread Module for substituting complex criteria into hand-written SQL queries

There is no reason you can't build your parameters based on runtime conditions:

my $cutoff = time - 86400; my $first_seen_time = {}; if ( $user_wants_dates_before_today ) { $first_seen_time = { '<' => $cutoff, }; } else { $first_seen_time = { '>=' => $cutoff, }; ); my ( $sql, @bind ) = $sqla->select( -columns => 'id, name', -from => 'users', -where => { status => $status, first_seen_time => $first_seen_time, }, );

Also, for another approach, remember that you can insert actual SQL into the parameters to a SQLA call, and you could generate *that* SQL snippet based on your run-time conditions.

Hope this helps!


The way forward always starts with a minimal test.
  • Comment on Re^3: Module for substituting complex criteria into hand-written SQL queries
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1188066]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2022-01-21 15:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (59 votes). Check out past polls.

    Notices?