aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* When a function not returning RECORD has a single OUT parameter, useTom Lane2005-10-06
| | | | | | | | the parameter's name (if any) as the default column name for SELECT FROM the function, rather than the function name as previously. I still think this is a bad idea, but I lost the argument. Force decompilation of function RTEs to specify full aliases always, to reduce the odds of this decision breaking dumped views.
* Fix oversight in indexscan plan creation. I recently added code to useTom Lane2005-10-06
| | | | | | | | predicate_implied_by() to detect redundant filter conditions, but forgot that predicate_implied_by() assumes its first argument contains only immutable functions. Add a check to guarantee that. Also, test to see if filter conditions can be discarded because they are redundant with the predicate of a partial index.
* Revise pgstats stuff to fix the problems with not counting accessesTom Lane2005-10-06
| | | | | | | generated by bitmap index scans. Along the way, simplify and speed up the code for counting sequential and index scans; it was both confusing and inefficient to be taking care of that in the per-tuple loops, IMHO. initdb forced because of internal changes in pg_stat view definitions.
* Code cleanup for log_disconnections(). Patch from Qingqing Zhou,Neil Conway2005-10-05
| | | | fixes by Neil Conway.
* Make set_function_size_estimates() marginally smarter: per originalTom Lane2005-10-05
| | | | comment, it can at least test whether the expression returns set.
* Add _ to gettext triggers. Must have been forgotten here when it was introduced.Peter Eisentraut2005-10-04
|
* COPY's test for read-only transaction was backward; it prohibited COPY TOTom Lane2005-10-03
| | | | where it should prohibit COPY FROM. Found by Alon Goldshuv.
* Add a trace_sort option to help with measuring resource usage of externalTom Lane2005-10-03
| | | | sort operations. Per recent discussion. Simon Riggs and Tom Lane.
* Separate out the VacRUsage stuff as an independent module, in preparationTom Lane2005-10-03
| | | | for using it for other things besides VACUUM.
* Preserve tuple OIDs during ATRewriteTable. Per gripe from Duncan Crombie.Tom Lane2005-10-03
|
* Expand pg_control information so that we can verify that the databaseTom Lane2005-10-03
| | | | | | was created on a machine with alignment rules and floating-point format similar to the current machine. Per recent discussion, this seems like a good idea with the increasing prevalence of 32/64 bit environments.
* Change nextval and other sequence functions to specify their sequenceTom Lane2005-10-02
| | | | | | | | | | | | | | | argument as a 'regclass' value instead of a text string. The frontend conversion of text string to pg_class OID is now encapsulated as an implicitly-invocable coercion from text to regclass. This provides backwards compatibility to the old behavior when the sequence argument is explicitly typed as 'text'. When the argument is just an unadorned literal string, it will be taken as 'regclass', which means that the stored representation will be an OID. This solves longstanding problems with renaming sequences that are referenced in default expressions, as well as new-in-8.1 problems with renaming such sequences' schemas or moving them to another schema. All per recent discussion. Along the way, fix some rather serious problems in dbmirror's support for mirroring sequence operations (int4 vs int8 confusion for instance).
* _SPI_execute_plan failed to return result tuple table to caller inTom Lane2005-10-01
| | | | | | | | | the ProcessUtility case, resulting in an intratransaction memory leak if a utility command actually did return any tuples, as reported by Dmitry Karasik. Fix this and also make the behavior more consistent for cases involving nested SPI operations and multiple query trees, by ensuring that we store the state locally until it is ready to be returned to the caller.
* Fix confusion between relfilenode and Oid.Alvaro Herrera2005-09-29
| | | | | Also, make pg_total_relation_size include the size of the TOAST index.
* Repair planning bug introduced in 7.4: outer-join ON clauses that referencedTom Lane2005-09-28
| | | | | | only the inner-side relation would be considered as potential equijoin clauses, which is wrong because the condition doesn't necessarily hold above the point of the outer join. Per test case from Kevin Grittner (bug#1916).
* Log protocol-excute fetch operatation as fetch, rather than execute,Bruce Momjian2005-09-26
| | | | adjusted from a patch by Simon.
* The original patch to avoid building a hash join's hashtable when theTom Lane2005-09-25
| | | | | | | | outer relation is empty did not work, per test case from Patrick Welche. It tried to use nodeHashjoin.c's high-level mechanisms for fetching an outer-relation tuple, but that code expected the hash table to be filled already. As patched, the code failed in corner cases such as having no outer-relation tuples for the first hash batch. Revert and rewrite.
* Clean up possibly-uninitialized-variable warnings reported by gcc 4.x.Tom Lane2005-09-24
|
* Suppress signed-vs-unsigned-char warnings.Tom Lane2005-09-24
|
* In a machine where INT64_IS_BUSTED, we can only support 32-bit valuesTom Lane2005-09-24
| | | | | | | for int8 and related types. However we might be talking to a client that has working int64; so pq_getmsgint64 really needs to check the incoming value and throw an overflow error if we can't represent it accurately.
* Add comments explaining clauses used by CREATE ROLE but not ALTER.Bruce Momjian2005-09-23
|
* Fix typo in comment.Tom Lane2005-09-23
|
* 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
|