aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Fix bug introduced into indexable_outerrelids() by an ill-consideredTom Lane2005-09-22
| | | | | | | | | | "optimization". When we find a potentially useful joinclause, we have to add all its other required_relids to the result, not only the other clause_relids. They are different in the case of a joinclause whose applicability has to be postponed due to outer join. We have to include the extra rels because otherwise, after best_inner_indexscan masks the join rels with index_outer_relids, it will always fail to find the joinclause as applicable. Per report from Husam Tomeh.
* pgindent new GIST index code, per request from Tom.Bruce Momjian2005-09-22
|
* Adjust GiST error messages to conform to message style guidelines.Tom Lane2005-09-22
|
* Take exclusive buffer lock in scan_heap() to eliminate some corner casesTom Lane2005-09-22
| | | | | | | | in which invalid page data could be transiently written to disk by concurrent bgwriter activity. There doesn't seem any risk of loss of actual user data, but an empty page could possibly be left corrupt if a crash occurs before the correct data gets written out. Pointed out by Alvaro Herrera.
* This patch cleans up the access to members of ItemIdData.Bruce Momjian2005-09-22
| | | | | | It uses existing macros instead of touching directly. ITAGAKI Takahiro
* Suppress port number for unix domain sockets in log connect/disconnectBruce Momjian2005-09-22
| | | | messages.
* Remove some dead code.Tom Lane2005-09-22
|
* Fix postgresql.conf lexer to accept doubled single quotes in literalTom Lane2005-09-21
| | | | | | strings. This is consistent with SQL conventions, and since Bruce already changed initdb in a way that assumed it worked like this, seems we'd better make it work like this.
* optimize_minmax_aggregates() neglected to check for inherited tables.Tom Lane2005-09-21
| | | | Per report from Cesar Paipilla.
* autovacuum setting false -> off, for consistencyBruce Momjian2005-09-20
|
* Print proper cause of statement cancel, user interaction or timeout.Bruce Momjian2005-09-19
|
* Update query cancel message:Bruce Momjian2005-09-16
| | | | errmsg("canceling query due to user request or statement timeout")));
* Small fixesTeodor Sigaev2005-09-16
|
* Rename pg_complete_relation_size() to pg_total_relation_size(), for theNeil Conway2005-09-16
| | | | | | | | | | | | | | sake of brevity and clarity. Make pg_reload_conf(), pg_rotate_logfile(), and pg_cancel_backend() return a boolean rather than an integer to indicate success or failure. Along the way, make some minor cleanups to dbsize.c -- in particular, use elog() rather than ereport() for "shouldn't happen" error conditions, and remove some of the more flagrant violations of the Postgres indentation conventions. Catalog version bumped.
* Update two comments to refer to use the new list API names.Neil Conway2005-09-16
|
* Force the size and alignment of LWLock array entries to be either 16 or 32Tom Lane2005-09-16
| | | | | | | bytes. This shouldn't make any difference on x86 machines, where the size happened to be 16 bytes anyway, but on 64-bit machines and machines with slock_t int or wider, it will speed array indexing and hopefully reduce SMP cache contention effects. Per recent experimentation.
* Copy-editing for GiST README.Neil Conway2005-09-15
|
* Readme about GiST's algorithmsTeodor Sigaev2005-09-15
|
* Ensure that any memory leaked during an error inside the bgwriter isTom Lane2005-09-12
| | | | | | | recovered. I did not see any actual leak while testing this in CVS tip, but 8.0 definitely has a problem with leaking the space temporarily palloc'd by BufferSync(). In any case this seems a good idea to forestall similar problems in future. Per report from Arjen van der Meijden.
* Tweak TCP-keepalive code so that an invalid setting doesn't cause usTom Lane2005-09-12
| | | | | | | to drop connections unceremoniously. Also some other marginal cleanups: don't query getsockopt() repeatedly if it fails, and avoid having the apparent definition of struct Port depend on which system headers you might have included or not. Oliver Jowett and Tom Lane.
* timestamptz_izone should return the input, not NULL, when the inputTom Lane2005-09-09
| | | | | | is a non-finite timestamp, for consistency with related functions. In other words: +infinity rotated to a different timezone is still +infinity.
* Fix the various forms of AT TIME ZONE to accept either timezones foundTom Lane2005-09-09
| | | | | | | | | in the zic database or zone names found in the date token table. This preserves the old ability to do AT TIME ZONE 'PST' along with the new ability to do AT TIME ZONE 'PST8PDT'. Per gripe from Bricklen Anderson. Also, fix some inconsistencies in usage of TZ_STRLEN_MAX --- the old code had the potential for one-byte buffer overruns, though given alignment considerations it's unlikely there was any real risk.
* Create the pg_pltemplate system catalog to hold template informationTom Lane2005-09-08
| | | | | | for procedural languages. This replaces the hard-wired table I had originally proposed as a stopgap solution. For the moment, the initial contents only include languages shipped with the core distribution.
* Implement a preliminary 'template' facility for procedural languages,Tom Lane2005-09-05
| | | | | | | | | | | | | | as per my recent proposal. For now the template data is hard-wired in proclang.c --- this should be replaced later by a new shared system catalog, but we don't want to force initdb during 8.1 beta. This change lets us cleanly load existing dump files even if they contain outright wrong information about a PL's support functions, such as a wrong path to the shared library or a missing validator function. Also, we can revert the recent kluges to make pg_dump dump PL support functions that are stored in pg_catalog. While at it, I removed the code in pg_regress that replaced $libdir with a hardcoded path for temporary installations. This is no longer needed given our support for relocatable installations.
* Back out prior patch and instead just suppress SubqueryScan eliminationTom Lane2005-09-05
| | | | | | | | when there are extra resjunk columns in the child node. I found some additional cases involving Append nodes that weren't handled by the prior patch, and it's not clear how to fix them in the same way without breaking inheritance cases. So the prudent path seems to be to narrow the scope of the optimization.
* For non-projecting plan node types such as Limit, set_plan_referencesTom Lane2005-09-05
| | | | | | has to recopy the input plan node's targetlist if it removes a SubqueryScan node just below the non-projecting node. For simplicity I made it recopy always. Per bug report from Allan Wang and Michael Fuhr.
* Add log display label for unnamed server-side portals.Bruce Momjian2005-09-02
|
* Fix the spelling.Tom Lane2005-09-02
|
* Update listen_addresses description.Bruce Momjian2005-09-02
| | | | Darcy Buskermolen
* Clean up a couple of ad-hoc computations of the maximum number of tuplesTom Lane2005-09-02
| | | | | | | | | | | on a page, as suggested by ITAGAKI Takahiro. Also, change a few places that were using some other estimates of max-items-per-page to consistently use MaxOffsetNumber. This is conservatively large --- we could have used the new MaxHeapTuplesPerPage macro, or a similar one for index tuples --- but those places are simply declaring a fixed-size buffer and assuming it will work, rather than actively testing for overrun. It seems safer to size these buffers in a way that can't overflow even if the page is corrupt.
* Short-circuit AllocSetReset if nothing has been palloc'd in the memoryTom Lane2005-09-01
| | | | | context since the previous AllocSetReset. Original patch by Atsushi Ogawa, editorialized on a little bit by Tom Lane.
* Fix unportable uses of <ctype.h> functions. Per Sergey Koposov.Tom Lane2005-09-01
|
* Log send() failures when sending to statistics process (but only inTom Lane2005-08-30
| | | | | | assert-enabled builds). This is a temporary measure to see if we can learn anything about those intermittent stats test failures in the buildfarm.
* DropTableSpace forgot to remove dependency on tablespace's owner.Tom Lane2005-08-30
| | | | Per report from Jaime Casanova.
* Fix misleading comment.Tom Lane2005-08-30
|
* Update documentation about shared memory sizing to reflect currentTom Lane2005-08-30
| | | | reality.
* Reduce default value of max_prepared_transactions from 50 to 5. ThisTom Lane2005-08-29
| | | | | | | | | saves nearly 700kB in the default shared memory segment size, which seems worthwhile, and it is a feature that many users won't use anyway. Per Heikki's argument, there is no point in a compromise value --- those who are using 2PC at all will probably want it at least equal to max_connections. But we can't set it to zero by default without breaking the prepared_xacts regression test.
* Fix platform-specific test for path prefix-ness: move it into path.c whereTom Lane2005-08-29
| | | | | it can be done right. Allow explicit use of absolute DataDir path. Per Dave Page.
* Tweak nodeBitmapAnd to stop evaluating sub-plan scans if it finds it'sTom Lane2005-08-28
| | | | | got an empty bitmap after any step; the remaining subplans can no longer affect the result. Per a suggestion from Ilia Kantor.
* cost_agg really ought to charge something per output tuple; else thereTom Lane2005-08-27
| | | | are cases where it appears to have zero run cost.
* Change the division of labor between grouping_planner and query_plannerTom Lane2005-08-27
| | | | | | | | | | | | | | so that the latter estimates the number of groups that grouping will produce. This is needed because it is primarily query_planner that makes the decision between fast-start and fast-finish plans, and in the original coding it was unable to make more than a crude rule-of-thumb choice when the query involved grouping. This revision helps us make saner choices for queries like SELECT ... GROUP BY ... LIMIT, as in a recent example from Mark Kirkwood. Also move the responsibility for canonicalizing sort_pathkeys and group_pathkeys into query_planner; this information has to be available anyway to support the first change, and doing it this way lets us get rid of compare_noncanonical_pathkeys entirely.
* Fix two separate bugs in setrefs.c. set_subqueryscan_references needsTom Lane2005-08-27
| | | | | | | | | | | | | | | to copy the whole plan tree before invoking adjust_plan_varnos(); else if there is any multiply-linked substructure, the latter might increment some Var's varno twice. Previously there were some retail copyObject calls inside adjust_plan_varnos, but it seems a lot safer to just dup the whole tree first. Also, set_inner_join_references was trying to avoid work by not recursing if a BitmapHeapScan's bitmapqualorig contained no outer references; which was OK at the time the code was written, I think, but now that create_bitmap_scan_plan removes duplicate clauses from bitmapqualorig it is possible for that field to be NULL while outer references still remain in the qpqual and/or contained indexscan nodes. For safety, always recurse even if the BitmapHeapScan looks to be outer reference free. Per reports from Michael Fuhr and Oleg Bartunov.
* The idea of using _strncoll() on Windows doesn't work. Revert to sameTom Lane2005-08-26
| | | | code as we use on other platforms when encoding is not UTF8.
* Adjust m68k spinlock code to avoid duplicate in-line and not-in-lineTom Lane2005-08-26
| | | | definitions on recent Linux systems, per Martin Pitt.
* Arrange for indexes and toast tables to inherit their ownership fromTom Lane2005-08-26
| | | | | | the parent table, even if the command that creates them is executed by someone else (such as a superuser or a member of the owning role). Per gripe from Michael Fuhr.
* Replace out-of-line tas() assembly code for MIPS with a properlyTom Lane2005-08-25
| | | | constrained GCC inline version. Thiemo Seufer, by way of Martin Pitt.
* Factor out the common subexpression month_remainder * DAYS_PER_MONTHTom Lane2005-08-25
| | | | | | | | | in interval_mul and interval_div. This avoids an optimization bug in A Certain Company's compiler (and given their explanation, I wouldn't be surprised if other compilers blow it too). Besides the code seems more clear this way --- in the original formulation, you had to mentally recognize the common subexpression in order to understand what was going on.
* Back out pfrees for justify_hour function calls.Bruce Momjian2005-08-25
|
* Fix memory leak when using justify_hours.Bruce Momjian2005-08-25
|
* Fix SHOW and RESET grammar to accept custom variable names.Tom Lane2005-08-24
|