- 01 May, 2005 1 commit
-
-
Neil Conway authored
for a long time.
-
- 30 Apr, 2005 7 commits
-
-
Tom Lane authored
argument, since that's all they are using now. Adjust type_sanity regression test so that it will complain if anyone tries to define multiple-argument output functions in future.
-
Tom Lane authored
record object itself, rather than relying on a second OID argument to be correct. This patch just changes the function behavior and not the catalogs, so it's OK to back-patch to 8.0. Will remove the now-redundant second argument in pg_proc in a separate patch in HEAD only.
-
Tom Lane authored
is contention for a tuple-level lock. This solves the problem of a would-be exclusive locker being starved out by an indefinite succession of share-lockers. Per recent discussion with Alvaro.
-
Neil Conway authored
a warning when a variable is used as a format string for printf() and similar functions (if the variable is derived from untrusted data, it could include unexpected formatting sequences). This emits too many warnings to be enabled by default, but it does flag a few dubious constructs in the Postgres tree. This patch fixes up the obvious variants: functions that are passed a variable format string but no additional arguments. Most of these are harmless (e.g. the ruleutils stuff), but there is at least one actual bug here: if you create a trigger named "%sfoo", pg_dump will read uninitialized memory and fail to dump the trigger correctly.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
Christopher Browne
-
- 29 Apr, 2005 6 commits
-
-
Tom Lane authored
Essentially, we shoehorn in a lockable-object-type field by taking a byte away from the lockmethodid, which can surely fit in one byte instead of two. This allows less artificial definitions of all the other fields of LOCKTAG; we can get rid of the special pg_xactlock pseudo-relation, and also support locks on individual tuples and general database objects (including shared objects). None of those possibilities are actually exploited just yet, however. I removed pg_xactlock from pg_class, but did not force initdb for that change. At this point, relkind 's' (SPECIAL) is unused and could be removed entirely.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Neil Conway authored
incorrect -F argument: write_msg() expects its first parameter to be a "module name", not the format string.
-
Bruce Momjian authored
> * -Implement shared row locks and use them in RI triggers
-
- 28 Apr, 2005 4 commits
-
-
Tom Lane authored
to eliminate unnecessary deadlocks. This commit adds SELECT ... FOR SHARE paralleling SELECT ... FOR UPDATE. The implementation uses a new SLRU data structure (managed much like pg_subtrans) to represent multiple- transaction-ID sets. When more than one transaction is holding a shared lock on a particular row, we create a MultiXactId representing that set of transactions and store its ID in the row's XMAX. This scheme allows an effectively unlimited number of row locks, just as we did before, while not costing any extra overhead except when a shared lock actually has to be shared. Still TODO: use the regular lock manager to control the grant order when multiple backends are waiting for a row lock. Alvaro Herrera and Tom Lane.
-
Dennis Bjorklund authored
-
Bruce Momjian authored
-
Bruce Momjian authored
error without affecting the entire transaction. Valid values are "on|interactive|off".
-
- 27 Apr, 2005 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 26 Apr, 2005 1 commit
-
-
Bruce Momjian authored
Dick Davies.
-
- 25 Apr, 2005 11 commits
-
-
Tom Lane authored
ExpandIndirectionStar() ... and in markTargetListOrigin() too.
-
Tom Lane authored
expanded is of RECORD type, eg 'select (foo).* from (select foo(f1) from t1) ss' where foo() is a function declared with multiple OUT parameters.
-
Tom Lane authored
as FuncExpr, to cover cases where a function returning tuple is invoked via an operator.
-
Bruce Momjian authored
< * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or > * Allow ORDER BY ... LIMIT # to select high/low value without sort or 868c868 < Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort > Right now, if no index exists, ORDER BY ... LIMIT # requires we sort 870a871 > MIN/MAX already does this, but not for LIMIT > 1.
-
Bruce Momjian authored
> * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or > index using a sequential scan for highest/lowest values > > Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort > all values to return the high/low value. Instead The idea is to do a > sequential scan to find the high/low value, thus avoiding the sort. >
-
Tom Lane authored
-
Tom Lane authored
-
Tom Lane authored
or bitmap), use pred_test to be a little smarter about cases where a filter clause is logically unnecessary. This may be overkill for the plain indexscan case, but it's definitely useful for OR'd bitmap scans.
-
Tom Lane authored
more efficient routine in restrictinfo.c (which can make use of make_restrictinfo_internal).
-
Bruce Momjian authored
> One possible implementation is to start sequential scans from the lowest > numbered buffer in the shared cache, and when reaching the end wrap > around to the beginning, rather than always starting sequential scans > at the start of the table.
-
Tom Lane authored
node, as this behavior is now better done as a bitmap OR indexscan. This allows considerable simplification in nodeIndexscan.c itself as well as several planner modules concerned with indexscan plan generation. Also we can improve the sharing of code between regular and bitmap indexscans, since they are now working with nigh-identical Plan nodes.
-
- 24 Apr, 2005 8 commits
-
-
Tom Lane authored
but just to open and close it during MultiExecBitmapIndexScan. This avoids acquiring duplicate resources (eg, multiple locks on the same relation) in a tree with many bitmap scans. Also, don't bother to lock the parent heap at all here, since we must be underneath a BitmapHeapScan node that will be holding a suitable lock.
-
Tom Lane authored
ExprContext at all, since it never evaluates any qual or tlist expressions.
-
Tom Lane authored
-
Bruce Momjian authored
< This allows vacuum to reclaim free space without requiring < a sequential scan > This allows vacuum to target specific pages for possible free space > without requiring a sequential scan.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Neil Conway authored
Riggs.
-