I have a strange but reproducible problem where a query does not seem to
return the same results.

esp=# select 1::int4, * from data1.po_line_file
esp-#   where pol_po_no =  '00000002' and
esp-#           (pol_po_no =  '00000002' and pol_po_rel_no =  0) and
esp-#           (pol_po_no =  '00000002' and pol_po_rel_no =  0 and
pol_item_no =  '1570')
esp-#   limit 1 ;
[fields omitted]
(0 rows)

esp=# select 1::int4, * from data1.po_line_file
esp-#   where --pol_po_no =  '00000002' and
esp-#           --(pol_po_no =  '00000002' and pol_po_rel_no =  0) and
esp-#           (pol_po_no =  '00000002' and pol_po_rel_no =  0 and
pol_item_no =  '1570')
esp-#   limit 1 ;
[fields omitted, note commented redundant clauses]
(1 row)

The obviously silly Boolean clause here was sql that was generated by a
driver.  I recoded the driver to make more intelligent sql and now the
problem is gone, at least from my application.  Note that the same query
form but with different tables/fields works correctly 99.99999% of the
time, just not this time...I'm just curious as to how two seemingly
equivalent statements could produce different results...perhpaps I
missed something?

Merlin


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to