aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Improve comment about ignoring 128 error code on Windows:Bruce Momjian2010-10-15
| | | | | * Microsoft reports it is related to mutex failure: * http://archives.postgresql.org/pgsql-hackers/2010-09/msg00790.php
* Add pg_user_mappings to the table of system views.Robert Haas2010-10-14
|
* Support MergeAppend plans, to allow sorted output from append relations.Tom Lane2010-10-14
| | | | | | | | | This patch eliminates the former need to sort the output of an Append scan when an ordered scan of an inheritance tree is wanted. This should be particularly useful for fast-start cases such as queries with LIMIT. Original patch by Greg Stark, with further hacking by Hans-Jurgen Schonig, Robert Haas, and Tom Lane.
* Fix makefile logic to not break the build when xgettext is missingPeter Eisentraut2010-10-14
| | | | | | xgettext is only required when make init-po is run manually; it is not required for a build. The intent to handle that was already there, but the ifdef's were in the wrong place.
* Remove reference.cedPeter Eisentraut2010-10-14
| | | | | | This is a parsed DocBook DTD for the PSGML Emacs mode, but it hasn't been updated since we switched to DocBook 4.2 about seven years ago. Also, PSGML has deprecated this method of DTD parsing.
* Complete the documentation of the USAGE privilege for foreign serversPeter Eisentraut2010-10-14
| | | | | | The GRANT reference page failed to mention that the USAGE privilege allows modifying associated user mappings, although this was already documented on the CREATE/ALTER/DROP USER MAPPING pages.
* Document (compositeval).* field selection syntaxPeter Eisentraut2010-10-14
|
* Improvements to docs about pg_archive_cleanup and use of archivesSimon Riggs2010-10-14
| | | | Brendan Jurd
* Make startup process respond to signals to cancel waiting on latch.Simon Riggs2010-10-14
| | | | | | A tidy up for recently committed changes to startup latch. Fujii Masao
* Fix bug in comment of timeline history file.Simon Riggs2010-10-14
| | | | Fujii Masao
* Applied patch by Itagaki Takahiro to fix incorrect status calculation inMichael Meskes2010-10-14
| | | | | | ecpglib. Instead of parsing the statement just as ask the database server. This patch removes the whole client side track keeping of the current transaction status.
* Remove executable permission from files where it doesn't belongPeter Eisentraut2010-10-13
|
* Add index entries for pg_stat* viewsPeter Eisentraut2010-10-13
|
* Mention the default pg_ctl wait time in the -t option documentationPeter Eisentraut2010-10-13
|
* Make title capitalization consistent with surroundingsPeter Eisentraut2010-10-13
|
* Put per-letter quicklinks at the top of the HTML bookindex pagePeter Eisentraut2010-10-13
|
* Accept 'public' as a pseudo-role name in has_table_privilege() and friendsItagaki Takahiro2010-10-13
| | | | | | | to see if a particular privilege has been granted to PUBLIC. The issue was reported by Jim Nasby. Patch by Alvaro Herrera, and reviewed by KaiGai Kohei.
* Remove some unnecessary tests of pgstat_track_counts.Tom Lane2010-10-12
| | | | | | | | | | | | We may as well make pgstat_count_heap_scan() and related macros just count whenever rel->pgstat_info isn't null. Testing pgstat_track_counts buys nothing at all in the normal case where that flag is ON; and when it's OFF, the pgstat_info link will be null, so it's still a useless test. This change is unlikely to buy any noticeable performance improvement, but a cycle shaved is a cycle earned; and my investigations earlier today convinced me that we're down to the point where individual instructions in the inner execution loops are starting to matter.
* Fix typoAlvaro Herrera2010-10-12
|
* Fix plpython so that it again honors typmod while assigning to tuple fields.Tom Lane2010-10-11
| | | | | This was broken in 9.0 while improving plpython's conversion behavior for bytea and boolean. Per bug report from maizi.
* Fix assorted bugs in GIN's WAL replay logic.Tom Lane2010-10-11
| | | | | | | | | | | | | | The original coding was quite sloppy about handling the case where XLogReadBuffer fails (because the page has since been deleted). This would result in either "bad buffer id: 0" or an Assert failure during replay, if indeed the page were no longer there. In a couple of places it also neglected to check whether the change had already been applied, which would probably result in corrupted index contents. I believe that bug #5703 is an instance of the first problem. These issues could show up without replication, but only if you were unfortunate enough to crash between modification of a GIN index and the next checkpoint. Back-patch to 8.2, which is as far back as GIN has WAL support.
* Improve the planner's simplification of NOT constructs.Tom Lane2010-10-10
| | | | | | | | | | | | | | | | | This patch merges the responsibility for NOT-flattening into eval_const_expressions' processing. It wasn't done that way originally because prepqual.c is far older than eval_const_expressions. But putting this work into eval_const_expressions saves one pass over the qual trees, and in fact saves even more than that because we can exploit the knowledge that the subexpressions have already been recursively simplified. Doing it this way also lets us do it uniformly over all expressions, whereas prepqual.c formerly just did it at top level to save cycles. That should improve the planner's ability to recognize logically-equivalent constructs. While at it, also add the ability to fold a NOT into BooleanTest and NullTest constructs (the latter only for the scalar-datatype case). Per discussion of bug #5702.
* Teach psql to do tab completion for names of psql variables.Tom Lane2010-10-10
| | | | | | | | | | Completion is supported in the context of \set and when interpolating a variable value using :foo etc. In passing, fix some places in tab-complete.c that weren't following project style for comment formatting. Pavel Stehule, reviewed by Itagaki Takahiro
* Support triggers on views.Tom Lane2010-10-10
| | | | | | | | | | | | | | | This patch adds the SQL-standard concept of an INSTEAD OF trigger, which is fired instead of performing a physical insert/update/delete. The trigger function is passed the entire old and/or new rows of the view, and must figure out what to do to the underlying tables to implement the update. So this feature can be used to implement updatable views using trigger programming style rather than rule hacking. In passing, this patch corrects the names of some columns in the information_schema.triggers view. It seems the SQL committee renamed them somewhere between SQL:99 and SQL:2003. Dean Rasheed, reviewed by Bernd Helmle; some additional hacking by me.
* Extensive ECPG documentation improvementsPeter Eisentraut2010-10-10
| | | | | | | | | | Satoshi Nagayasu, reviewed and revised by Peter Eisentraut Since this introduces new refentries that we probably don't want to publish as man pages, tweak man page stylesheet to omit man pages without manvolnum element. Peter Eisentraut
* Adjust EXPLAIN documentation, so that it's not unreasonably wide.Robert Haas2010-10-08
| | | | | | The new formatting matches what we do for COPY. Per a complaint from Bruce Momjian.
* Single-word clarification in postgresql.conf log_truncate_on_rotationBruce Momjian2010-10-08
| | | | comment.
* Fix sloppy usage of TRIGGER_FIRED_BEFORE/TRIGGER_FIRED_AFTER.Tom Lane2010-10-08
| | | | | | | | | | | | | | | | | | Various places were testing TRIGGER_FIRED_BEFORE() where what they really meant was !TRIGGER_FIRED_AFTER(), or vice versa. This needs to be cleaned up because there are about to be more than two possible states. We might want to note this in the 9.1 release notes as something for trigger authors to double-check. For consistency's sake I also changed some places that assumed that TRIGGER_FIRED_FOR_ROW and TRIGGER_FIRED_FOR_STATEMENT are necessarily mutually exclusive; that's not in immediate danger of breaking, but it's still sloppier than it should be. Extracted from Dean Rasheed's patch for triggers on views. I'm committing this separately since it's an identifiable separate issue, and is the only reason for the patch to touch most of these particular files.
* Warn that views can be safely used to hide columns, but not rows.Robert Haas2010-10-08
|
* Improve logging in VACUUM FULL VERBOSE and CLUSTER VERBOSE.Tom Lane2010-10-07
| | | | | | | | | This patch resurrects some of the information that could be logged by the old, now-dead implementation of VACUUM FULL, in particular counts of live and dead tuples and the time taken for the table rebuild proper. There's still no logging about the ensuing index rebuilds, though. Itagaki Takahiro
* Eliminate some repetitive coding in tuplesort.c.Tom Lane2010-10-07
| | | | | | Use a macro LogicalTapeReadExact() to encapsulate the error check when we want to read an exact number of bytes from a "tape". Per a suggestion of Takahiro Itagaki.
* Teach CLUSTER to use seqscan-and-sort when it's faster than indexscan.Tom Lane2010-10-07
| | | | | | ... or at least, when the planner's cost estimates say it will be faster. Leonardo Francalanci, reviewed by Itagaki Takahiro and Tom Lane
* Improve WAL reliability documentation, and add more cross-references to it.Robert Haas2010-10-07
| | | | | | | | In particular, we are now more explicit about the fact that you may need wal_sync_method=fsync_writethrough for crash-safety on some platforms, including MaxOS X. There's also now an explicit caution against assuming that the default setting of wal_sync_method is either crash-safe or best for performance.
* Reduce the memory requirement for large ispell dictionaries.Tom Lane2010-10-06
| | | | | | | | | | | This patch eliminates per-chunk palloc overhead for most small allocations needed in the representation of an ispell dictionary. This saves close to a factor of 2 on the current Czech ispell data. While it doesn't cover every last small allocation in the ispell code, we are at the point of diminishing returns, because about 95% of the allocations are covered already. Pavel Stehule, rather heavily revised by Tom
* Clean up temporary-memory management during ispell dictionary loading.Tom Lane2010-10-06
| | | | | | | | | | | Add explicit initialization and cleanup functions to spell.c, and keep all working state in the already-existing ISpellDict struct. This lets us get rid of a static variable along with some extremely shaky assumptions about usage of child memory contexts. This commit is just code beautification and has no impact on functionality or performance, but it opens the way to a less-grotty implementation of Pavel's memory-saving hack, which will follow shortly.
* Correct docs for behaviour of ALTER DATABASE .. RENAME during Hot Standby.Simon Riggs2010-10-06
| | | | | | | Actual behaviour did not match documented behaviour and we have agreed that it should be the docs that change. Spotted by Bernd Helmle
* Undo some poorly-thought-out "proofreading improvements".Tom Lane2010-10-05
| | | | Per Tatsuhito Kasahara.
* Behave correctly if INSERT ... VALUES is decorated with additional clauses.Tom Lane2010-10-02
| | | | | | | | | | In versions 8.2 and up, the grammar allows attaching ORDER BY, LIMIT, FOR UPDATE, or WITH to VALUES, and hence to INSERT ... VALUES. But the special-case code for VALUES in transformInsertStmt() wasn't expecting any of those, and just ignored them, leading to unexpected results. Rather than complicate the special-case path, just ensure that the presence of any of those clauses makes us treat the query as if it had a general SELECT. Per report from Hitoshi Harada.
* Remove excess argument to open(2).Tom Lane2010-10-02
| | | | | | | Many compilers don't complain about this, but some do, and it's certainly wrong. Back-patch to 8.4 where the error was introduced. Mark Kirkwood
* Throw an appropriate error if ALTER COLUMN TYPE finds a dependent trigger.Tom Lane2010-10-02
| | | | | | | | | Actually making this case work, if the column is used in the trigger's WHEN condition, will take some new code that probably isn't appropriate to back-patch. For now, just throw a FEATURE_NOT_SUPPORTED error rather than allowing control to reach the "unexpected object" case. Per bug #5688 from Daniel Grace. Back-patch to 9.0 where the possibility of such a dependency was introduced.
* Use a separate interpreter for each calling SQL userid in plperl and pltcl.Tom Lane2010-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | There are numerous methods by which a Perl or Tcl function can subvert the behavior of another such function executed later; for example, by redefining standard functions or operators called by the target function. If the target function is SECURITY DEFINER, or is called by such a function, this means that any ordinary SQL user with Perl or Tcl language usage rights can do essentially anything with the privileges of the target function's owner. To close this security hole, create a separate Perl or Tcl interpreter for each SQL userid under which plperl or pltcl functions are executed within a session. However, all plperlu or pltclu functions run within a session still share a single interpreter, since they all execute at the trust level of a database superuser anyway. Note: this change results in a functionality loss when libperl has been built without the "multiplicity" option: it's no longer possible to call plperl functions under different userids in one session, since such a libperl can't support multiple interpreters in one process. However, such a libperl already failed to support concurrent use of plperl and plperlu, so it's likely that few people use such versions with Postgres. Security: CVE-2010-3433
* Adjust pg_archivecleanup docs to match message changes made 2010-06-17.Robert Haas2010-09-30
| | | | Erik Rijkers
* Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,Tom Lane2010-09-30
| | | | 8.0.26, and 7.4.30.
* Add/fix caching on some configure checksPeter Eisentraut2010-09-29
|
* Update ecpglib error code listingPeter Eisentraut2010-09-29
| | | | Satoshi Nagayasu
* Have pg_upgrade use strtoul(), not strtol().Bruce Momjian2010-09-29
|
* Use macro atooid() for conversion of strings to oids, per suggestionBruce Momjian2010-09-28
| | | | from Tom.
* Improve messages for too many private files/dirs. Per Alexey Parshin.Tom Lane2010-09-28
|
* In pg_upgrade, properly handle oids > 2^31 by using strtoul() internallyBruce Momjian2010-09-28
| | | | | | rather than atol(). Per report from Brian Hirt
* Fix leak patch that was using fclose() instead of close().Bruce Momjian2010-09-28
|