summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2008-10-31Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETETom Lane
RETURNING clause, not just a SELECT as formerly. A side effect of this patch is that when a set-returning SQL function is used in a FROM clause, performance is improved because the output is collected into a tuplestore within the function, rather than using the less efficient value-per-call mechanism.
2008-10-31The conversion rule from postgres.sgml to postgres.xml didn't work withPeter Eisentraut
BSD sed. So write it in Perl, which is more portable and a bit faster, too. We already use Perl for standard documentation builds, so this imposes no additional requirement.
2008-10-31Add support for user-defined I/O conversion casts.Heikki Linnakangas
2008-10-30Update back-branch release notes.Tom Lane
2008-10-29Remove tab from sgml file.Bruce Momjian
2008-10-29Since SQL:2003, the array size specification in the SQL ARRAY syntax hasPeter Eisentraut
been optional.
2008-10-29Unicode escapes in strings and identifiersPeter Eisentraut
2008-10-28Extend ExecMakeFunctionResult() to support set-returning functions that returnTom Lane
via a tuplestore instead of value-per-call. Refactor a few things to reduce ensuing code duplication with nodeFunctionscan.c. This represents the reasonably noncontroversial part of my proposed patch to switch SQL functions over to returning tuplestores. For the moment, SQL functions still do things the old way. However, this change enables PL SRFs to be called in targetlists (observe changes in plperl regression results).
2008-10-28Add WITH [NO] DATA clause to CREATE TABLE AS, per SQL.Peter Eisentraut
Also, since WITH is now a reserved word, simplify the token merging code to only deal with WITH_TIME. by Tom Lane and myself
2008-10-28Remove support for (insecure) crypt authentication.Magnus Hagander
This breaks compatibility with pre-7.2 versions.
2008-10-27Install a more robust solution for the problem of infinite error-processingTom Lane
recursion when we are unable to convert a localized error message to the client's encoding. We've been over this ground before, but as reported by Ibrar Ahmed, it still didn't work in the case of conversion failures for the conversion-failure message itself :-(. Fix by installing a "circuit breaker" that disables attempts to localize this message once we get into recursion trouble. Patch all supported branches, because it is in fact broken in all of them; though I had to add some missing translations to the older branches in order to expose the failure in the particular test case I was using.
2008-10-27Add support for multiple error messages from libpq, by simply appending themMagnus Hagander
after each other (since we already add a newline on each, this makes them multiline). Previously a new error would just overwrite the old one, so for example any error caused when trying to connect with SSL enabled would be overwritten by the error message form the non-SSL connection when using sslmode=prefer.
2008-10-27SQL:2008 syntax CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA.Peter Eisentraut
2008-10-27Allow EXPLAIN on CREATE TABLE AS.Peter Eisentraut
2008-10-23* make pg_hba authoption be a set of 0 or more name=value pairsMagnus Hagander
* make LDAP use this instead of the hacky previous method to specify the DN to bind as * make all auth options behave the same when they are not compiled into the server * rename "ident maps" to "user name maps", and support them for all auth methods that provide an external username This makes a backwards incompatible change in the format of pg_hba.conf for the ident, PAM and LDAP authentication methods.
2008-10-22SQL:2008 alternative syntax for LIMIT/OFFSET:Peter Eisentraut
OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} ONLY
2008-10-21Allow SQL:2008 syntax ALTER TABLE ... ALTER COLUMN ... SET DATA TYPEPeter Eisentraut
alongside our traditional syntax.
2008-10-18Update compatibility section of TRUNCATE for SQL:2008 final.Peter Eisentraut
2008-10-18Update feature list for SQL:2008.Peter Eisentraut
2008-10-17Add a new column to pg_am to specify whether an index AM supports backwardTom Lane
scanning; GiST and GIN do not, and it seems like too much trouble to make them do so. By teaching ExecSupportsBackwardScan() about this restriction, we ensure that the planner will protect a scroll cursor from the problem by adding a Materialize node. In passing, fix another longstanding bug in the same area: backwards scan of a plan with set-returning functions in the targetlist did not work either, since the TupFromTlist expansion code pays no attention to direction (and has no way to run a SRF backwards anyway). Again the fix is to make ExecSupportsBackwardScan check this restriction. Also adjust the index AM API specification to note that mark/restore support is unnecessary if the AM can't produce ordered output.
2008-10-17Improve headeline generation. Now headline can containTeodor Sigaev
several fragments a-la Google. Sushant Sinha <sushant354@gmail.com>
2008-10-14Extend the date type to support infinity and -infinity, analogously toTom Lane
the timestamp types. Turns out this doesn't even reduce the available range of dates, since the restriction to dates that work for Julian-date arithmetic is much tighter than the int32 range anyway. Per a longstanding TODO item.
2008-10-14Add docs and regression test about sorting the output of a recursive query inTom Lane
depth-first search order. Upon close reading of SQL:2008, it seems that the spec's SEARCH DEPTH FIRST and SEARCH BREADTH FIRST options do not actually guarantee any particular result order: what they do is provide a constructed column that the user can then sort on in the outer query. So this is actually just as much functionality ...
2008-10-14Eliminate unnecessary array[] decoration in examples of recursive cycleTom Lane
detection.
2008-10-13Implement comparison of generic records (composite types), and invent aTom Lane
pseudo-type record[] to represent arrays of possibly-anonymous composite types. Since composite datums carry their own type identification, no extra knowledge is needed at the array level. The main reason for doing this right now is that it is necessary to support the general case of detection of cycles in recursive queries: if you need to compare more than one column to detect a cycle, you need to compare a ROW() to an array built from ROW()s, at least if you want to do it as the spec suggests. Add some documentation and regression tests concerning the cycle detection issue.
2008-10-10Fix COPY documentation to not imply that HEADER can be used outside CSV mode.Tom Lane
Per gripe from Bill Thoen.
2008-10-07Update Japanese FAQ.Bruce Momjian
Jun Kuwamura
2008-10-07Extend CTE patch to support recursive UNION (ie, without ALL). TheTom Lane
implementation uses an in-memory hash table, so it will poop out for very large recursive results ... but the performance characteristics of a sort-based implementation would be pretty unpleasant too.
2008-10-06Use fork names instead of numbers in the file names for additionalHeikki Linnakangas
relation forks. While the file names are not visible to users, for those that do peek into the data directory, it's nice to have more descriptive names. Per Greg Stark's suggestion.
2008-10-06Editorial improvements to description of pg_settings view.Tom Lane
2008-10-06Add columns boot_val and reset_val to the pg_settings view, to exposeMagnus Hagander
the value a parameter has at server start and will have after RESET, respectively. Greg Smith, with some modifications by me.
2008-10-04Implement SQL-standard WITH clauses, including WITH RECURSIVE.Tom Lane
There are some unimplemented aspects: recursive queries must use UNION ALL (should allow UNION too), and we don't have SEARCH or CYCLE clauses. These might or might not get done for 8.4, but even without them it's a pretty useful feature. There are also a couple of small loose ends and definitional quibbles, which I'll send a memo about to pgsql-hackers shortly. But let's land the patch now so we can get on with other development. Yoshiyuki Asaba, with lots of help from Tatsuo Ishii and Tom Lane
2008-10-04Add a note about how to check for bare < and & in SGML docs, before theTom Lane
knowledge disappears again.
2008-10-03Add regression test for macaddr type. Enhance documentation about acceptedPeter Eisentraut
input formats.
2008-10-03Add relation fork support to pg_relation_size() function. You can now passHeikki Linnakangas
name of a fork ('main' or 'fsm', at the moment) to pg_relation_size() to get the size of a specific fork. Defaults to 'main', if none given. While we're at it, modify pg_relation_size to take a regclass as argument, instead of separate variants taking oid and name. This change is transparent to typical use where the table name is passed as a string literal, like pg_relation_size('table'), but will break queries like pg_relation_size(namecol), where namecol is of type name. text-type input still works, and using a non-schema-qualified table name is not very reliable anyway, so this is unlikely to break anyone's queries in practice.
2008-10-02Make the blkno arguments bigints instead of int4s. A signed int4 is notHeikki Linnakangas
large enough for block numbers higher than 2^31. The old pre-FSM-rewrite pg_freespacemap implementation got this right. While we're at it, remove some unnecessary #includes.
2008-10-02Fix function name in pg_freespacemap docs. It's "pg_freespace", notHeikki Linnakangas
"pg_freespacemap". Reported by hubert depesz lubaczewski.
2008-09-30Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, theHeikki Linnakangas
free space information is stored in a dedicated FSM relation fork, with each relation (except for hash indexes; they don't use FSM). This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any trace of them from the backend, initdb, and documentation. Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also introduce a new variant of the get_raw_page(regclass, int4, int4) function in contrib/pageinspect that let's you to return pages from any relation fork, and a new fsm_page_contents() function to inspect the new FSM pages.
2008-09-24Add documentation about when trigger values NEW/OLD return NULL.Bruce Momjian
Jeff Davis
2008-09-24Fix markup tag error, envvar -> envar.Bruce Momjian
2008-09-23Mention battery-backed cache under hardware selection options.Bruce Momjian
2008-09-23Tighten the check in initdb and CREATE DATABASE that the chosen encodingHeikki Linnakangas
matches the encoding of the locale. LC_COLLATE is now checked in addition to LC_CTYPE.
2008-09-23Make LC_COLLATE and LC_CTYPE database-level settings. Collation andHeikki Linnakangas
ctype are now more like encoding, stored in new datcollate and datctype columns in pg_database. This is a stripped-down version of Radek Strnad's patch, with further changes by me.
2008-09-22Get rid of pgpass_from_client tracking inside libpq --- given the conclusionTom Lane
that presence of the password in the conninfo string must be checked *before* risking a connection attempt, there is no point in checking it afterwards. This makes the specification of PQconnectionUsedPassword() a bit simpler and perhaps more generally useful, too.
2008-09-22Fix dblink_connect() so that it verifies that a password is supplied in theTom Lane
conninfo string *before* trying to connect to the remote server, not after. As pointed out by Marko Kreen, in certain not-very-plausible situations this could result in sending a password from the postgres user's .pgpass file, or other places that non-superusers shouldn't have access to, to an untrustworthy remote server. The cleanest fix seems to be to expose libpq's conninfo-string-parsing code so that dblink can check for a password option without duplicating the parsing logic. Joe Conway, with a little cleanup by Tom Lane
2008-09-19Add a PQfireResultCreateEvents function to allow applications to mimic theTom Lane
sequence of operations that libpq goes through while creating a PGresult. Also, remove ill-considered "const" decoration on parameters passed to event procedures.
2008-09-19Create a selectivity estimation function for the text search @@ operator.Tom Lane
Jan Urbanski
2008-09-19Improve the recently-added libpq events code to provide more consistentTom Lane
guarantees about whether event procedures will receive DESTROY events. They no longer need to defend themselves against getting a DESTROY without a successful prior CREATE. Andrew Chernow
2008-09-17Preliminary release notes for upcoming back branch releases.Tom Lane
2008-09-17Add an "events" system to libpq, whereby applications can get callbacks thatTom Lane
enable them to manage private data associated with PGconns and PGresults. Andrew Chernow and Merlin Moncure