aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Remove prefix "ERROR:" from some messages, to make everything consistentPeter Eisentraut2009-11-29
|
* Make pg_stat_activity.application_name visible to all users, rather thanTom Lane2009-11-29
| | | | | being hidden when current_query is. Relocate it to a column position more consistent with that behavior. Per discussion.
* Add support for anonymous code blocks (DO blocks) to PL/Perl.Tom Lane2009-11-29
| | | | Joshua Tolley, reviewed by Brendan Jurd and Tim Bunce
* Add support for an application_name parameter, which is displayed inTom Lane2009-11-28
| | | | | | pg_stat_activity and recorded in log entries. Dave Page, reviewed by Andres Freund
* fsync test toolsBruce Momjian2009-11-28
| | | | Add link to exteran fsync testing script and our fsync test tool.
* test_fsync:Bruce Momjian2009-11-28
| | | | | Improve test descriptions displayed during test_fsync; increase default loops to 5k.
* Eliminate a lot of list-management overhead within join_search_one_levelTom Lane2009-11-28
| | | | | | | | | | | | | | by adding a requirement that build_join_rel add new join RelOptInfos to the appropriate list immediately at creation. Per report from Robert Haas, the list_concat_unique_ptr() calls that this change eliminates were taking the lion's share of the runtime in larger join problems. This doesn't do anything to fix the fundamental combinatorial explosion in large join problems, but it should push out the threshold of pain a bit further. Note: because this changes the order in which joinrel lists are built, it might result in changes in selected plans in cases where different alternatives have exactly the same costs. There is one example in the regression tests.
* Document ath vacuumdb --analyze does analyze _also_, not in place ofBruce Momjian2009-11-27
| | | | vacuum.
* Remove */ characters from declare cursor statements before putting them into aMichael Meskes2009-11-27
| | | | comment.
* If no result is given NOTFOUND should be returned. Check for empty resultMichael Meskes2009-11-27
| | | | string too.
* Added script to check if all rule re-definition in ecpg.addons are indeed usedMichael Meskes2009-11-27
| | | | in the build process. If not the build process will stop with an error message.
* Fix missing end tag, per Jeff Davis.Tom Lane2009-11-26
|
* Added missing files.Michael Meskes2009-11-26
|
* Forgot to add dynamic cursors to Changelog.Michael Meskes2009-11-26
|
* Synced addon rules after some renamings.Michael Meskes2009-11-26
|
* Added dynamic cursor names to ecpg. Almost the whole patch was done byMichael Meskes2009-11-26
| | | | Boszormenyi Zoltan, with only a minor tweak or two from me.
* Simplify psql's new linestyle behavior to default to linestyle=ascii allTom Lane2009-11-25
| | | | | the time, rather than hoping we can tell whether the terminal supports UTF8 characters. Per discussion.
* Fix syntax in extract() examplesPeter Eisentraut2009-11-24
| | | | Author: Erik Rijkers <er@xs4all.nl>
* Made function better readable.Michael Meskes2009-11-24
|
* Add PG_MODULE_MAGIC and some missing include files to examplesPeter Eisentraut2009-11-23
| | | | Author: Euler Taveira de Oliveira <euler@timbira.com>
* Use diff's -w switch only on Windows, to avoid problems with inconsistentTom Lane2009-11-23
| | | | | newline representations. Per buildfarm results and subsequent discussion. Sync up a couple of other places that had their own policies.
* Add missing library to standalone libpq build on Win32.Magnus Hagander2009-11-23
| | | | Hiroshi Saito
* Fix an old bug in multixact and two-phase commit. Prepared transactions canHeikki Linnakangas2009-11-23
| | | | | | | | | | | | | be part of multixacts, so allocate a slot for each prepared transaction in the "oldest member" array in multixact.c. On PREPARE TRANSACTION, transfer the oldest member value from the current backends slot to the prepared xact slot. Also save and recover the value from the 2pc state file. The symptom of the bug was that after a transaction prepared, a shared lock still held by the prepared transaction was sometimes ignored by other transactions. Fix back to 8.1, where both 2PC and multixact were introduced.
* Assorted wordsmithing on the documentation of \pset --- try to make itTom Lane2009-11-22
| | | | | a bit more consistent and less obviously written by different people at different times.
* Adjust expected-results spacing per buildfarm results.Tom Lane2009-11-22
|
* Remove -w (--ignore-all-space) option from pg_regress's diff calls.Tom Lane2009-11-22
| | | | | | | | | | | | | We have used -w for a long time as a means of reducing the reported diff volume when one element of a result table isn't of the expected width. However, most of the time the results just pass anyway, so this isn't as important as it once was. Meanwhile, the risk of missing potentially significant deviations has gone up, particularly with psql's ability to report error cursor positions. So, let's switch over to space-sensitive comparisons. Per my proposal of yesterday. (All the expected files that I can test here seem to be ready for this already, but we'll see what the buildfarm thinks about others.)
* Remove superfluous curly brace, fixing compilation with OPTIMIZER_DEBUG.Heikki Linnakangas2009-11-22
| | | | Jan Urbanski
* Ooops, forgot to check the libxml cases for psql output wrapping change.Tom Lane2009-11-22
|
* Improve psql's tabular display of wrapped-around data by inserting markersTom Lane2009-11-22
| | | | | | | | | | | | | | | | in the formerly-always-blank columns just to left and right of the data. Different marking is used for a line break caused by a newline in the data than for a straight wraparound. A newline break is signaled by a "+" in the right margin column in ASCII mode, or a carriage return arrow in UNICODE mode. Wraparound is signaled by a dot in the right margin as well as the following left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE mode. "\pset linestyle old-ascii" is added to make the previous behavior available if anyone really wants it. In passing, this commit also cleans up a few regression test files that had unintended spacing differences from the current actual output. Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.
* Ignore UTF-8-encoded Unicode byte-order mark at the beginning of a file ifPeter Eisentraut2009-11-21
| | | | | | the client encoding is UTF-8. a limited version of a patch proposed by Itagaki Takahiro
* Refactor ecpg grammar so that it uses the core grammar's unreserved_keywordTom Lane2009-11-21
| | | | | | | | | | | list, minus a few specific words that have to be treated specially. This replaces a hard-wired list of keywords that would have needed manual maintenance, and was not getting it. The 8.4 coding was already missing these words, causing ecpg to incorrectly treat them as reserved words: CALLED, CATALOG, DEFINER, ENUM, FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY, SERVER, UNBOUNDED, WRAPPER. In HEAD we were additionally missing COMMENTS, FUNCTIONS, SEQUENCES, TABLES. Per gripe from Bosco Rama.
* Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to beTom Lane2009-11-20
| | | | | | | | | | | checked to determine whether the trigger should be fired. For BEFORE triggers this is mostly a matter of spec compliance; but for AFTER triggers it can provide a noticeable performance improvement, since queuing of a deferred trigger event and re-fetching of the row(s) at end of statement can be short-circuited if the trigger does not need to be fired. Takahiro Itagaki, reviewed by KaiGai Kohei.
* Typo: dump -> restorePeter Eisentraut2009-11-19
| | | | | | fixed in 8.4 and 8.5 Author: Guillaume Lelarge <guillaume@lelarge.info>
* Fix memory leak in syslogger: logfile_rotate() would leak a copy of theTom Lane2009-11-19
| | | | | | | | | output filename if CSV logging was enabled and only one of the two possible output files got rotated during a particular call (which would, in fact, typically be the case during a size-based rotation). This would amount to about MAXPGPATH (1KB) per rotation, and it's been there since the CSV code was put in, so it's surprising that nobody noticed it before. Per bug #5196 from Thomas Poindessous.
* Add a hook to CREATE/ALTER ROLE to allow an external module to check theTom Lane2009-11-18
| | | | | | | strength of database passwords, and create a sample implementation of such a hook as a new contrib module "passwordcheck". Laurenz Albe, reviewed by Takahiro Itagaki
* Provide a parenthesized-options syntax for VACUUM, analogous to that recentlyTom Lane2009-11-16
| | | | | | | | adopted for EXPLAIN. This will allow additional options to be implemented in future without having to make them fully-reserved keywords. The old syntax remains available for existing options, however. Itagaki Takahiro
* While doing the final setrefs.c pass over a plan tree, try to match upTom Lane2009-11-16
| | | | | | | | | | | | | | | non-Var sort/group expressions using ressortgroupref labels instead of depending entirely on equal()-ity of the upper node's tlist expressions to the lower node's. This avoids emitting the wrong outputs in cases where there are textually identical volatile sort/group expressions, as for example select distinct random(),random() from generate_series(1,10); Per report from Andrew Gierth. Backpatch to 8.4. Arguably this is wrong all the way back, but the only known case where there's an observable problem is when using hash aggregation to implement DISTINCT, which is new as of 8.4. So for the moment I'll refrain from backpatching further.
* Make text search parser accept underscores in XML attributes (bug #5075)Peter Eisentraut2009-11-15
|
* Improve planning of Materialize nodes inserted atop the inner input of aTom Lane2009-11-15
| | | | | | | | | mergejoin to shield it from doing mark/restore and refetches. Put an explicit flag in MergePath so we can centralize the logic that knows about this, and add costing logic that considers using Materialize even when it's not forced by the previously-existing considerations. This is in response to a discussion back in August that suggested that materializing an inner indexscan can be helpful when the refetch percentage is high enough.
* Make unaccent's install/uninstall scripts look more like all the others.Tom Lane2009-11-14
| | | | Set search_path explicitly, don't use IF EXISTS, etc.
* Add inheritable ACE when creating a restricted token for execution onMagnus Hagander2009-11-14
| | | | | | | | Win32. Also refactor the code around it to be more clear. Jesse Morris
* Clean up a couple of bizarre code formatting choices in recent CREATE LIKE ↵Tom Lane2009-11-13
| | | | patch.
* Avoid assuming that enum CreateStmtLikeOption is unsigned. Zdenek KotalaTom Lane2009-11-13
|
* Add control knobs for plpgsql's variable resolution behavior, and make theTom Lane2009-11-13
| | | | | | | | | | | | | | | | | default be "throw error on conflict", as per discussions. The GUC variable is plpgsql.variable_conflict, with values "error", "use_variable", "use_column". The behavior can also be specified per-function by inserting one of #variable_conflict error #variable_conflict use_variable #variable_conflict use_column at the start of the function body. The 8.5 release notes will need to mention using "use_variable" to retain backward-compatible behavior, although we should encourage people to migrate to the much less mistake-prone "error" setting. Update the plpgsql documentation to match this and other recent changes.
* A better fix for the "ARRAY[...]::domain" problem. The previous patch worked,Heikki Linnakangas2009-11-13
| | | | | | | but the transformed ArrayExpr claimed to have a return type of "domain", even though the domain constraint was only checked by the enclosing CoerceToDomain node. With this fix, the ArrayExpr is correctly labeled with the base type of the domain. Per gripe by Tom Lane.
* When you do "ARRAY[...]::domain", where domain is a domain over an array type,Heikki Linnakangas2009-11-13
| | | | | | | | | we need to check domain constraints. We used to do it correctly, but 8.4 introduced a separate code path for the "ARRAY[]::arraytype" case to infer the type of an empty ARRAY construct from the cast target, and forgot to take domains into account. Per report from Florian G. Pflug.
* Fix multicolumn GIN's wrong results with fastupdate enabled.Teodor Sigaev2009-11-13
| | | | | | | | User-defined consistent functions believes the check array contains at least one true element which was not a true for scanning pending list. Per report from Yury Don <yura@vpcit.ru>
* The recent patch to log changes in postgresql.conf settings dumped coreTom Lane2009-11-12
| | | | | if the initial value of a string variable was NULL, which is entirely possible. Noted while experimenting with custom_variable_classes.
* Check for C/POSIX before assuming that nl_langinfo or win32_langinfoTom Lane2009-11-12
| | | | will work. Per buildfarm results.
* Make initdb behave sanely when the selected locale has codeset "US-ASCII".Tom Lane2009-11-12
| | | | | | | | | | | | | | Per discussion, this should result in defaulting to SQL_ASCII encoding. The original coding could not support that because it conflated selection of SQL_ASCII encoding with not being able to determine the encoding. Adjust pg_get_encoding_from_locale()'s API to distinguish these cases, and fix callers appropriately. Only initdb actually changes behavior, since the other callers were perfectly content to consider these cases equivalent. Per bug #5178 from Boh Yap. Not going to bother back-patching, since no one has complained before and there's an easy workaround (namely, specify the encoding you want).