Re: possible wierd boolean bug?
От | Bruce Momjian |
---|---|
Тема | Re: possible wierd boolean bug? |
Дата | |
Msg-id | 200412131824.iBDIOJR28593@candle.pha.pa.us обсуждение исходный текст |
Ответ на | possible wierd boolean bug? ("Merlin Moncure" <merlin.moncure@rcsonline.com>) |
Список | pgsql-hackers |
That is bizarre. Does EXPLAIN show any difference? --------------------------------------------------------------------------- Merlin Moncure wrote: > 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 > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: