| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
This doesn't matter too much for ordinary NOTs, since prepqual.c does
its best to get rid of those, but it helps with IS NOT TRUE clauses
which the rule rewriter likes to insert. Per example from Martin Lesser.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that's shorter-lived than the expression state being evaluated in it really
doesn't work :-( --- we end up with fn_extra caches getting deleted while
still in use. Rather than abandon the notion of caching expression state
across domain_in calls altogether, I chose to make domain_in a bit cozier
with ExprContext. All we really need for evaluating variable-free
expressions is an ExprContext, not an EState, so I invented the notion of a
"standalone" ExprContext. domain_in can prevent resource leakages by doing
a ReScanExprContext on this rather than having to free it entirely; so we
can make the ExprContext have the same lifespan (and particularly the same
per_query memory context) as the expression state structs.
|
|
|
|
| |
Hiroshi Saito
|
| |
|
|
|
|
| |
these options were used before -n/-t.
|
|
|
|
| |
warnings on some compilers.
|
| |
|
|
|
|
| |
not merely remove their contents. Else 'cvs update' complains.
|
|
|
|
|
| |
constant input. Seems worth doing because rule rewriter inserts
IS NOT TRUE tests into WHERE clauses.
|
| |
|
|
|
|
| |
supresses compiler warning.
|
|
|
|
| |
Joachim Wieland
|
|
|
|
|
|
|
|
|
| |
the DROP pass rather than the ADD_CONSTR pass. On examining the code I
think this was just an oversight rather than intentional, and it seems
to satisfy the principle of least surprise better than the alternative
solution that was discussed. Add an example to the ref page showing how
to do ALTER TYPE and update the default in one command. Per gripe from
Markus Bertheau that that wasn't possible.
|
|
|
|
|
|
|
|
| |
check). This isn't supported by pg_regress since the recent rewrite
into C. While we could add char classes to pg_regress.c's code, it's
not really needed at the moment: thanks to Andrew's patch to make
pg_regress always accept the 'standard' comparison file, we can just
drop the version check.
|
|
|
|
|
| |
rather than pointers to garbage, when calling AFTER STATEMENT triggers.
Michael Fuhr
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
'mod' and 'all', which is not the right order. SGML documentation order
was correct. Report from Chander Ganesan.
|
|
|
|
|
|
| |
in recent -t/-n/-T/-N patch.
Small style cleanups.
|
| |
|
|
|
|
|
|
|
| |
temporary context that can be reset when advancing to the next sublist.
This is faster and more thorough at recovering space than the previous
method; moreover it will do the right thing if something in the sublist
tries to register an expression context callback.
|
| |
|
|
|
|
| |
transformInsertStmt: the target table is already in p_rtable at that point.
|
| |
|
|
|
|
|
| |
test to avoid expensive contain_vars_of_level() scan in the normal case
where we're not inside a rule.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Implemented EXEC SQL UNDEF.
Applied first version of the regression test patch by Joachim Wieland <joe@mcknight.de>.
|
|
|
|
|
|
| |
(e.g. "INSERT ... VALUES (...), (...), ...") and elsewhere as allowed
by the spec. (e.g. similar to a FROM clause subselect). initdb required.
Joe Conway and Tom Lane.
|
| |
|
|
|
|
|
|
| |
lightweight locks.
Marc Munro
|
|
|
|
|
|
| |
if table creation failed (the table already exists).
Martin Pitt
|
|
|
|
|
|
|
| |
and -N options to exclude objects. Also support regular expressions for
option object names.
Greg Sabino Mullane
|
| |
|
|
|
|
| |
alternative test is specified but none succeeds.
|
|
|
|
|
|
|
|
|
|
|
|
| |
(table or index) before trying to open its relcache entry. This fixes
race conditions in which someone else commits a change to the relation's
catalog entries while we are in process of doing relcache load. Problems
of that ilk have been reported sporadically for years, but it was not
really practical to fix until recently --- for instance, the recent
addition of WAL-log support for in-place updates helped.
Along the way, remove pg_am.amconcurrent: all AMs are now expected to support
concurrent update.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
created in the bootstrap phase proper, rather than added after-the-fact
by initdb. This is cleaner than before because it allows us to retire the
undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
I'm doing it is so that toast tables of shared catalogs will now have
predetermined OIDs. This will allow a reasonably clean solution to the
problem of locking tables before we load their relcache entries, to appear
in a forthcoming patch.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
vacuums. This allows a OLTP-like system with big tables to continue
regular vacuuming on small-but-frequently-updated tables while the
big tables are being vacuumed.
Original patch from Hannu Krossing, rewritten by Tom Lane and updated
by me.
|
|
|
|
|
|
|
|
|
| |
because they are used for testing the return value from system().
(WIN32 doesn't overlay the return code with other failure conditions
like Unix does, so they are just simple macros.)
Fix regression checks to properly handle diff failures on Win32 using
the new macros.
|
|
|
|
| |
various sockets - should fix the occasional stats test regression failures we see.
|
|
|
|
| |
Hiroshi Saito
|