- 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 11 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.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 23 Apr, 2005 5 commits
-
-
Tom Lane authored
of timetz values misbehaved in --enable-integer-datetime cases, and EXTRACT(EPOCH) subtracted the zone instead of adding it in all cases. Backpatch to all supported releases (except --enable-integer-datetime code does not exist in 7.2).
-
Tom Lane authored
As I pointed out a few days ago, this code has failed to do anything useful for some time ... and if we did want to revive the capability to select functions by nearness of inheritance ancestry, this is the wrong place and way to do it anyway. The knowledge would need to go into func_select_candidate() instead. Perhaps someday someone will be motivated to do that, but I am not today.
-
Bruce Momjian authored
< * Research the use of larger page sizes
-
Bruce Momjian authored
< * Consider parallel processing a single query < < This would involve using multiple threads or processes to do optimization, < sorting, or execution of single query. The major advantage of such a < feature would be to allow multiple CPUs to work together to process a < single query. <
-
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 < < If only one value is needed, there is no need to sort the entire < table. Instead a sequential scan could get the matching value. <
-