aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add a relkind field to RangeTblEntry to avoid some syscache lookups.Tom Lane2011-02-22
| | | | | | | | | The recent additions for FDW support required checking foreign-table-ness in several places in the parse/plan chain. While it's not clear whether that would really result in a noticeable slowdown, it seems best to avoid any performance risk by keeping a copy of the relation's relkind in RangeTblEntry. That might have some other uses later, anyway. Per discussion.
* Add PL/Python functions for quoting stringsPeter Eisentraut2011-02-22
| | | | | | | | | | | | Add functions plpy.quote_ident, plpy.quote_literal, plpy.quote_nullable, which wrap the equivalent SQL functions. To be able to propagate char * constness properly, make the argument of quote_literal_cstr() const char *. This also makes it more consistent with quote_identifier(). Jan Urbański, reviewed by Hitoshi Harada, some refinements by Peter Eisentraut
* Fix a couple of unlogged tables goofs.Robert Haas2011-02-22
| | | | | | | | "SELECT ... INTO UNLOGGED tabname" works, but wasn't documented; CREATE UNLOGGED SEQUENCE and CREATE UNLOGGED VIEW failed an assertion, instead of throwing a sensible error. Latter issue reported by Itagaki Takahiro; patch review by Tom Lane.
* Allow binary I/O of type "void".Tom Lane2011-02-22
| | | | | | | | | void_send is useful for the same reason that void_out doesn't throw error, namely that someone might do "select void_returning_func(...)" from a client that prefers to operate in binary mode. The void_recv function may or may not have any practical use, but we provide it for symmetry. Radosław Smogura
* Reword information_schema duplicate constraint warning text.Bruce Momjian2011-02-22
|
* Remove ExecRemoveJunk(), which is no longer used anywhere.Tom Lane2011-02-21
| | | | | | | This was a leftover from the pre-8.1 design of junkfilters. It doesn't seem to have any reason to live, since it's merely a combination of two easy function calls, and not a well-designed combination at that (it encourages callers to leak the result tuple).
* Fix dangling-pointer problem in before-row update trigger processing.Tom Lane2011-02-21
| | | | | | | | | | | | | | | | | | | | | | ExecUpdate checked for whether ExecBRUpdateTriggers had returned a new tuple value by seeing if the returned tuple was pointer-equal to the old one. But the "old one" was in estate->es_junkFilter's result slot, which would be scribbled on if we had done an EvalPlanQual update in response to a concurrent update of the target tuple; therefore we were comparing a dangling pointer to a live one. Given the right set of circumstances we could get a false match, resulting in not forcing the tuple to be stored in the slot we thought it was stored in. In the case reported by Maxim Boguk in bug #5798, this led to "cannot extract system attribute from virtual tuple" failures when trying to do "RETURNING ctid". I believe there is a very-low-probability chance of more serious errors, such as generating incorrect index entries based on the original rather than the trigger-modified version of the row. In HEAD, change all of ExecBRInsertTriggers, ExecIRInsertTriggers, ExecBRUpdateTriggers, and ExecIRUpdateTriggers so that they continue to have similar APIs. In the back branches I just changed ExecBRUpdateTriggers, since there is no bug in the ExecBRInsertTriggers case.
* Move information_schema duplicate constraint note to the top of theBruce Momjian2011-02-21
| | | | information schema documentation because it affects several tables.
* Update docs about new role privileges reference, per Alvaro.Bruce Momjian2011-02-21
|
* Fix pg_server_to_client, that was broken in the previous commit.Itagaki Takahiro2011-02-21
|
* Add ENCODING option to COPY TO/FROM and file_fdw.Itagaki Takahiro2011-02-21
| | | | | | | | | | | File encodings can be specified separately from client encoding. If not specified, client encoding is used for backward compatibility. Cases when the encoding doesn't match client encoding are slower than matched cases because we don't have conversion procs for other encodings. Performance improvement would be be a future work. Original patch by Hitoshi Harada, and modified by me.
* Merge two documentation permission chapters into a single chapter.Bruce Momjian2011-02-20
|
* Minor logic fix for new levenshtein implementation.Tom Lane2011-02-20
| | | | Alexander Korotkov
* Add contrib/file_fdw foreign-data wrapper for reading files via COPY.Tom Lane2011-02-20
| | | | | | | | | | | | This is both very useful in its own right, and an important test case for the core FDW support. This commit includes a small refactoring of copy.c to expose its option checking code as a separately callable function. The original patch submission duplicated hundreds of lines of that code, which seemed pretty unmaintainable. Shigeru Hanada, reviewed by Itagaki Takahiro and Tom Lane
* Implement an API to let foreign-data wrappers actually be functional.Tom Lane2011-02-20
| | | | | | | This commit provides the core code and documentation needed. A contrib module test case will follow shortly. Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
* Adjust documentation wording of window function ORDER BY to not mentionBruce Momjian2011-02-20
| | | | avg() because it was inaccurate.
* Documentation update for UTF16 surrogate pairs in UTF8 encoding.Bruce Momjian2011-02-19
| | | | Marko Kreen
* Document that an SQL-standard-compliant query that expects a unique rowBruce Momjian2011-02-19
| | | | | | from information_schema.referential_constraints might return several in Postgres because we allow duplicate-named constraints in the same schema.
* Invalidate PL/Python functions with composite type argument when thePeter Eisentraut2011-02-19
| | | | | | | | | type changes. The invalidation will cause the type information to be refetched, and everything will work. Jan Urbański, reviewed by Alex Hunsaker
* Initialize variable to quiet compiler.Bruce Momjian2011-02-19
|
* Set psql client encoding from locale by defaultPeter Eisentraut2011-02-19
| | | | | | | | | | | | | | Add a new libpq connection option client_encoding (which includes the existing PGCLIENTENCODING environment variable), which besides an encoding name accepts a special value "auto" that tries to determine the encoding from the locale in the client's environment, using the mechanisms that have been in use in initdb. psql sets this new connection option to "auto" when running from a terminal and not overridden by setting PGCLIENTENCODING. original code by Heikki Linnakangas, with subsequent contributions by Jaime Casanova, Peter Eisentraut, Stephen Frost, Ibrar Ahmed
* Create the catalog infrastructure for foreign-data-wrapper handlers.Tom Lane2011-02-19
| | | | | | | | | | | | | | | Add a fdwhandler column to pg_foreign_data_wrapper, plus HANDLER options in the CREATE FOREIGN DATA WRAPPER and ALTER FOREIGN DATA WRAPPER commands, plus pg_dump support for same. Also invent a new pseudotype fdw_handler with properties similar to language_handler. This is split out of the "FDW API" patch for ease of review; it's all stuff we will certainly need, regardless of any other details of the FDW API. FDW handler functions will not actually get called yet. In passing, fix some omissions and infelicities in foreigncmds.c. Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
* Improve text search prefix doc addition.Bruce Momjian2011-02-18
|
* Document that text search comparisons happen after text searchBruce Momjian2011-02-18
| | | | | | configuration rules. Erik Rijkers
* Un-break building with BTREE_BUILD_STATS.Tom Lane2011-02-18
| | | | | | This has been broken for awhile, but not clear it's worth back-patching. Euler Taveira de Oliveira
* Fix parallel pg_restore to handle comments on POST_DATA items correctly.Tom Lane2011-02-18
| | | | | | | | | | | | The previous coding would try to process all SECTION_NONE items in the initial sequential-restore pass, which failed if they were dependencies of not-yet-restored items. Fix by postponing such items into the parallel processing pass once we have skipped any non-PRE_DATA item. Back-patch into 9.0; the original parallel-restore coding in 8.4 did not have this bug, so no need to change it. Report and diagnosis by Arnd Hannemann.
* One more hack to make contrib upgrades from 9.0 match fresh 9.1 installs.Tom Lane2011-02-18
| | | | | | | | | | | | | | | | | intarray and tsearch2 both reference core support functions in their GIN opclasses, and the signatures of those functions changed for 9.1. We added backwards-compatible pg_proc entries for the functions in order to allow 9.0 dump files to be restored at all, but that hack leaves the opclasses pointing at pg_proc entries different from what they'd point to if the contrib modules were installed fresh in 9.1. To forestall any possibility of future problems, fix the opclasses to match fresh installs via the expedient of direct UPDATEs on pg_amproc in the update-from-unpackaged scripts. (Yech ... but the alternatives are worse, or require far more effort than seems justified right now.) Note: updating pg_amproc is sufficient because there will be no pg_depend entries corresponding to these dependencies, since the referenced functions are all pinned.
* Use $INDENT instead of `which` to find the indent binaryAlvaro Herrera2011-02-18
| | | | Per discussion after my commit o yesterday.
* Make a hard state change from catchup to streaming mode.Simon Riggs2011-02-18
| | | | | More useful state change for monitoring purposes, plus a required change for synchronous replication patch.
* Separate messages for standby replies and hot standby feedback.Simon Riggs2011-02-18
| | | | | | Allow messages to be sent at different times, and greatly reduce the frequency of hot standby feedback. Refactor to allow additional message types.
* Properly initialize variablesMagnus Hagander2011-02-18
| | | | Kevin Grittner
* Applied a patch by Zoltán Böszörményi that makes ecpg's parser accept ↵Michael Meskes2011-02-18
| | | | dynamic cursornames even in WHERE CURRENT OF clauses.
* Fix an uninitialized field in DR_copy.Itagaki Takahiro2011-02-18
| | | | Shigeru HANADA
* Add transaction-level advisory locks.Itagaki Takahiro2011-02-18
| | | | | | | | | They share the same locking namespace with the existing session-level advisory locks, but they are automatically released at the end of the current transaction and cannot be released explicitly via unlock functions. Marko Tiikkaja, reviewed by me.
* Convert Postgres arrays to Perl arrays on PL/perl input argumentsAlvaro Herrera2011-02-17
| | | | | | | | | | | | More generally, arrays are turned in Perl array references, and row and composite types are turned into Perl hash references. This is done recursively, in a way that's natural to every Perl programmer. To avoid a backwards compatibility hit, the string representation of each structure is also available if the function requests it. Authors: Alexey Klyukin and Alex Hunsaker. Some code cleanups by me.
* pgindent run on plperl.cAlvaro Herrera2011-02-17
|
* Use $INDENT rather than indent throughout the pgindent codeAlvaro Herrera2011-02-17
| | | | | This allows the user to change the path to be used more easily. Also, change URL in README.
* Fix tsmatchsel() to account properly for null rows.Tom Lane2011-02-17
| | | | | | | | | | | ts_typanalyze.c computes MCE statistics as fractions of the non-null rows, which seems fairly reasonable, and anyway changing it in released versions wouldn't be a good idea. But then ts_selfuncs.c has to account for that. Failure to do so results in overestimates in columns with a significant fraction of null documents. Back-patch to 8.4 where this stuff was introduced. Jesper Krogh
* Fix upgrade of contrib/xml2 from 9.0.Tom Lane2011-02-17
| | | | | Update script was being sloppy about two functions that have been changed since 9.0.
* Fix upgrade of contrib/intarray and contrib/unaccent from 9.0.Tom Lane2011-02-17
| | | | | Take care of a couple of discrepancies between what you get from a fresh install and what the first-draft update-from-unpackaged scripts produced.
* Fix upgrade of contrib/btree_gist from 9.0.Tom Lane2011-02-17
| | | | | | | The initial version of the update-from-unpackaged script neglected to include the <> operators that were added to the opclasses during 9.1. To make this script produce the same final state as the regular install script, use the same ALTER OPERATOR FAMILY trick as in pg_trgm.
* Add client_hostname field to pg_stat_activity.Robert Haas2011-02-17
| | | | Peter Eisentraut, reviewed by Steve Singer, Alvaro Herrera, and me.
* Prevent possible compiler warnings.Robert Haas2011-02-17
| | | | | Simon Riggs reports that rnode.dbNode and rnode.spcNode were generating unused variable warnings on gcc 4.4.3 with CFLAGS=-O1
* Typo fixBruce Momjian2011-02-17
| | | | Erik Rijkers
* Fix contrib/pg_trgm to have smoother updates from 9.0.Tom Lane2011-02-17
| | | | | | | | | | | | | | | Take care of some loose ends in the update-from-unpackaged script, and apply some ugly hacks to ensure that it produces the same catalog state as the fresh-install script. Per discussion, this seems like a safer plan than having two different catalog states that both call themselves "pg_trgm 1.0", even if it's not immediately clear that the subtle differences would ever matter. Also, fix the stub function gin_extract_trgm() so that it works instead of just bleating. Needed because this function will get called during a regular dump and reload, if there are any indexes using its opclass. The user won't have an opportunity to update the extension till later, so telling him to do so is unhelpful.
* Remove doc mention about read committed in upsert example.Bruce Momjian2011-02-17
|
* Document that plpgsql upsert example can fail if insert triggers returnBruce Momjian2011-02-17
| | | | unique exception, or if not used in read committed transaction mode.
* In documentation example, use concat_values() instead of concat()Bruce Momjian2011-02-17
| | | | | | because concat() is a built-in function. Erik Rijkers
* Add some words of caution to elog.c.Robert Haas2011-02-17
| | | | Stephen Frost, somewhat rewritten by me
* Typo fixes.Robert Haas2011-02-17
| | | | Thom Brown