Combining validation into main query

From: Robert James <srobertjames(at)gmail(dot)com>
To: Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Combining validation into main query
Date: 2013-01-13 00:58:04
Message-ID: CAGYyBgjbrrOA=NAmE631O4_zzx0qV6BdrmEtuEwtWYFg9xamtw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Typically, my web application does some initial validation, then, if
it passes, does the actual query. For both performance and
simplicity, I'd like to combine these all into one trip to Postgres.
Ideally, I'd like to do this in SQL. If that's not possible, I could
use PL/pgsql, though I'm not adept at it.

Example #1:
qry = "SELECT 1 FROM users WHERE username = ? AND PASSWORD = ?"
if qry.count > 0
qry = "SELECT ..."

Example #2:
qry = "SELECT 1 FROM users WHERE username = ? AND PASSWORD = ?"
if qry.count > 0
qry = "SELECT product WHERE ..."
if qry.count > 0
qry = "UPDATE product SET..."

How can I combine these into one Postgres call? I'd like it to look
something like:

GET_PRODUCTS(username, password) -- Returns products, or -1 if
username bad, -2 if password is bad

UPDATE_PRODUCTS(username, password, productid, newval) -- Updates
product, Returns 0 if good, -1 if username bad, -2 if password bad, -3
if productid bad

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Serge Fonville 2013-01-13 01:06:39 Re: Combining validation into main query
Previous Message Serge Fonville 2013-01-13 00:50:37 Re: pgadmin connection via tunnel and ubuntu user instead of postgres