From: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> |
---|---|
To: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> |
Cc: | "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: possible wierd boolean bug? |
Date: | 2004-12-14 14:46:05 |
Message-ID: | 6EE64EF3AB31D5448D0007DD34EEB3412A756A@Herge.rcsinc.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> > That is bizarre. Does EXPLAIN show any difference?
>
> Uh oh.
>
> esp=# reindex table data1.parts_order_line_file;
whoops, never mind that. In fact, I re-indexed the wrong table.
Reindexing makes no difference. Here, explain analyze and running query
in psql return different results. Observe:
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 ;
int4 | id | lastmod | pol_po_no | pol_po_rel_no | pol_seq_no |
pol_parts_unit_no | pol_item_no | po
l_desc1 | pol_desc2 | pol_vendor_part_no | pol_qty_ordered |
pol_est_cost | pol_purchase_uom | pol_w
eight | pol_requested_date | pol_expected_date | pol_plant_loc_needed |
pol_workstation_needed | pol
_stock_loc_needed | pol_internal_contact | pol_update_unit_cost |
pol_gl_acct_no | pol_pur_to_inv_ra
tio | pol_print_rev_no | pol_revision_flag | pol_qty_received |
pol_parts_tracking_flag | pol_qty_re
jected
------+----+---------+-----------+---------------+------------+---------
----------+-------------+---
--------+-----------+--------------------+-----------------+------------
--+------------------+------
------+--------------------+-------------------+----------------------+-
-----------------------+----
------------------+----------------------+----------------------+-------
---------+------------------
----+------------------+-------------------+------------------+---------
----------------+-----------
-------
(0 rows)
esp=# explain analyze 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 ;
QUER
Y PLAN
------------------------------------------------------------------------
----------------------------
------------------------------------------------------------------------
----------------------------
--
Limit (cost=0.00..5.79 rows=1 width=313) (actual time=0.000..0.000
rows=0 loops=1)
-> Index Scan using po_line_file_pkey on po_line_file
(cost=0.00..5.79 rows=1 width=313) (actua
l time=0.000..0.000 rows=0 loops=1)
Index Cond: ((pol_po_no = '00000002'::bpchar) AND (pol_po_no =
'00000002'::bpchar) AND (pol
_po_no = '00000002'::bpchar) AND ((pol_po_rel_no)::smallint = 0) AND
((pol_po_rel_no)::smallint = 0)
)
Filter: ((pol_item_no)::text = '1570'::text)
Total runtime: 0.000 ms
(5 rows)
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2004-12-14 15:23:49 | Re: bgwriter changes |
Previous Message | Merlin Moncure | 2004-12-14 14:40:15 | Re: possible wierd boolean bug? |