NEWBEE: 'WHERE true' question - Mailing list pgsql-novice

From OTR Comm
Subject NEWBEE: 'WHERE true' question
Date
Msg-id 3A135FA5.C82FD67E@wildapache.net
Whole thread Raw
Responses Re: NEWBEE: 'WHERE true' question  (GH <grasshacker@over-yonder.net>)
List pgsql-novice
Hello,

I have just started learning about PostgreSQL.  I am fairly familiar
with MySQL/Perl DBI.

I have some perl code that I downloaded that talks to a pgsql database
and am trying to understand one of the queries in this code.

A snippet from this code is as follows:

...
  $where = 'true';
  if ($form->{number}) {
    $callback .= "&number=$form->{number}";
    $where .= " AND number ~* '$form->{number}'";
  }
  if ($form->{description}) {
    $callback .= "&description=$form->{description}";
    $where .= " AND description ~* '$form->{description}'";
  }

  $query = qq|SELECT id, number, description, onhand, unit, sellprice
                FROM parts
                WHERE $where
                ORDER BY $form->{sort}
             |;
...

Now if the two 'if' conditionals are false, the query becomes:

SELECT id, number, description, onhand, unit, sellprice
                FROM parts
                WHERE true
                ORDER BY number


What does it mean here for the WHERE to be true?  What is being tested
for true?  Is this just a 'place holder', if you will, for the WHERE
field in case the two 'if' conditionals are false and so the WHERE field
is not blank?

Thanks,
Murrah Boswell


pgsql-novice by date:

Previous
From: Paul M Foster
Date:
Subject: Moving Databases
Next
From: Sandeep Joshi
Date:
Subject: questions - WAL And Sets, Lists, Ref