summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-02-22Add a relkind field to RangeTblEntry to avoid some syscache lookups.Tom Lane
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.
2011-02-22Add PL/Python functions for quoting stringsPeter Eisentraut
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
2011-02-22Fix a couple of unlogged tables goofs.Robert Haas
"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.
2011-02-22Allow binary I/O of type "void".Tom Lane
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
2011-02-22Reword information_schema duplicate constraint warning text.Bruce Momjian
2011-02-21Remove ExecRemoveJunk(), which is no longer used anywhere.Tom Lane
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).
2011-02-21Fix dangling-pointer problem in before-row update trigger processing.Tom Lane
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.
2011-02-21Move information_schema duplicate constraint note to the top of theBruce Momjian
information schema documentation because it affects several tables.
2011-02-21Update docs about new role privileges reference, per Alvaro.Bruce Momjian
2011-02-21Fix pg_server_to_client, that was broken in the previous commit.Itagaki Takahiro
2011-02-21Add ENCODING option to COPY TO/FROM and file_fdw.Itagaki Takahiro
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.
2011-02-20Merge two documentation permission chapters into a single chapter.Bruce Momjian
2011-02-20Minor logic fix for new levenshtein implementation.Tom Lane
Alexander Korotkov
2011-02-20Add contrib/file_fdw foreign-data wrapper for reading files via COPY.Tom Lane
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
2011-02-20Implement an API to let foreign-data wrappers actually be functional.Tom Lane
This commit provides the core code and documentation needed. A contrib module test case will follow shortly. Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
2011-02-20Adjust documentation wording of window function ORDER BY to not mentionBruce Momjian
avg() because it was inaccurate.
2011-02-19Documentation update for UTF16 surrogate pairs in UTF8 encoding.Bruce Momjian
Marko Kreen
2011-02-19Document that an SQL-standard-compliant query that expects a unique rowBruce Momjian
from information_schema.referential_constraints might return several in Postgres because we allow duplicate-named constraints in the same schema.
2011-02-19Invalidate PL/Python functions with composite type argument when thePeter Eisentraut
type changes. The invalidation will cause the type information to be refetched, and everything will work. Jan Urbański, reviewed by Alex Hunsaker
2011-02-19Initialize variable to quiet compiler.Bruce Momjian
2011-02-19Set psql client encoding from locale by defaultPeter Eisentraut
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
2011-02-19Create the catalog infrastructure for foreign-data-wrapper handlers.Tom Lane
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
2011-02-18Improve text search prefix doc addition.Bruce Momjian
2011-02-18Document that text search comparisons happen after text searchBruce Momjian
configuration rules. Erik Rijkers
2011-02-18Un-break building with BTREE_BUILD_STATS.Tom Lane
This has been broken for awhile, but not clear it's worth back-patching. Euler Taveira de Oliveira
2011-02-18Fix parallel pg_restore to handle comments on POST_DATA items correctly.Tom Lane
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.
2011-02-18One more hack to make contrib upgrades from 9.0 match fresh 9.1 installs.Tom Lane
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.
2011-02-18Use $INDENT instead of `which` to find the indent binaryAlvaro Herrera
Per discussion after my commit o yesterday.
2011-02-18Make a hard state change from catchup to streaming mode.Simon Riggs
More useful state change for monitoring purposes, plus a required change for synchronous replication patch.
2011-02-18Separate messages for standby replies and hot standby feedback.Simon Riggs
Allow messages to be sent at different times, and greatly reduce the frequency of hot standby feedback. Refactor to allow additional message types.
2011-02-18Properly initialize variablesMagnus Hagander
Kevin Grittner
2011-02-18Applied a patch by Zoltán Böszörményi that makes ecpg's parser accept ↵Michael Meskes
dynamic cursornames even in WHERE CURRENT OF clauses.
2011-02-18Fix an uninitialized field in DR_copy.Itagaki Takahiro
Shigeru HANADA
2011-02-18Add transaction-level advisory locks.Itagaki Takahiro
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.
2011-02-17Convert Postgres arrays to Perl arrays on PL/perl input argumentsAlvaro Herrera
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.
2011-02-17pgindent run on plperl.cAlvaro Herrera
2011-02-17Use $INDENT rather than indent throughout the pgindent codeAlvaro Herrera
This allows the user to change the path to be used more easily. Also, change URL in README.
2011-02-17Fix tsmatchsel() to account properly for null rows.Tom Lane
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
2011-02-17Fix upgrade of contrib/xml2 from 9.0.Tom Lane
Update script was being sloppy about two functions that have been changed since 9.0.
2011-02-17Fix upgrade of contrib/intarray and contrib/unaccent from 9.0.Tom Lane
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.
2011-02-17Fix upgrade of contrib/btree_gist from 9.0.Tom Lane
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.
2011-02-17Add client_hostname field to pg_stat_activity.Robert Haas
Peter Eisentraut, reviewed by Steve Singer, Alvaro Herrera, and me.
2011-02-17Prevent possible compiler warnings.Robert Haas
Simon Riggs reports that rnode.dbNode and rnode.spcNode were generating unused variable warnings on gcc 4.4.3 with CFLAGS=-O1
2011-02-17Typo fixBruce Momjian
Erik Rijkers
2011-02-17Fix contrib/pg_trgm to have smoother updates from 9.0.Tom Lane
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.
2011-02-17Remove doc mention about read committed in upsert example.Bruce Momjian
2011-02-17Document that plpgsql upsert example can fail if insert triggers returnBruce Momjian
unique exception, or if not used in read committed transaction mode.
2011-02-17In documentation example, use concat_values() instead of concat()Bruce Momjian
because concat() is a built-in function. Erik Rijkers
2011-02-17Add some words of caution to elog.c.Robert Haas
Stephen Frost, somewhat rewritten by me
2011-02-17Typo fixes.Robert Haas
Thom Brown