postgresql/src/test
Tom Lane c29a9c37bf Fix UPDATE/DELETE WHERE CURRENT OF to support repeated update and update-
then-delete on the current cursor row.  The basic fix is that nodeTidscan.c
has to apply heap_get_latest_tid() to the current-scan-TID obtained from the
cursor query; this ensures we get the latest row version to work with.
However, since that only works if the query plan is a TID scan, we also have
to hack the planner to make sure only that type of plan will be selected.
(Formerly, the planner might decide to apply a seqscan if the table is very
small.  This change is probably a Good Thing anyway, since it's hard to see
how a seqscan could really win.)  That means the execQual.c code to support
CurrentOfExpr as a regular expression type is dead code, so replace it with
just an elog().  Also, add regression tests covering these cases.  Note
that the added tests expose the fact that re-fetching an updated row
misbehaves if the cursor used FOR UPDATE.  That's an independent bug that
should be fixed later.  Per report from Dharmendra Goyal.
2007-10-24 18:37:09 +00:00
..
bench Provide for logfiles in machine readable CSV format. In consequence, rename 2007-08-19 01:41:25 +00:00
examples Wording cleanup for error messages. Also change can't -> cannot. 2007-02-01 19:10:30 +00:00
locale $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
mb Change the backend to reject strings containing invalidly-encoded multibyte 2006-05-21 20:05:21 +00:00
performance Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
regress Fix UPDATE/DELETE WHERE CURRENT OF to support repeated update and update- 2007-10-24 18:37:09 +00:00
thread Wording cleanup for error messages. Also change can't -> cannot. 2007-02-01 19:10:30 +00:00
Makefile $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00