Commit Graph

6408 Commits

Author SHA1 Message Date
Bruce Momjian
cd5d464e9f Doc patch that adds an example of a correllated UPDATE.
David Fetter
2006-01-19 23:09:42 +00:00
Bruce Momjian
807cb000f6 Clarify STABLE function documentation to highlight how such functions
can be optimized.
2006-01-19 22:52:08 +00:00
Bruce Momjian
7259cc1e7e Clarify use of btree indexes for ILIKE and ~*. 2006-01-18 21:29:45 +00:00
Bruce Momjian
ccebb6745e You'll find attached a patch for a fixed explanation on parameter_mode
column, OUT and INOUT added.

Guillaume LELARGE
2006-01-18 21:02:55 +00:00
Bruce Momjian
e1af35afac Done:
> 	o -Allow pooled connections to list all open WITH HOLD cursors
2006-01-18 14:20:22 +00:00
Neil Conway
33e06ebccb Add a new system view, pg_cursors, that displays the currently available
cursors. Patch from Joachim Wieland, review and ediorialization by Neil
Conway. The view lists cursors defined by DECLARE CURSOR, using SPI, or
via the Bind message of the frontend/backend protocol. This means the
view does not list the unnamed portal or the portal created to implement
EXECUTE. Because we do list SPI portals, there might be more rows in
this view than you might expect if you are using SPI implicitly (e.g.
via a procedural language).

Per recent discussion on -hackers, the query string included in the
view for cursors defined by DECLARE CURSOR is based on
debug_query_string. That means it is not accurate if multiple queries
separated by semicolons are submitted as one query string. However,
there doesn't seem a trivial fix for that: debug_query_string
is better than nothing. I also changed SPI_cursor_open() to include
the source text for the portal it creates: AFAICS there is no reason
not to do this.

Update the documentation and regression tests, bump the catversion.
2006-01-18 06:49:30 +00:00
Bruce Momjian
e38217d1ec Improve constraint_name wording. 2006-01-16 20:48:49 +00:00
Bruce Momjian
a0ae3dbacb Add markup for new constraint_name mention. 2006-01-16 19:53:12 +00:00
Bruce Momjian
9200318972 Add documentaiotn mention that constraint names can be sentences that
can convey information to clients on constraint violation.
2006-01-16 19:50:03 +00:00
Neil Conway
b06e6f1a9a Change the parameter_types column of the pg_prepared_statements to be
an array of regtype, rather than an array of OIDs. This is likely to
be more useful to user, and the type OID can easily be obtained by
casting a regtype value to OID. Per suggestion from Tom.

Update the documentation and regression tests, and bump the catversion.
2006-01-16 18:15:31 +00:00
Neil Conway
106a3695f5 Allow the types of parameters to PREPARE to be inferred. If a parameter's
data type is unspecified or is declared to be "unknown", the type will
be inferred from the context in which the parameter is used. This was
already possible for protocol-level prepared statements.
2006-01-15 22:18:47 +00:00
Tom Lane
7d6d02b640 Document that CREATE OPERATOR CLASS amounts to granting public execute
permissions on the functions and operators contained in the opclass.
Since we already require superuser privilege to create an operator class,
there's no expansion-of-privilege hazard here, but if someone were to get
the idea of building an opclass containing functions that need security
restrictions, we'd better warn them off.  Also, change the permission
checks from have-execute-privilege to have-ownership, and then comment
them all out since they're dead code anyway under the superuser restriction.
2006-01-13 18:10:25 +00:00
Tom Lane
1564e92cea Require the issuer of CREATE TYPE to own the functions mentioned in the
type definition.  Because use of a type's I/O conversion functions isn't
access-checked, CREATE TYPE amounts to granting public execute permissions
on the functions, and so allowing it to anybody means that someone could
theoretically gain access to a function he's not supposed to be able to
execute.  The parameter-type restrictions already enforced by CREATE TYPE
make it fairly unlikely that this oversight is meaningful in practice,
but still it seems like a good idea to plug the hole going forward.
Also, document the implicit grant just in case anybody gets the idea of
building I/O functions that might need security restrictions.
2006-01-13 18:06:45 +00:00
Tom Lane
9484e14c5c Remove extraneous backslash from 'fixseq.sql' example --- mea culpa
certainly.  Per report from George Woodring.
2006-01-12 18:09:24 +00:00
Tom Lane
445144b8c2 Update comment about outer joins in description of geqo_threshold. 2006-01-11 23:14:29 +00:00
Neil Conway
416689c866 Documentation tweak: add spaces around the brackets in the description
of the CREATE CONVERSION syntax, for consistency with the other SQL
reference pages.
2006-01-11 22:16:39 +00:00
Bruce Momjian
9545d66a97 Done:
> * -Add sleep() function, remove from regress.c
2006-01-11 20:28:21 +00:00
Tom Lane
782eefc580 Create a standard function pg_sleep() to sleep for a specified amount of time.
Replace the former ad-hoc implementation used in the regression tests.
Joachim Wieland
2006-01-11 20:12:43 +00:00
Bruce Momjian
42ff6a04d8 Done:
< * %Allow pooled connections to list all prepared statements
> * -%Allow pooled connections to list all prepared statements
2006-01-09 22:43:23 +00:00
Neil Conway
44b928e876 Add a new system view, pg_prepared_statements, that can be used to
access information about the prepared statements that are available
in the current session. Original patch from Joachim Wieland, various
improvements by Neil Conway.

The "statement" column of the view contains the literal query string
sent by the client, without any rewriting or pretty printing. This
means that prepared statements created via SQL will be prefixed with
"PREPARE ... AS ", whereas those prepared via the FE/BE protocol will
not. That is unfortunate, but discussion on -patches did not yield an
efficient way to improve this, and there is some merit in returning
exactly what the client sent to the backend.

Catalog version bumped, regression tests updated.
2006-01-08 07:00:27 +00:00
Tom Lane
615d99feb4 Release-note updates and copy editing. 2006-01-06 02:59:57 +00:00
Tom Lane
bf7faa7c8f Fix broken markup. 2006-01-06 01:35:09 +00:00
Bruce Momjian
6d41b144e9 Add:
>
> 	* Allow SERIAL sequences to inherit permissions from the base table?
2006-01-05 17:47:53 +00:00
Bruce Momjian
9a47ad1d20 Add logging control TODO.detail. 2006-01-05 17:28:45 +00:00
Bruce Momjian
db6cb1a9a9 Update:
<   stable logging probably can not have indexes.  [wallog]
>   stable logging probably can not have indexes.  [walcontrol]
2006-01-05 16:39:54 +00:00
Bruce Momjian
ac9e14d064 Update wording:
<   STABLE | DEFAULT ].  [wallog]
>   STABLE | DEFAULT ].  Tables using non-default logging should not use
>   referential integrity with default-logging tables, and tables using
>   stable logging probably can not have indexes.  [wallog]
2006-01-05 16:35:19 +00:00
Bruce Momjian
e7893db5cf Update wording:
<   the table. Another option is to avoid transaction logging entirely
<   and truncate or drop the table on crash recovery.  These should be
<   implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
<   TRUNCATE | STABLE | DEFAULT ].  [wallog]
>   the table.  This would affect COPY, and perhaps INSERT/UPDATE too.
>   Another option is to avoid transaction logging entirely and truncate
>   or drop the table on crash recovery.  These should be implemented
>   using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP | TRUNCATE |
>   STABLE | DEFAULT ].  [wallog]
2006-01-05 16:26:49 +00:00
Bruce Momjian
1b736817d0 Add:
>
> * Allow control over which tables are WAL-logged
>
>   Allow tables to bypass WAL writes and just fsync() dirty pages on
>   commit.  To do this, only a single writer can modify the table, and
>   writes must happen only on new pages.  Readers can continue accessing
>   the table. Another option is to avoid transaction logging entirely
>   and truncate or drop the table on crash recovery.  These should be
>   implemented using ALTER TABLE, e.g. ALTER TABLE PERSISTENCE [ DROP |
>   TRUNCATE | STABLE | DEFAULT ].  [wallog]
2006-01-05 16:23:48 +00:00
Bruce Momjian
04236bb296 New pgcrypto item wording. 2006-01-05 15:19:05 +00:00
Bruce Momjian
3002492fc7 Update item:
< * %Remove behavior of postmaster -o after making postmaster/postgres
<   flags unique
> * %Remove behavior of postmaster -o
2006-01-05 15:13:32 +00:00
Bruce Momjian
8b2b1d87f8 Wording improvements. 2006-01-05 15:12:36 +00:00
Bruce Momjian
1c59af06db Improve markup. 2006-01-05 14:53:47 +00:00
Peter Eisentraut
86c23a6eb2 Make all command-line options of postmaster and postgres the same. See
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the
complete plan.
2006-01-05 10:07:46 +00:00
Bruce Momjian
4e1712ea54 Update release notes for 8.1.X, 8.0.X, 7.4.X, and 7.3.X. 2006-01-05 05:15:50 +00:00
Bruce Momjian
0dc43870ae Update version number. 2006-01-05 03:55:13 +00:00
Bruce Momjian
9be5beb918 Done:
> * -Remove BeOS and QNX-specific code
2006-01-05 03:02:03 +00:00
Bruce Momjian
44f9021223 Remove BEOS port. 2006-01-05 03:01:38 +00:00
Bruce Momjian
a1675649e4 Remove QNX port. 2006-01-05 01:56:30 +00:00
Bruce Momjian
7211ff7d32 Add:
> * Make CLUSTER preserve recently-dead tuples per MVCC requirements
2005-12-30 03:24:58 +00:00
Bruce Momjian
e135d9631b Update:
< * Add missing rtree optimizer selectivity
> * Improve selectivity functions for geometric operators
2005-12-29 16:45:11 +00:00
Bruce Momjian
be6187e1c2 Remove a space that incorrectly precedes a comma in the PL/pgSQL
documentation.

Michael Fuhr
2005-12-29 04:02:32 +00:00
Bruce Momjian
9c72df4e86 Update COPY CSV \. wording for externally created files. 2005-12-28 14:38:32 +00:00
Bruce Momjian
6fa335721a Update:
< * Add missing optimizer selectivities for date, r-tree, etc
> * Add missing rtree optimizer selectivity
2005-12-28 03:59:39 +00:00
Bruce Momjian
87289ff35c Add regression tests for CSV and \., and add automatic quoting of a
single column dump that has a \. value, so the load works properly.  I
also added documentation describing this issue.
2005-12-28 03:25:32 +00:00
Bruce Momjian
1b184c990f Done:
< * %Make row-wise comparisons work per SQL spec
> * -Make row-wise comparisons work per SQL spec
2005-12-28 02:12:25 +00:00
Tom Lane
6e07709760 Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly).  Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names.  This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.

I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.

initdb forced due to changes in stored rules.
2005-12-28 01:30:02 +00:00
Andrew Dunstan
a37422e042 Increase amount of shared buffers initdb tries to allocate to 4000,
and add logic to try max_fsm_pages up to 200000, plus accompanying minor
docs changes.
2005-12-27 23:54:01 +00:00
Peter Eisentraut
6840cccd11 Rename pg_make_encrypted_password to PQencryptPassword. 2005-12-26 14:58:06 +00:00
Bruce Momjian
5c9a46f605 Add:
* %Make row-wise comparisons work per SQL spec

  Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
  the SQL standard requires it to be processed as a column-by-column
  comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
2005-12-26 05:14:52 +00:00
Neil Conway
a4d69a410d Minor doc tweak: "NOT NULL" is redundant with "SERIAL" in example. 2005-12-25 01:41:15 +00:00