- 01 5月, 2005 3 次提交
-
-
由 Tom Lane 提交于
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 提交于
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 提交于
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.
-
- 30 4月, 2005 5 次提交
-
-
由 Neil Conway 提交于
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 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
Christopher Browne
-
由 Tom Lane 提交于
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.
-
- 29 4月, 2005 6 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Neil Conway 提交于
incorrect -F argument: write_msg() expects its first parameter to be a "module name", not the format string.
-
由 Bruce Momjian 提交于
> * -Implement shared row locks and use them in RI triggers
-
由 Tom Lane 提交于
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.
-
- 28 4月, 2005 5 次提交
-
-
由 Dennis Bjorklund 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
error without affecting the entire transaction. Valid values are "on|interactive|off".
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
- 26 4月, 2005 4 次提交
-
-
由 Bruce Momjian 提交于
Dick Davies.
-
由 Tom Lane 提交于
ExpandIndirectionStar() ... and in markTargetListOrigin() too.
-
由 Tom Lane 提交于
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 提交于
as FuncExpr, to cover cases where a function returning tuple is invoked via an operator.
-
- 25 4月, 2005 10 次提交
-
-
由 Bruce Momjian 提交于
< * 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 提交于
> * 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 提交于
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
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 提交于
more efficient routine in restrictinfo.c (which can make use of make_restrictinfo_internal).
-
由 Bruce Momjian 提交于
> 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 提交于
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.
-
由 Tom Lane 提交于
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 提交于
ExprContext at all, since it never evaluates any qual or tlist expressions.
-
- 24 4月, 2005 7 次提交
-
-
由 Tom Lane 提交于
-
由 Bruce Momjian 提交于
< 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 提交于
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Neil Conway 提交于
Riggs.
-
由 Bruce Momjian 提交于
-