- 16 Sep, 2004 6 commits
-
-
Tom Lane authored
-
Tom Lane authored
subtransactions. Trivial subxacts (such as a plpgsql exception block containing no database access) now demonstrably leak zero bytes.
-
Tom Lane authored
pg_subtrans --- what we need is the oldest xmin of any snapshot in use in the current top transaction. Introduce a new variable TransactionXmin to play this role. Fixes intermittent regression failure reported by Neil Conway.
-
Tom Lane authored
as per recent discussions. Invent SubTransactionIds that are managed like CommandIds (ie, counter is reset at start of each top transaction), and use these instead of TransactionIds to keep track of subtransaction status in those modules that need it. This means that a subtransaction does not need an XID unless it actually inserts/modifies rows in the database. Accordingly, don't assign it an XID nor take a lock on the XID until it tries to do that. This saves a lot of overhead for subtransactions that are only used for error recovery (eg plpgsql exceptions). Also, arrange to release a subtransaction's XID lock as soon as the subtransaction exits, in both the commit and abort cases. This avoids holding many unique locks after a long series of subtransactions. The price is some additional overhead in XactLockTableWait, but that seems acceptable. Finally, restructure the state machine in xact.c to have a more orthogonal set of states for subtransactions.
-
Neil Conway authored
qualified.
-
Neil Conway authored
cosmetic code cleanup at the same time.
-
- 14 Sep, 2004 11 commits
-
-
Neil Conway authored
as a const char *, so that we don't need to cast away a const in gram.y
-
Bruce Momjian authored
< * Point-in-time data recovery using backup and write-ahead log, < * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/project/win32.html > * -Point-in-time data recovery using backup and write-ahead log > * -Create native Win32 port 470c470 < o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW > o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Tom Lane authored
Andreas Pflug
-
Tom Lane authored
and add documentation. Dave Page
-
Tom Lane authored
simplify life for the Win32 installer. Per Dave Page.
-
Tom Lane authored
Claudio Natoli
-
Tom Lane authored
Claudio Natoli
-
Tom Lane authored
-
Tom Lane authored
-
- 13 Sep, 2004 9 commits
-
-
Neil Conway authored
-
Peter Eisentraut authored
-
Tom Lane authored
mode see a fresh snapshot for each command in the function, rather than using the latest interactive command's snapshot. Also, suppress fresh snapshots as well as CommandCounterIncrement inside STABLE and IMMUTABLE functions, instead using the snapshot taken for the most closely nested regular query. (This behavior is only sane for read-only functions, so the patch also enforces that such functions contain only SELECT commands.) As per my proposal of 6-Sep-2004; I note that I floated essentially the same proposal on 19-Jun-2002, but that discussion tailed off without any action. Since 8.0 seems like the right place to be taking possibly nontrivial backwards compatibility hits, let's get it done now.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Neil Conway authored
-
- 12 Sep, 2004 3 commits
-
-
Bruce Momjian authored
it and have it in case we need it for some special case.
-
Bruce Momjian authored
-
Tom Lane authored
sure to clean up the already-created lock object, if it has no other references. Avoids possibly-permanent leak of shared memory.
-
- 11 Sep, 2004 4 commits
-
-
Tom Lane authored
((Snapshot) NULL) can no longer be confused with a valid snapshot, as per my recent suggestion. Define a macro InvalidSnapshot for 0. Use InvalidSnapshot instead of SnapshotAny as the do-nothing special case for heap_update and heap_delete crosschecks; this seems a little cleaner even though the behavior is really the same.
-
Tom Lane authored
will be cleaned up at end of transaction, even when there is no other LO operation in the transaction. Per bug report from Daniel Schuchardt.
-
Bruce Momjian authored
than /dev/null, which Win32 doesn't have.
-
Bruce Momjian authored
-
- 10 Sep, 2004 7 commits
-
-
Bruce Momjian authored
< * Have AFTER triggers execute after the appropriate SQL statement in a > * -Have AFTER triggers execute after the appropriate SQL statement in a
-
Tom Lane authored
as per bug #1249; and remove the last vestiges of using \connect to change authorization.
-
Tom Lane authored
rather than when returning to the idle loop. This makes no particular difference for interactively-issued queries, but it makes a big difference for queries issued within functions: trigger execution now occurs before the calling function is allowed to proceed. This responds to numerous complaints about nonintuitive behavior of foreign key checking, such as http://archives.postgresql.org/pgsql-bugs/2004-09/msg00020.php, and appears to be required by the SQL99 spec. Also take the opportunity to simplify the data structures used for the pending-trigger list, rename them for more clarity, and squeeze out a bit of space.
-
Bruce Momjian authored
> * Make row-wise comparisons work per SQL spec >
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-