summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-04-25Update description: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.
2005-04-25Re-add item with better description: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. >
2005-04-25Fix btree_gist to handle timetz zone correctly per recent changes.Tom Lane
2005-04-25Avoid rechecking lossy operators twice in a bitmap scan plan.Tom Lane
2005-04-25While determining the filter clauses for an index scan (either plainTom 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.
2005-04-25Replace slightly klugy create_bitmap_restriction() function with aTom Lane
more efficient routine in restrictinfo.c (which can make use of make_restrictinfo_internal).
2005-04-25Add description for concurrent sequential scans: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.
2005-04-25Remove support for OR'd indexscans internal to a single IndexScan planTom 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.
2005-04-24Adjust nodeBitmapIndexscan.c to not keep the index open across calls,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.
2005-04-24Actually, nodeBitmapIndexscan.c doesn't need to create a standardTom Lane
ExprContext at all, since it never evaluates any qual or tlist expressions.
2005-04-24Put back example of using Result node to execute an INSERT.Tom Lane
2005-04-24Update wording: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.
2005-04-24Update wording.Bruce Momjian
2005-04-24Clean up HTML.Bruce Momjian
2005-04-24Add replication FAQ item.Bruce Momjian
2005-04-24Update some comments to use SQL examples rather than QUEL. From SimonNeil Conway
Riggs.
2005-04-24Add line break.Bruce Momjian
2005-04-24Update book items.Bruce Momjian
2005-04-24Update VACUUM VERBOSE FSM message, per Tom.Bruce Momjian
2005-04-23Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. ComparisonTom Lane
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).
2005-04-23Remove useless argtype_inherit() code, and make consequent simplifications.Tom Lane
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.
2005-04-23Turns out our existing page size is already optimal in most cases:Bruce Momjian
< * Research the use of larger page sizes
2005-04-23Item already added to existing 'thread' item:Bruce Momjian
< * 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. <
2005-04-23Remove item, not sure what it refers to:Bruce Momjian
< * 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. <
2005-04-23New item:Bruce Momjian
> * Change WAL to use 32-bit CRC, for performance reasons
2005-04-23Update threading item:Bruce Momjian
< Solaris) might benefit from threading. > Solaris) might benefit from threading. Also explore the idea of > a single session using multiple threads to execute a query faster.
2005-04-23Done:Bruce Momjian
< * Improve SMP performance on i386 machines > * -Improve SMP performance on i386 machines
2005-04-23Remove explicit FreeExprContext calls during plan node shutdown. TheTom Lane
ExprContexts will be freed anyway when FreeExecutorState() is reached, and letting that routine do the work is more efficient because it will automatically free the ExprContexts in reverse creation order. The existing coding was effectively freeing them in exactly the worst possible order, resulting in O(N^2) behavior inside list_delete_ptr, which becomes highly visible in cases with a few thousand plan nodes. ExecFreeExprContext is now effectively a no-op and could be removed, but I left it in place in case we ever want to put it back to use.
2005-04-23Done:Bruce Momjian
< * Optimize locale to have minimal performance impact when not used
2005-04-23Fix typo:Bruce Momjian
< * Add ISo INTERVAL handling > * Add ISO INTERVAL handling
2005-04-23Update VACUUM VERBOSE update, per Alvaro.Bruce Momjian
2005-04-23Update working of VACUUM VERBOSE.Bruce Momjian
2005-04-23Make VACUUM VERBOSE FSM output all output in a single INFO outputBruce Momjian
statement.
2005-04-23Move info about lack of depencency checking in Makefiles to developer's faq.qBruce Momjian
2005-04-23Update FAQ by eliminating non-frequent items like large objects andBruce Momjian
extending questions. Update wording of various entries.
2005-04-23Done:Bruce Momjian
> * -Allow non-bitmap indexes to be combined by creating bitmaps in memory
2005-04-23Update H4 tag to H3 to be consistent with heading levels.Bruce Momjian
2005-04-23Add item about server-side debugging.Bruce Momjian
2005-04-23Update FAQ items to point to existing web pages rather than duplicationBruce Momjian
such information. Remove MySQL mention. Move server-side debug item to developer's FAQ. Update URLs.
2005-04-23Add comment about checkpoint panic behavior during shutdown, perTom Lane
suggestion from Qingqing Zhou.
2005-04-23Allow -2147483648 to be treated as an INT4 rather than INT8 constant.Tom Lane
Per discussion with Paul Edwards.
2005-04-23Treat a zero-D array as empty in int_enum(), per Andrew@supernews.Tom Lane
2005-04-23Recent changes got the sense of the notnull bit backwards in the 2.0Tom Lane
protocol output routines. Mea culpa :-(. Per report from Kris Jurka.
2005-04-23Define the right-hand input of AT TIME ZONE as a full a_expr instead ofTom Lane
c_expr. Perhaps the restriction was once needed to avoid bison errors, but it seems to work just fine now --- and even generates a slightly smaller state machine. This change allows examples like SELECT '13:45'::timetz AT TIME ZONE '-07:00'::interval; to work without parentheses around the right-hand input.
2005-04-23Update FAQ release number to 8.0.2.Bruce Momjian
2005-04-23Modify output of VACUUM VERBOSE to be clearer.Bruce Momjian
2005-04-23int_aggregate's int_enum() doesn't work correctly with arrays thatTom Lane
aren't 1-D, so give an error message instead of failing. Per report from Ron Mayer.
2005-04-23Turns out that my recent elimination of the 'redundant' flatten_andors()Tom Lane
code in prepqual.c had a small drawback: the flatten_andors code was able to cope with deeply nested AND/OR structures (like 10000 ORs in a row), whereas eval_const_expressions tends to recurse until it overruns the stack. Revise eval_const_expressions so that it doesn't choke on deeply nested ANDs or ORs.
2005-04-23Add documentation stating how to determine if FSM settings are too lowBruce Momjian
--- look at a database-wide VACUUM VERBOSE.
2005-04-23Teach choose_bitmap_and() to actually be choosy --- that is, try toTom Lane
make some estimate of which available indexes to AND together, rather than blindly taking 'em all. This could probably stand further improvement, but it seems to do OK in simple tests.