Commit Graph

7070 Commits

Author SHA1 Message Date
Bruce Momjian 88b39634cd Done:
> * -Change LIMIT/OFFSET and FETCH/MOVE to use int8
2006-07-26 00:35:01 +00:00
Bruce Momjian edd49fcf69 Add reason for WAL offset reporting:
>
> 	    The offset allows parts of a WAL file to be archived using
> 	    an external program.
2006-07-25 16:23:42 +00:00
Bruce Momjian 8633a9cdff Add offset mention:
< 	  o Add reporting of the current WAL file, perhaps as part of
< 	    partial log file archiving
> 	  o Add reporting of the current WAL file and offset, perhaps as
> 	    part of partial log file archiving
2006-07-25 15:27:24 +00:00
Bruce Momjian cb6f5f1552 Update PITR:
< 	    write-ahead logs [pitr]
> 	    write-ahead logs? [pitr]
< 	    recovery.
> 	    recovery.  A function call to do this would also be useful.
2006-07-25 15:21:48 +00:00
Bruce Momjian a859695b7e Done:
> 	o -Allow customization of the known set of TZ names (generalize the
2006-07-25 04:11:24 +00:00
Tom Lane d8b5c95ca8 Remove hard-wired lists of timezone abbreviations in favor of providing
configuration files that can be altered by a DBA.  The australian_timezones
GUC setting disappears, replaced by a timezone_abbreviations setting (set this
to 'Australia' to get the effect of australian_timezones).  The list of zone
names defined by default has undergone a bit of cleanup, too.  Documentation
still needs some work --- in particular, should we fix Table B-4, or just get
rid of it?  Joachim Wieland, with some editorializing by moi.
2006-07-25 03:51:23 +00:00
Peter Eisentraut e9b4969062 DTrace support, with a small initial set of probes
by Robert Lor
2006-07-24 16:32:45 +00:00
Bruce Momjian 9652b79ae4 Update documentation on GRANT SCEMA USAGE, again. 2006-07-20 18:00:03 +00:00
Bruce Momjian a8e44f0b1b Update GRANT USAGE on schema permission description. 2006-07-19 18:42:31 +00:00
Tom Lane 60cfe25e68 Adjust spawn_process() to avoid unnecessary overhead processes: we can
just exec instead of creating a subprocess.  This reduces process usage
from four processes per parallel test to two.  I have no idea whether
a comparable optimization is possible or useful in the Windows port.
2006-07-19 17:02:59 +00:00
Tom Lane a38c85bd5d Rewrite pg_regress as a C program instead of a shell script.
This allows it to be used on Windows without installing mingw
(though you do still need 'diff'), and opens the door to future
improvements such as message localization.
Magnus Hagander and Tom Lane.
2006-07-19 02:37:00 +00:00
Bruce Momjian c5fad5f35e Done:
o -Display IN, INOUT, and OUT parameters in \df
2006-07-18 18:20:51 +00:00
Neil Conway c1e59cc5d9 Minor documentation tweak: in the tables of functions and operators,
don't include a space between the function name and the parenthesis
that begins its parameter list, for consistency.
2006-07-16 23:59:58 +00:00
Neil Conway a10fc5f254 Minor doc tweak: replace a "--" with "&mdash;". 2006-07-14 00:13:05 +00:00
Neil Conway f2a8aa0f89 Reorder the entries in the function section of the manual, to ensure they
are alphabetically ordered. I believe the tables were correctly ordered in
the past, but some of them had subsequently regressed.
2006-07-13 23:59:47 +00:00
Bruce Momjian de7e81fff4 Update schema USAGE permission description. 2006-07-12 15:37:10 +00:00
Tom Lane d29b66882a Tweak fillfactor code as per my recent proposal. Fix nbtsort.c so that
it can handle small fillfactors for ordinary-sized index entries without
failing on large ones; fix nbtinsert.c to distinguish leaf and nonleaf
pages; change the minimum fillfactor to 10% for all index types.
2006-07-11 21:05:57 +00:00
Neil Conway 2fa7a041f3 Correct the description of the pg_get_viewdef() function. Do some nearby
SGML cleanup: sort table entries alphabetically.
2006-07-11 19:11:26 +00:00
Bruce Momjian 0031f99bfa Add URL of code presentation to developers FAQ. 2006-07-11 17:02:16 +00:00
Bruce Momjian f0cd764723 Add #include code to prevent multiple inclusion. 2006-07-10 21:03:58 +00:00
Bruce Momjian ec3efa244b Update schema GRANT USAGE description. 2006-07-10 16:48:46 +00:00
Alvaro Herrera d4cef0aa2a Improve vacuum code to track minimum Xids per table instead of per database.
To this end, add a couple of columns to pg_class, relminxid and relvacuumxid,
based on which we calculate the pg_database columns after each vacuum.

We now force all databases to be vacuumed, even template ones.  A backend
noticing too old a database (meaning pg_database.datminxid is in danger of
falling behind Xid wraparound) will signal the postmaster, which in turn will
start an autovacuum iteration to process the offending database.  In principle
this is only there to cope with frozen (non-connectable) databases without
forcing users to set them to connectable, but it could force regular user
database to go through a database-wide vacuum at any time.  Maybe we should
warn users about this somehow.  Of course the real solution will be to use
autovacuum all the time ;-)

There are some additional improvements we could have in this area: for example
the vacuum code could be smarter about not updating pg_database for each table
when called by autovacuum, and do it only once the whole autovacuum iteration
is done.

I updated the system catalogs documentation, but I didn't modify the
maintenance section.  Also having some regression tests for this would be nice
but it's not really a very straightforward thing to do.

Catalog version bumped due to system catalog changes.
2006-07-10 16:20:52 +00:00
Bruce Momjian a07849df96 Test commit. 2006-07-10 15:44:31 +00:00
Bruce Momjian a77275fe3b Please find attached two patches for documentation and regression tests
for the usage of full time zone names.

Joachim Wieland
2006-07-06 01:46:38 +00:00
Tom Lane 2d0c1d3102 Documentation fixes for FILLFACTOR patch. Minor other editorialization. 2006-07-04 18:07:24 +00:00
Bruce Momjian 655787bfaf Modify:
< 	o -Add PQescapeIdentifier()
> 	o Add PQescapeIdentifierConn()
2006-07-04 13:22:41 +00:00
Bruce Momjian 3fafac3f62 Remove libpq's PQescapeIdentifier(), not safe from injection attacks. 2006-07-04 13:22:15 +00:00
Tom Lane b7b78d24f7 Code review for FILLFACTOR patch. Change WITH grammar as per earlier
discussion (including making def_arg allow reserved words), add missed
opt_definition for UNIQUE case.  Put the reloptions support code in a less
random place (I chose to make a new file access/common/reloptions.c).
Eliminate header inclusion creep.  Make the index options functions safely
user-callable (seems like client apps might like to be able to test validity
of options before trying to make an index).  Reduce overhead for normal case
with no options by allowing rd_options to be NULL.  Fix some unmaintainably
klugy code, including getting rid of Natts_pg_class_fixed at long last.
Some stylistic cleanup too, and pay attention to keeping comments in sync
with code.

Documentation still needs work, though I did fix the omissions in
catalogs.sgml and indexam.sgml.
2006-07-03 22:45:41 +00:00
Tom Lane feed07350b Fix broken markup. 2006-07-03 16:43:14 +00:00
Bruce Momjian 277807bd9e Add FILLFACTOR to CREATE INDEX.
ITAGAKI Takahiro
2006-07-02 02:23:23 +00:00
Bruce Momjian 5d5c1416bf Done:
> * -Add fillfactor to control reserved free space during index creation
2006-07-02 02:22:39 +00:00
Bruce Momjian ff3003e537 Done:
< 	o Add ALTER TABLE tab ADD/DROP INHERITS parent
<
< 	  This allows tables to be added/removed from an inheritance
< 	  hierarchy.  This is particularly useful for table partitioning.
< 	  http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
<
> 	o -Add ALTER TABLE tab INHERIT / NO INHERIT  parent
2006-07-02 01:59:46 +00:00
Bruce Momjian 8c092781f4 ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark
2006-07-02 01:58:36 +00:00
Bruce Momjian 569e32a0f1 Update item for GUID:
< * Add 128-bit Universally Unique Identifier (UUID)
> * Add Globally/Universally Unique Identifier (GUID/UUID)
2006-06-30 15:04:32 +00:00
Tom Lane 51e400c9c6 Remove the separate 'stats buffer' process, letting backend stats messages
be delivered directly to the collector process.  The extra process context
swaps required to transfer data through the buffer process seem to outweigh
any value the buffering might have.  Per recent discussion and tests.
I modified Bruce's draft patch to use poll() rather than select() where
available (this makes a noticeable difference on my system), and fixed
up the EXEC_BACKEND case.
2006-06-29 20:00:08 +00:00
Bruce Momjian bc9b6c22d5 Change URL for SITC:
<   http://momjian.us/cgi-bin/pgsitc
>   http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php
2006-06-29 03:04:59 +00:00
Bruce Momjian 994aa6a611 Add:
> * Add 128-bit Universally Unique Identifier (UUID)
2006-06-29 01:33:36 +00:00
Neil Conway 6e9c974e43 Editorialization for the additions to the CREATE TABLE reference page
made as part of the recent INCLUDING CONSTRAINTS patch. The text could
stand further improvement, but this is at least a step in the right
direction.
2006-06-28 22:01:52 +00:00
Bruce Momjian 06bd3dba80 Add URL for SITC
>   http://momjian.us/cgi-bin/pgsitc
2006-06-28 21:05:22 +00:00
Bruce Momjian 15897332ed Update:
< 		o Add support for WITH HOLD cursors
> 		o Add support for WITH HOLD and SCROLL cursors
>
> 		  PL/pgSQL cursors should support the same syntax as
> 		  backend cursors.
>
2006-06-28 15:39:32 +00:00
Bruce Momjian c2c4f3c30e Update Russian FAQ.
Viktor Vislobokov
2006-06-28 13:10:18 +00:00
Bruce Momjian 370a709c75 Add GUC update_process_title to control whether 'ps' display is updated
for every command, default to on.
2006-06-27 22:16:44 +00:00
Bruce Momjian 665c5e861a Default stats_command_string to 'on', now that its overhead is minimal. 2006-06-27 19:07:50 +00:00
Bruce Momjian 33b4ad66c9 Revert patch, doesn't do what it should:
* %Disallow changing default expression of a SERIAL column

Dhanaraj M
2006-06-27 18:35:05 +00:00
Bruce Momjian e99507eaa1 Will revert in next patch more cleanly.
> * -Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 16:42:00 +00:00
Bruce Momjian 0c99c0fecf Not done:
< * -Disallow changing DEFAULT expression of a SERIAL column
> * %Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 16:39:27 +00:00
Bruce Momjian dc2c25fc62 Add INCLUDING CONSTRAINTS to CREATE TABLE LIKE.
Greg Stark
2006-06-27 03:43:20 +00:00
Bruce Momjian 62f2693688 Done:
< * %Disallow changing DEFAULT expression of a SERIAL column?
<
<   This should be done only if the existing SERIAL problems cannot be
<   fixed.
<
> * -Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 03:22:45 +00:00
Bruce Momjian 560feb474a Done:
> 	o -Add PQescapeIdentifier()
2006-06-27 00:03:44 +00:00
Bruce Momjian 3b1790f987 Add PQescapeIdentifier() to libpq
Christopher Kings-Lynne
2006-06-27 00:03:42 +00:00
Tom Lane ca0d2197ca Change the row constructor syntax (ROW(...)) so that list elements foo.*
will be expanded to a list of their member fields, rather than creating
a nested rowtype field as formerly.  (The old behavior is still available
by omitting '.*'.)  This syntax is not allowed by the SQL spec AFAICS,
so changing its behavior doesn't violate the spec.  The new behavior is
substantially more useful since it allows, for example, triggers to check
for data changes with 'if row(new.*) is distinct from row(old.*)'.  Per
my recent proposal.
2006-06-26 17:24:41 +00:00
Bruce Momjian 6bf44d51ea Use Unix newlines, instead of DOS ones. 2006-06-26 13:04:05 +00:00
Bruce Momjian bc28f58b8f Update my info:
> * Bruce is Bruce Momjian <bruce@momjian.us> of EnterpriseDB
2006-06-25 18:52:03 +00:00
Bruce Momjian f5940e7b34 Add:
< * Reuse index tuples that point to rows that are not visible to anyone?
> * Reuse index tuples that point to heap tuples that are not visible to
>   anyone?
2006-06-25 16:27:41 +00:00
Bruce Momjian ac7a126d0c Update entry:
< * Allow heap reuse of UPDATEd rows if old and new versions are on the
<   same heap page?
> * Allow heap reuse of UPDATEd rows if no indexed columns are changed,
>   and old and new versions are on the same heap page?
<   This is possible for same-page updates because a single index row
<   can point to both old and new values.
>   While vacuum handles DELETEs fine, updating of non-indexed columns, like
>   counters, are difficult for VACUUM to handle efficiently.  This method
>   is possible for same-page updates because a single index row can be
>   used to point to both old and new values.
2006-06-24 23:47:58 +00:00
Bruce Momjian fc6a2293b5 Add UPDATE entry for row reuse.
>
> * Allow heap reuse of UPDATEd rows if old and new versions are on the
>   same heap page?
>
>   This is possible for same-page updates because a single index row
>   can point to both old and new values.
>   http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
2006-06-24 23:45:02 +00:00
Tom Lane eaf8f312c7 Some editorial work on the documentation of the current-date/time
functions.
2006-06-19 16:13:01 +00:00
Tom Lane b13c9686d0 Take the statistics collector out of the loop for monitoring backends'
current commands; instead, store current-status information in shared
memory.  This substantially reduces the overhead of stats_command_string
and also ensures that pg_stat_activity is fully up to date at all times.
Per my recent proposal.
2006-06-19 01:51:22 +00:00
Bruce Momjian 6075feed40 Update my email address. 2006-06-18 19:34:00 +00:00
Peter Eisentraut 5266f221a2 Merge postmaster and postgres command into just postgres. postmaster
symlink is kept for now for compatibility.  To call single-user mode, use
postgres --single.
2006-06-18 15:38:37 +00:00
Tom Lane c892643a3c Code review for SELECT INTO STRICT patch: use saner choices of error
SQLSTATEs, fix some documentation problems.
2006-06-16 23:29:27 +00:00
Tom Lane 3ba3e6c8ce Clean up after someone's curious idea that it'd be good to strip
leading zeroes from the SQLSTATE codes.  They're strings, people,
not numbers.
2006-06-16 22:41:45 +00:00
Andrew Dunstan e287fb27a5 docs for DROP ... IF EXISTS for the following cases:
language, tablespace, trigger, rule, opclass, function, aggregate. operator, and cast.
2006-06-16 22:27:55 +00:00
Bruce Momjian bac6570e78 Add:
> 		o Allow PL/python to composite types and result sets
> 		  once buggy assert-enabled versions of python can be detected
>
> 		  http://archives.postgresql.org/pgsql-patches/2006-04/msg00087.php
2006-06-16 22:08:46 +00:00
Bruce Momjian dceac3acc0 Add:
>
> * Fix CREATE CAST on DOMAINs
>
>   http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php
2006-06-16 22:05:01 +00:00
Bruce Momjian 4fff9d7290 Document issues with non-default tablespaces and pg_dumpall restores.
Backpatch documentation addition to 8.1.X.
2006-06-16 22:01:17 +00:00
Bruce Momjian b055f00ebb Add URL for ISO dates:
> 		  http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
2006-06-16 21:41:24 +00:00
Bruce Momjian e79cc2db00 Add URL for currency type:
>   http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
2006-06-16 19:49:50 +00:00
Bruce Momjian 237756b1ce Add URL for updatable views:
>   http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
2006-06-16 18:50:24 +00:00
Bruce Momjian 1d9273b506 Add:
> * Consider shrinking expired tuples to just their headers
>   http://archives.postgresql.org/pgsql-patches/2006-03/msg00142.php
2006-06-16 18:48:42 +00:00
Bruce Momjian b49ce32da1 Add URL to:
* Auto-fill the free space map by scanning the buffer cache or by
  checking pages written by the background writer
2006-06-16 18:38:39 +00:00
Bruce Momjian 64861671c9 Add URL for freespace map filling.
>
>   http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php
>
2006-06-16 18:37:31 +00:00
Bruce Momjian 632545d15c >
> * Add support for public SYNONYMS
>
>   http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php
2006-06-16 18:32:07 +00:00
Bruce Momjian 16d8e82221 > o Add PL/Python tracebacks
>
>                http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php
2006-06-16 18:11:03 +00:00
Bruce Momjian dc86109eba Add:
> 		o Fix problems with RETURN NEXT on tables with
> 		  dropped/added columns after function creation
>
> 		  http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
2006-06-16 17:44:43 +00:00
Bruce Momjian ad44b464d1 Add URL for:
> * Allow protocol-level BIND parameter values to be logged
>
>   http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
2006-06-16 17:25:38 +00:00
Bruce Momjian 56e967f4ba Add to locale TODO.detail. 2006-06-16 17:14:32 +00:00
Bruce Momjian cfe71bd35d Add URL for ISO date/time syntax:
>
> 		  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
>
2006-06-16 16:59:30 +00:00
Bruce Momjian 28b0d6bf62 Add LDAP documentation missed in code patch.
Magnus Hagander
2006-06-16 15:16:16 +00:00
Bruce Momjian 8fc2a5afa7 Update preload_library magic block wording. 2006-06-16 12:47:49 +00:00
Bruce Momjian 91fc80d0d3 Fix:
< 		  get_employee_salary(emp_id AS 12345, tax_year AS 2001)
> 		  get_employee_salary(12345 AS emp_id, 2001 AS tax_year)
2006-06-16 04:04:52 +00:00
Bruce Momjian 57ffc4d78b Update magic block wording for preloaded libraries. 2006-06-16 04:02:35 +00:00
Bruce Momjian a584c12426 Add STRICT to PL/pgSQL SELECT INTO, so exceptions are thrown if more or
less than one row is returned by the SELECT, for Oracle PL/SQL
compatibility.

Improve SELECT INTO documentation.

Matt Miller
2006-06-15 18:02:22 +00:00
Bruce Momjian eb5558bce8 Fix to_ascii() markup error. 2006-06-15 17:52:48 +00:00
Bruce Momjian 167c7bb49a Add mention that preload_libraries check the magic block, so
non-PostgreSQL libraries cannot be loaded using this capability.
2006-06-15 17:49:09 +00:00
Bruce Momjian 6241f46495 Update syntax suggestion:
< 		  get_employee_salary(emp_id => 12345, tax_year => 2001)
> 		  get_employee_salary(emp_id AS 12345, tax_year AS 2001)
2006-06-15 17:42:02 +00:00
Bruce Momjian 712e824ff1 Move list of supported to_ascii() encodings from footnote to main
description.

Nis Jorgensen
2006-06-15 17:38:26 +00:00
Bruce Momjian fe8c1165d9 Add:
>
> 		o Fix memory leak from exceptions
>
> 		  http://archives.postgresql.org/pgsql-performance/2006-06/msg00305.php
2006-06-15 17:17:41 +00:00
Bruce Momjian 653fa21700 Clarify dynamic pl/pgsql item and add URLs. Restructure server-side
section into PL/pgSQL and non-PL/pgSQL sections:

< 	o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
< 	o Allow function parameters to be passed by name,
< 	  get_employee_salary(emp_id => 12345, tax_year => 2001)
< 	o Add Oracle-style packages
< 	o Add table function support to pltcl, plpython
< 	o Add capability to create and call PROCEDURES
< 	o Allow PL/pgSQL to handle %TYPE arrays, e.g. tab.col%TYPE[]
< 	o Allow function argument names to be statements from PL/PgSQL
< 	o Add MOVE to PL/pgSQL
< 	o Add support for polymorphic arguments and return types to
< 	  languages other than PL/PgSQL
< 	o Add support for OUT and INOUT parameters to languages other
< 	  than PL/PgSQL
< 	o Add single-step debugging of PL/PgSQL functions
< 	o Allow PL/PgSQL to support WITH HOLD cursors
< 	o Allow PL/PgSQL RETURN to return row or record functions
<
< 	  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
> 	o PL/pgSQL
> 		o Fix RENAME to work on variables other than OLD/NEW
> 		o Allow function parameters to be passed by name,
> 		  get_employee_salary(emp_id => 12345, tax_year => 2001)
> 		o Add Oracle-style packages
> 		o Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
> 		o Allow listing of record column names, and access to
> 		  record columns via variables, e.g. columns := r.(*),
> 		  tval2 := r.(colname)
>
> 		  http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php
> 		  http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php
> 		  http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php
>
> 		o Add MOVE
> 		o Add single-step debugging of functions
> 		o Add support for WITH HOLD cursors
> 		o Allow PL/RETURN to return row or record functions
>
> 		  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
>
>
> 	o Other
> 		o Add table function support to pltcl, plpython
> 		o Add support for polymorphic arguments and return types to
> 		  languages other than PL/PgSQL
> 		o Add capability to create and call PROCEDURES
> 		o Add support for OUT and INOUT parameters to languages other
> 		  than PL/PgSQL
2006-06-15 16:54:13 +00:00
Bruce Momjian fce5033b4a Add:
> 	o Allow PL/PgSQL RETURN to return row or record functions
>
> 	  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
2006-06-15 16:02:32 +00:00
Bruce Momjian f8cdc265ea Done, removed:
<
< * Consider padding the spinlock structure to have spinlock registers
<   on different CPU cache line
<
<   http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
2006-06-15 02:23:13 +00:00
Bruce Momjian e1e133f264 Add to locale TODO.detail. 2006-06-14 23:28:22 +00:00
Bruce Momjian a9d2cc4d76 Remove, done:
<
< * Add support for WIN1253 (Greek) encoding
<
<   http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
2006-06-14 23:19:04 +00:00
Bruce Momjian d5ddb87616 Add:
>
> * Add support for WIN1253 (Greek) encoding
>
>   http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
2006-06-14 23:07:55 +00:00
Bruce Momjian ca2bb27529 Add URL to ILIKE encoding fix:
>   http://archives.postgresql.org/pgsql-patches/2005-11/msg00173.php
2006-06-14 23:03:12 +00:00
Bruce Momjian 8d21abd733 Add:
>
> * Consider increasing internal areas when shared buffers is increased
>
>   http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php
2006-06-14 22:31:53 +00:00
Bruce Momjian cda6a5a580 Already done:
<
< 	o Properly mark all libpq-exported functions with "PQ"
<
< 	  http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
2006-06-14 22:23:05 +00:00
Bruce Momjian 6894d695fa Done by Peter:
< * Improve the information schema to be more standards-compliant:
<
<   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
2006-06-14 21:58:21 +00:00
Bruce Momjian 456a852d5b Add:
>
> 	o Properly mark all libpq-exported functions with "PQ"
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
2006-06-14 21:54:43 +00:00
Bruce Momjian 2f8ea0275d Add:
>
> * Consider padding the spinlock structure to have spinlock registers
>   on different CPU cache line
>
>   http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
2006-06-14 21:47:06 +00:00
Bruce Momjian 3c8c3ccf99 Add item, not fixed:
>
> * Fix ILIKE and regular expressions to handle case insensitivity
>   properly in multibyte encodings
>
>   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00001.php
2006-06-14 21:40:00 +00:00
Bruce Momjian ca3d2c31f9 Remove, already in back branches:
<
< 	o Add new version of PQescapeString() that doesn't double backslashes
< 	  that are part of a client-only multibyte sequence
<
< 	  Single-quote is not a valid byte in any supported client-only
< 	  encoding.  This requires using mblen() to determine if the
< 	  backslash is inside or outside a multi-byte sequence.
<
< 	o Add new version of PQescapeString() that doesn't double
< 	  backslashes when standard_conforming_strings is true and
< 	  non-E strings are used
2006-06-14 21:38:21 +00:00
Bruce Momjian bcc97255f0 Done:
> 	o -Port contrib/xml2
2006-06-14 21:26:49 +00:00
Bruce Momjian c135db1d4c Add information schema item:
> * Improve the information schema to be more standards-compliant:
>
>   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
> * Add URL to more complete multi-byte regression tests
>
>   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
< * Add URL to more complete multi-byte regression tests
<
<   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
2006-06-14 21:10:50 +00:00
Bruce Momjian 63b35a8cb1 Add COPY views patch URL:
> 	  http://archives.postgresql.org/pgsql-patches/2005-09/msg00148.php
2006-06-14 20:40:20 +00:00
Bruce Momjian 744697317e Add:
>
> 	o Add API for 64-bit large object access
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php
2006-06-14 19:32:48 +00:00
Bruce Momjian 82009572ac Keep TODO.detail until item is done:
< 	o %Allow pg_dump to use multiple -t and -n switches
> 	o %Allow pg_dump to use multiple -t and -n switches  [pg_dump]
2006-06-14 19:02:06 +00:00
Bruce Momjian 22fd9a0ff8 Add URL, remove TODO.detail:
< 	o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
> 	o %Allow pg_dump to use multiple -t and -n switches
>
> 	  http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
>
2006-06-14 19:01:42 +00:00
Bruce Momjian 5b50ede670 Add locale/encoding references:
<   Right now only one encoding is allowed per database.
>   Right now only one encoding is allowed per database.  [locale]
> * Add CREATE COLLATE?  [locale]
2006-06-14 18:47:53 +00:00
Bruce Momjian bc29957202 Add locale TODO.detail emails. 2006-06-14 18:42:51 +00:00
Bruce Momjian 9ae8690ad2 Update link to TODO.detail:
< 	o Check WSACancelBlockingCall() for interrupts (win32intr)
> 	o Check WSACancelBlockingCall() for interrupts [win32intr]
2006-06-14 18:39:18 +00:00
Bruce Momjian f944f88021 Add:
> 	o Fix problem when cascading referential triggers make changes on
> 	  cascaded tables, seeing the tables in an intermediate state
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
2006-06-14 18:36:57 +00:00
Bruce Momjian 1e52c5eb96 Added:
>
> * Add URL to more complete multi-byte regression tests
>
>   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
2006-06-14 17:59:33 +00:00
Bruce Momjian b6f5676c60 Add entry:
> * Allow user-defined types to accept 'typmod' parameters
>   http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
>   http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
2006-06-14 17:51:55 +00:00
Bruce Momjian aa30e0e555 Remove:
< 	o %Add CSV output format
2006-06-13 21:08:22 +00:00
Bruce Momjian 07c25723da Add BY clause to PL/PgSQL FOR loop, to control the iteration increment.
Jaime Casanova
2006-06-12 16:45:30 +00:00
Bruce Momjian 11a0c1de9f Add URL for bitmap AM:
>   http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php
2006-06-12 16:15:07 +00:00
Bruce Momjian 807bfa581c Remove pg_dump wording:
<   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
<   make use of them in pg_dump
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
2006-06-10 23:33:27 +00:00
Bruce Momjian 0d001c86f8 Add:
<   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
>   make use of them in pg_dump
2006-06-10 23:17:21 +00:00
Bruce Momjian 9143144935 Cleanups:
< 	* Allow a database in tablespace t1 with tables created in
> 	o Allow a database in tablespace t1 with tables created in
125c125
< 	* Allow reporting of which objects are in which tablespaces
> 	o Allow reporting of which objects are in which tablespaces
593c593
< 	* Allow GRANT/REVOKE permissions to be inherited by objects based on
> 	o Allow GRANT/REVOKE permissions to be inherited by objects based on
596c596
< 	* Allow SERIAL sequences to inherit permissions from the base table?
> 	o Allow SERIAL sequences to inherit permissions from the base table?
2006-06-09 18:41:57 +00:00
Bruce Momjian c0ba4829a9 Cleanup:
< * -%Allow pooled connections to list all prepared statements
> * -Allow pooled connections to list all prepared statements
2006-06-09 18:12:29 +00:00
Bruce Momjian 1a1326d64d Add URL.
< 	  the insert.
> 	  the insert.
> 	  http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
2006-06-09 02:11:10 +00:00
Bruce Momjian fa23204c5d Update:
< * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
> * Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT
2006-06-09 01:02:22 +00:00
Bruce Momjian 2f12903eb9 Remove:
< * Rename some /contrib modules from pg* to pg_*
2006-06-09 01:00:36 +00:00
Bruce Momjian e4725e35be Add URL.
>
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
2006-06-08 18:59:01 +00:00
Bruce Momjian 51aa05a437 Use simple URL's rather than text and a URL:
< 	    recovery.  See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
> 	    recovery.
> 	    http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
<   Right now only one encoding is allowed per database.  For a partial
<   patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
>   Right now only one encoding is allowed per database.
>   http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
459c460
<   notify the protocol when a RESET CONNECTION command is used.  See
>   notify the protocol when a RESET CONNECTION command is used.
461d461
<   for a partial implementation.
515c515
< 	  See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
> 	  http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php
535c535
< 	  See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
> 	  http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
821c821
<   See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
>   http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php
877c877
<   Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
>   http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php
<   See partially completed patch and additional work required at
<   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php.
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php
1297c1296
<   See http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php.
>   http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php
1311c1310,1311
< 	o Improve signal handling,
> 	o Improve signal handling
>
1312a1313
>
2006-06-08 16:07:23 +00:00
Bruce Momjian 2b5b47605c Add URL.
< * Support triggers on columns (Greg Sabino Mullane)
> * Support triggers on columns
>
>   See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
>
2006-06-08 15:41:22 +00:00
Bruce Momjian ea0390b682 Spelling fix.
Robert Treat
2006-06-08 13:45:36 +00:00
Bruce Momjian 4369b0b521 Done:
> * -Allow server logs to be remotely read and removed using SQL commands
2006-06-08 13:44:09 +00:00
Bruce Momjian 44f62decad Add URL for ALTER CONSTRAINT RENAME.
>
> 	  See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
>
2006-06-08 03:17:11 +00:00
Bruce Momjian ae76c3ace9 Add URL.
< 	    recovery.
> 	    recovery.  See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
2006-06-08 02:59:02 +00:00
Bruce Momjian 366231f42f Add URL:
<   Right now only one encoding is allowed per database.
>   Right now only one encoding is allowed per database.  For a partial
>   patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
2006-06-08 02:42:44 +00:00
Bruce Momjian 8a75c07626 Update wording:
< * Add SQL99 WITH RECURSIVE to SELECT
> * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
2006-06-08 01:08:45 +00:00
Bruce Momjian 0f1a7c55b4 Add entry:
> * Consider allowing control of upper/lower case folding of unquoted
>   identifiers
>
>   Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
2006-06-08 01:02:53 +00:00
Bruce Momjian 51dfe35121 Done:
< 	o Allow timezone names in SQL strings, '2006-05-24 21:11
> 	o -Allow timezone names in SQL strings, '2006-05-24 21:11
2006-06-07 22:31:38 +00:00
Bruce Momjian 877e296306 Spelling fix.
Robert Treat
2006-06-07 21:23:01 +00:00
Bruce Momjian 9ca4c153bf Mention GPL /contrib modules:
>
>   Particularly, move GPL-licensed /contrib/userlock and
>   /contrib/dbmirror/clean_pending.pl.
>
2006-06-07 20:39:10 +00:00
Tom Lane 8a30cc2127 Make the planner estimate costs for nestloop inner indexscans on the basis
that the Mackert-Lohmann formula applies across all the repetitions of the
nestloop, not just each scan independently.  We use the M-L formula to
estimate the number of pages fetched from the index as well as from the table;
that isn't what it was designed for, but it seems reasonably applicable
anyway.  This makes large numbers of repetitions look much cheaper than
before, which accords with many reports we've received of overestimation
of the cost of a nestloop.  Also, change the index access cost model to
charge random_page_cost per index leaf page touched, while explicitly
not counting anything for access to metapage or upper tree pages.  This
may all need tweaking after we get some field experience, but in simple
tests it seems to be giving saner results than before.  The main thing
is to get the infrastructure in place to let cost_index() and amcostestimate
functions take repeated scans into account at all.  Per my recent proposal.

Note: this patch changes pg_proc.h, but I did not force initdb because
the changes are basically cosmetic --- the system does not look into
pg_proc to decide how to call an index amcostestimate function, and
there's no way to call such a function from SQL at all.
2006-06-06 17:59:58 +00:00
Bruce Momjian 05631354f3 Add URL to RESET CONNECTION:
<   notify the protocol when a RESET CONNECTION command is used.
>   notify the protocol when a RESET CONNECTION command is used.  See
>   http://archives.postgresql.org/pgsql-patches/2006-04/msg00192.php
>   for a partial implementation.
2006-06-06 16:27:23 +00:00
Bruce Momjian 491a8c27c9 Done:
< * %Make postmater and postgres options distinct so the postmaster -o
> * -Make postmater and postgres options distinct so the postmaster -o
2006-06-06 13:52:21 +00:00
Tom Lane e4de635a2b Increase the default value of cpu_index_tuple_cost from 0.001 to 0.005.
This shouldn't affect simple indexscans much, while for bitmap scans that
are touching a lot of index rows, this seems to bring the estimates more
in line with reality.  Per recent discussion.
2006-06-05 03:03:42 +00:00
Tom Lane eed6c9ed7e Add a GUC parameter seq_page_cost, and use that everywhere we formerly
assumed that a sequential page fetch has cost 1.0.  This patch doesn't
in itself change the system's behavior at all, but it opens the door to
people adopting other units of measurement for EXPLAIN costs.  Also, if
we ever decide it's worth inventing per-tablespace access cost settings,
this change provides a workable intellectual framework for that.
2006-06-05 02:49:58 +00:00
Bruce Momjian f6dc20e109 Update:
< * %Remove behavior of postmaster -o
> * %Make postmater and postgres options distinct so the postmaster -o
>   option is no longer needed
2006-06-04 02:11:04 +00:00
Bruce Momjian d7739850e4 Update:
< 	o Allow COPY to output from views
> 	o Allow COPY to output from SELECT
570c570
< 	  Another idea would be to allow actual SELECT statements in a COPY.
> 	  COPY should also be able to output views.
2006-06-04 01:33:39 +00:00
Bruce Momjian e5b198066d Update GUI FAQ.
Robert Treat
2006-06-04 00:17:43 +00:00
Bruce Momjian 1309c6f547 Update GUI tools URL.
Robert Treat
2006-06-04 00:13:43 +00:00
Bruce Momjian 8a4035410f Record location of partial patch :
>  * Allow WAL information to recover corrupted pg_controldata
>
>   See partially completed patch and additional work required at
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php.
>
2006-06-03 04:00:01 +00:00
Tom Lane 12e842422f Mention pg_encoding_to_char in entry for pg_database.encoding.
Per Larry Rosenman.
2006-06-03 02:53:04 +00:00
Bruce Momjian 6ea7164feb Patch reverted, not done:
> * Allow WAL information to recover corrupted pg_controldata
2006-06-03 02:34:35 +00:00
Bruce Momjian be05b260a9 Remove pg_resetxlog -r flag, feature has problems referenced here:
http://archives.postgresql.org/pgsql-hackers/2006-05/msg00002.php
2006-06-03 02:19:24 +00:00
Tom Lane 2703007501 Fix example of how to escape data in psql backslash commands. 2006-05-31 22:34:35 +00:00
Tom Lane 8f165ee13b Make PG_MODULE_MAGIC required in shared libraries that are loaded into
the server.  Per discussion, there seems no point in a waiting period
before making this required.
2006-05-31 20:58:09 +00:00
Bruce Momjian 3b7ed9ba9c Recommend '' for literal ', rather than \', in psql documentation. 2006-05-31 11:47:20 +00:00
Bruce Momjian c3c3902611 Support '' for literal ' in psql single-quote strings, documentation update. 2006-05-31 11:35:17 +00:00
Tom Lane e60cb3a35c Code review for magic-block patch. Remove separate header file pgmagic.h,
as this seems only likely to create headaches for module developers.  Put
the macro in the pre-existing fmgr.h file instead.  Avoid being too cute
about how many fields we can cram into a word, and avoid trying to fetch
from a library we've already unlinked.
Along the way, it occurred to me that the magic block really ought to be
'const' so it can be stored in the program text area.  Do the same for
the existing data blocks for PG_FUNCTION_INFO_V1 functions.
2006-05-30 21:21:30 +00:00
Bruce Momjian 01b2168c90 Add pgmagic header block to store compile-time constants:
It now only checks four things:

Major version number (7.4 or 8.1 for example)
NAMEDATALEN
FUNC_MAX_ARGS
INDEX_MAX_KEYS

The three constants were chosen because:

1. We document them in the config page in the docs
2. We mark them as changable in pg_config_manual.h
3. Changing any of these will break some of the more popular modules:

FUNC_MAX_ARGS changes fmgr interface, every module uses this NAMEDATALEN
changes syscache interface, every PL as well as tsearch uses this
INDEX_MAX_KEYS breaks tsearch and anything using GiST.

Martijn van Oosterhout
2006-05-30 14:09:32 +00:00
Bruce Momjian 4d06e86d04 Revert patch, needs more work:
---------------------------------------------------------------------------

Add dynamic record inspection to PL/PgSQL, useful for generic triggers:

  tval2 := r.(cname);

or

  columns := r.(*);

Titus von Boxberg
2006-05-30 13:40:56 +00:00
Bruce Momjian 38c7700f56 Add dynamic record inspection to PL/PgSQL, useful for generic triggers:
tval2 := r.(cname);

or

  columns := r.(*);

Titus von Boxberg
2006-05-30 12:03:13 +00:00
Bruce Momjian 88ba64d396 Back out patch, wrong previous commit message. 2006-05-30 11:58:05 +00:00
Bruce Momjian b6477c6295 Add regexp_replace() to string functions section.
Joachim Wieland
2006-05-30 11:54:51 +00:00
Bruce Momjian fcc02c20fc Update PL documentation:
An article at WebProNews quoted from the PG docs as to the merits of
stored procedures.  I have added a bit more material on their merits,
as well as making a few changes to improve the introductions to
PL/Perl and PL/Tcl.

Chris Browne
2006-05-30 11:40:21 +00:00
Bruce Momjian 4c494889a6 Update Japanese FAQ.
J.Kuwamura
2006-05-30 10:29:18 +00:00
Bruce Momjian 70507ace88 Add item:
> * Consider GnuTLS if OpenSSL license becomes a problem
>
>   See http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php.
2006-05-30 10:21:12 +00:00
Bruce Momjian 63cb35c41c Add:
> 	o Allow timezone names in SQL strings, '2006-05-24 21:11
> 	   Americas/New_York'::timestamptz
2006-05-29 23:29:38 +00:00
Andrew Dunstan 21e343da35 Make plperl's $_TD trigger data a global rather than a lexical variable,
with a fresh local value for each invocation, to avoid unexpected sharing
violations. Per recent -hackers discussion.
2006-05-29 13:51:23 +00:00
Andrew Dunstan 3a9ae3d206 TG_table_name and TG_table_schema for plpgsql, plus docs and regression. 2006-05-28 03:03:17 +00:00
Alvaro Herrera 3d58a1c168 Remove traces of otherwise unused RELKIND_SPECIAL symbol. Leave the psql bits
in place though, so that it plays nicely with older servers.

Per discussion.
2006-05-28 02:27:08 +00:00
Andrew Dunstan 22b118b530 TG_table_name and TG_table_schema for pl/tcl, plus regression test and docs. 2006-05-27 20:24:16 +00:00
Tom Lane 223ae6957f Support binary COPY through psql. Also improve detection of write errors
during COPY OUT.  Andreas Pflug, some editorialization by moi.
2006-05-26 19:51:29 +00:00
Bruce Momjian aadd8a23ce Update AIX FAQ.
Chris Browne
2006-05-26 19:48:32 +00:00
Andrew Dunstan 0a269db9cf Add table_name and table_schema to plpython trigger data, plus docs and regression test. 2006-05-26 19:23:09 +00:00
Andrew Dunstan 777f72cd37 Add table_name and table_schema to plperl trigger data. relname is
kept but now deprecated. Patch from Adam Sjøgren. Add regression test to
show plperl trigger data (Andrew).
TBD: apply similar changes to plpgsql, plpython and pltcl.
2006-05-26 17:34:16 +00:00
Bruce Momjian 6bd89d09c8 Remove pg_attribute detail, add URL
< 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
< 	  pg_attribute.attinhcount adjusted appropriately
> 	  See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
2006-05-24 18:12:38 +00:00
Teodor Sigaev d2158b0281 * Add support NULL to GiST.
* some refactoring and simplify code int gistutil.c and gist.c
* now in some cases it can be called used-defined
  picksplit method for non-first column in index, but here
	is a place to do more.
* small fix of docs related to support NULL.
2006-05-24 11:01:39 +00:00
Bruce Momjian c1d4551ae1 Add PQisthreadsafe() to libpq, to allow library applications to query
the thread-safety status of the library.
2006-05-23 22:13:19 +00:00
Bruce Momjian 672f0beb01 Update text:
> 	  This allows tables to be added/removed from an inheritance
> 	  hierarchy.  This is particularly useful for table partitioning.
2006-05-23 20:59:29 +00:00
Bruce Momjian b7741bff02 Add:
> 	o Add ALTER TABLE tab ADD/DROP INHERITS parent
>
> 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
> 	  pg_attribute.attinhcount adjusted appropriately
>
2006-05-23 20:57:53 +00:00
Bruce Momjian a2b6c896e5 Rename in release notes: Mac -> OS/X, Intel to x86:
Fix for OS/X Bonjour on x86 systems (Ashley Clark)
2006-05-23 20:20:52 +00:00
Bruce Momjian c8f345024d New wording, "What is the upgrade process for PostgreSQL?" 2006-05-23 15:51:07 +00:00
Bruce Momjian 4fc6aa4bc2 Update heading for upgrades. 2006-05-23 15:47:43 +00:00
Bruce Momjian 0f9652848b Add mention that everyone should upgrade to minor releases. 2006-05-23 15:22:20 +00:00
Bruce Momjian 74d0cf3974 Make "trigger" section:
> * Referential Integrity
>
> 	o Add MATCH PARTIAL referential integrity
> 	o Change foreign key constraint for array -> element to mean element
> 	  in array?
> 	o Enforce referential integrity for system tables
>
>
< Referential Integrity
< =====================
<
< * Add MATCH PARTIAL referential integrity
> Triggers
> ========
< * Change foreign key constraint for array -> element to mean element
<   in array?
801d804
< * Enforce referential integrity for system tables
2006-05-22 20:39:23 +00:00
Bruce Momjian 32bfb1c297 Update Japanese FAQ.
J.Kuwamura
2006-05-22 14:12:55 +00:00
Tom Lane e9cc53025a Update release notes for upcoming releases. 2006-05-21 21:49:22 +00:00
Tom Lane 515112f9d4 Modify libpq's string-escaping routines to be aware of encoding considerations
and standard_conforming_strings.  The encoding changes are needed for proper
escaping in multibyte encodings, as per the SQL-injection vulnerabilities
noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
to the server to ensure that it rejects queries that may have been corrupted
by attempted SQL injection, but this merely guarantees that unpatched clients
will fail rather than allow injection.  An actual fix requires changing the
client-side code.  While at it we have also fixed these routines to understand
about standard_conforming_strings, so that the upcoming changeover to SQL-spec
string syntax can be somewhat transparent to client code.

Since the existing API of PQescapeString and PQescapeBytea provides no way to
inform them which settings are in use, these functions are now deprecated in
favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
functions take the PGconn to which the string will be sent as an additional
parameter, and look inside the connection structure to determine what to do.
So as to provide some functionality for clients using the old functions,
libpq stores the latest encoding and standard_conforming_strings values
received from the backend in static variables, and the old functions consult
these variables.  This will work reliably in clients using only one Postgres
connection at a time, or even multiple connections if they all use the same
encoding and string syntax settings; which should cover many practical
scenarios.

Clients that use homebrew escaping methods, such as PHP's addslashes()
function or even hardwired regexp substitution, will require extra effort
to fix :-(.  It is strongly recommended that such code be replaced by use of
PQescapeStringConn/PQescapeByteaConn if at all feasible.
2006-05-21 20:19:23 +00:00
Tom Lane b3eb4ea5d8 Add a new GUC parameter backslash_quote, which determines whether the SQL
parser will allow "\'" to be used to represent a literal quote mark.  The
"\'" representation has been deprecated for some time in favor of the
SQL-standard representation "''" (two single quote marks), but it has been
used often enough that just disallowing it immediately won't do.  Hence
backslash_quote allows the settings "on", "off", and "safe_encoding",
the last meaning to allow "\'" only if client_encoding is a valid server
encoding.  That is now the default, and the reason is that in encodings
such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a
multibyte character, accepting "\'" allows SQL-injection attacks as per
CVE-2006-2314 (further details will be published after release).  The
"on" setting is available for backward compatibility, but it must not be
used with clients that are exposed to untrusted input.

Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21 20:10:42 +00:00
Alvaro Herrera 1f219cf433 Add last-vacuum/analyze-time columns to the stats collector, both manual and
issued by autovacuum.  Add accessor functions to them, and use those in the
pg_stat_*_tables system views.

Catalog version bumped due to changes in the pgstat views and the pgstat file.

Patch from Larry Rosenman, minor improvements by me.
2006-05-19 19:08:27 +00:00
Bruce Momjian 411a64ba73 Stamp 8.1.4, except configure/configure.in. 2006-05-19 03:55:40 +00:00
Bruce Momjian ba10a1f3e4 Update for version 8.1.4. 2006-05-19 03:52:41 +00:00
Bruce Momjian 7540476dc6 Update release notes for 8.1.4. 2006-05-19 03:49:05 +00:00
Bruce Momjian 45ec63cb24 Change <type>string</> to <parameter>string</>. 2006-05-18 03:18:24 +00:00
Bruce Momjian e6bd9bf7ff Add:
>
> * Add a GUC to control whether BEGIN inside a transcation should abort
>   the transaction.
2006-05-18 02:32:15 +00:00
Bruce Momjian d6a35c8125 Make function param_name/type documentation more consistent. 2006-05-18 00:50:08 +00:00
Bruce Momjian 18627c5531 Allow the .pgpass hostname to match the default socket directory, as
well as a blank pghost.
2006-05-17 21:50:54 +00:00
Bruce Momjian fb4c180da0 Update pg_dump vesion wording. 2006-05-13 17:10:35 +00:00
Bruce Momjian 4b7b1df8a6 Mention version portability of pg_dump. 2006-05-13 16:19:54 +00:00
Tom Lane 637028afe1 Code review for standard_conforming_strings patch. Fix it so it does not
throw warnings for 100%-SQL-standard constructs, clean up some minor
infelicities, try to un-break ecpg to the best of my ability.  (It's not clear
how ecpg is going to find out the setting of standard_conforming_strings,
though.)  I think pg_dump still needs work, too.
2006-05-11 19:15:36 +00:00
Tom Lane 3fdeb189e9 Clean up code associated with updating pg_class statistics columns
(relpages/reltuples).  To do this, create formal support in heapam.c for
"overwrite" tuple updates (including xlog replay capability) and use that
instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
Take the responsibility for updating stats during CREATE INDEX out of the
individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
from being more modular, this avoids having to update the same tuple twice in
some paths through CREATE INDEX.  It's probably not measurably faster, but
for sure it's a lot cleaner than before.
2006-05-10 23:18:39 +00:00
Bruce Momjian 12049d343e Revert documentation mention of array dimension checking, in next paragraph. 2006-05-09 23:12:54 +00:00
Bruce Momjian 0c9fab6c3b Mention array dimmensions are not enforced either. 2006-05-09 16:31:23 +00:00
Bruce Momjian 5ff2838c57 Add description:
* %Disallow changing DEFAULT expression of a SERIAL column?

>
>   This should be done only if the existing SERIAL problems cannot be
>   fixed.
>
2006-05-06 23:35:32 +00:00
Bruce Momjian d9d2d91544 Recommend more clearly custom pg_dump format over tar, buy showing
custom format examples first.
2006-05-06 23:25:37 +00:00
Bruce Momjian bcf860b7f3 Document SSL CRL usage by libpq. 2006-05-06 16:25:11 +00:00
Bruce Momjian ee1b63a48b Update standards URL.
Robert Treat
2006-05-05 09:51:53 +00:00
Bruce Momjian 9bd5181068 Add/ cleanup:
< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing DEFAULT expression of a SERIAL column?
472a473,476
> * Add DEFAULT .. AS OWNER so permission checks are done as the table
>   owner
>
>   This would be useful for SERIAL nextval() calls and CHECK constraints.
2006-05-05 09:35:58 +00:00
Tom Lane 52667d56a3 Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
The former approach used ExclusiveLock on pg_database, which being a
cluster-wide lock meant only one of these operations could proceed at
a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
Now that we have LockSharedObject(), we can use locks of different types
applied to databases considered as objects.  This allows much more
flexible management of the interlocking: two CREATE DATABASEs need not
block each other, and need not block connections except to the template
database being used.  Similarly DROP DATABASE doesn't block unrelated
operations.  The locking used in flatfiles.c is also much narrower in
scope than before.  Per recent proposal.
2006-05-04 16:07:29 +00:00
Tom Lane e57345975c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
This formulation requires every AM to provide amvacuumcleanup, unlike before,
but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
2006-05-02 22:25:10 +00:00
Tom Lane d3171dd64b Fix broken markup. 2006-05-02 18:07:51 +00:00
Tom Lane 82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
2006-04-30 21:15:33 +00:00
Tom Lane 986085a7f0 Improve the representation of FOR UPDATE/FOR SHARE so that we can
support both FOR UPDATE and FOR SHARE in one command, as well as both
NOWAIT and normal WAIT behavior.  The more general code is actually
simpler and cleaner.
2006-04-30 18:30:40 +00:00
Bruce Momjian 931bfc9664 Done:
> 	o -Allow per-database permissions to be set via GRANT
2006-04-30 02:10:41 +00:00
Bruce Momjian 4899aaf2d5 Add GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf.
Gevik Babakhani
2006-04-30 02:09:07 +00:00
Bruce Momjian 87db3ad078 Add question mark:
> * %Disallow changing default expression of a SERIAL column?
2006-04-30 01:45:26 +00:00
Bruce Momjian 782df58a1c Revert patch pending more discussion:
Disallow changing DEFAULT expression of a SERIAL column.
2006-04-30 01:08:07 +00:00
Bruce Momjian c6ef426f67 Done:
> * -Disallow changing default expression of a SERIAL column
2006-04-29 16:44:31 +00:00
Bruce Momjian 87f00a4694 Add to item log_min_error_messages item:
>   Another idea is to allow separate configuration files for each module,
>   or allow arbitrary SET commands to be passed to them.
2006-04-27 15:56:17 +00:00
Bruce Momjian 80aa37a72f Add:
> * Invalidate prepared queries, like INSERT, when the table definition
>   is altered
2006-04-27 02:41:36 +00:00
Bruce Momjian e747f4935a Add support for SSL Certificate Revocation List (CRL) files, root.crl.
Libor Hoho?
2006-04-27 02:29:14 +00:00
Bruce Momjian 02eb8f4f5c Use schema search path to find the first matching contraint name for SET
CONSTRAINT, rather than affecting all constraints in all schemas (which
is what we used to do).  Also allow schema specifications.

Kris Jurka
2006-04-27 00:33:46 +00:00
Bruce Momjian 0df32e3cbe Allow pg_resetxlog -f to reset pg_control counters using xlog
information, and add a -r option to reset pg_control without affecting
xlog.

yuanjia lee
2006-04-26 02:17:15 +00:00
Bruce Momjian 3289a932a9 Done:
* -Allow WAL information to recover corrupted pg_controldata
2006-04-26 02:15:20 +00:00
Bruce Momjian 89083876c9 Adjust SGML spacing. 2006-04-25 21:02:33 +00:00
Tom Lane 7e2d5594d7 Back out the rest of the RESET CONNECTION patch. 2006-04-25 18:58:37 +00:00
Bruce Momjian ff49a020ca Remove equals sign from environment variable with not defaults for
configure.
2006-04-25 15:19:16 +00:00
Bruce Momjian 1bd8f4f54f Make configure environment variable options without defaults not have an
equals sign.
2006-04-25 15:17:04 +00:00
Bruce Momjian 67248f7290 Add documentation about configure environment variabbles used.
David Wheeler
2006-04-25 15:14:16 +00:00
Bruce Momjian 706cbfd632 Call SET varaiables "configuration_parameter"s in the documentation. 2006-04-25 14:56:04 +00:00
Bruce Momjian e72fd16fa8 Change "parameter" to "varname" in the alter role and alter user
documentation sections.  Also update SET/RESET to be consistent.

Nicolas Barbier
2006-04-25 14:47:29 +00:00
Bruce Momjian 5fd7df43e2 I now see we support RESET SESSION AUTHORIZATION, so it seems we have to
use RESET CONNECTION:

< * Add RESET SESSION command to reset all session state
> * Add RESET CONNECTION command to reset all session state
447c447
<   notify the protocol when a RESET SESSION command is used.
>   notify the protocol when a RESET CONNECTION command is used.
2006-04-25 14:33:41 +00:00
Bruce Momjian 2b70093548 RESET SESSION is more precise:
< * Add RESET CONNECTION command to reset all session state
> * Add RESET SESSION command to reset all session state
447c447
<   notify the protocol when a RESET CONNECTION command is used.
>   notify the protocol when a RESET SESSION command is used.
2006-04-25 14:31:03 +00:00
Bruce Momjian 59d591e79a Back out RESET CONNECTION until there is more discussion. 2006-04-25 14:11:59 +00:00
Bruce Momjian 6378fdd971 Add RESET CONNECTION, to reset all aspects of a session.
Hans-J?rgen Sch?nig
2006-04-25 14:09:21 +00:00
Bruce Momjian 11fbdf2f25 Update inheritance constraint items:
< 	o %Prevent child tables from altering or dropping constraints
<           like CHECK that were inherited from the parent table
< 	  like CHECK that are inherited by child tables
<
< 	  Dropping constraints should only be possible with CASCADE.
<
> 	  like CHECK that are inherited by child tables unless CASCADE
> 	  is used
> 	o %Prevent child tables from altering or dropping constraints
>           like CHECK that were inherited from the parent table
2006-04-25 02:58:34 +00:00
Bruce Momjian b532c86f2e Done:
> * -Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
2006-04-25 00:26:53 +00:00
Bruce Momjian e6004f0151 Add statement_timestamp(), clock_timestamp(), and
transaction_timestamp() (just like now()).

Also update statement_timeout() to mention it is statement arrival time
that is measured.

Catalog version updated.
2006-04-25 00:25:22 +00:00
Bruce Momjian f04080d73b Word wrap entry 2006-04-25 00:06:23 +00:00
Bruce Momjian c880f9aeb2 Update SQL-standard INTERVAL item:
o Support ISO INTERVAL syntax if units cannot be determined from
          the string, and are supplied after the string

          The SQL standard states that the units after the string specify
          the units of the string, e.g. INTERVAL '2' MINUTE should
          return '00:02:00'.  The current behavior has the units
          restrict the interval value to the specified unit or unit range,
          INTERVAL '70' SECOND returns '00:00:10'.

          For syntax that isn't uniquely ISO or PG syntax, like '1' or
          '1:30', treat as ISO if there is a range specification clause,
          and as PG if there no clause is present, e.g. interpret
          '1:30' MINUTE TO SECOND as '1 minute 30 seconds', and
          interpret '1:30' as '1 hour, 30 minutes'.

          This makes common cases like SELECT INTERVAL '1' MONTH
          SQL-standard results.  The SQL standard supports a limited
          number of unit combinations and doesn't support unit names
          in the string.  The PostgreSQL syntax is more flexible in
          the range of units supported, e.g. PostgreSQL supports
          '1 year 1 hour', while the SQL standard does not.
2006-04-25 00:01:44 +00:00
Bruce Momjian 02b59c6ebd Done;
o -Add support for day-time syntax, INTERVAL '1 2:03:04'DAY TO
      SECOND
2006-04-24 22:59:46 +00:00
Bruce Momjian ec9d01e8e2 Done:
o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
        SECOND
2006-04-24 22:56:11 +00:00
Bruce Momjian 109d0aeb11 Add:
< * -Eventually enable escape_string_warning and standard_conforming_strings
> * -Enable escape_string_warning and standard_conforming_strings
> * Make standard_conforming_strings the default in 8.3?
>
>   When this is done, backslash-quote should be prohibited in non-E''
>   strings because of possible confusion over how such strings treat
>   backslashes.  Basically, '' is always safe for a literal single
>   quote, while \' might or might not be based on the backslash
>   handling rules.
>
2006-04-23 04:00:06 +00:00
Bruce Momjian efe3de07e9 Removes or minimizes some documentation mentions of backward
compatibility for release 7.2 and earlier.  I have not altered any
mentions of release 7.3 or later.  The release notes were not modified,
so the changes are still documented, just not in the main docs.
2006-04-23 03:39:52 +00:00
Bruce Momjian 044c3b4615 Update:
< 	o Fix psql's backslash commands more consistent
> 	o Fix psql's \d commands more consistent
2006-04-22 18:18:24 +00:00
Bruce Momjian 11c4152919 Update:
< 	o Fix psql's \dn for various schema combinations (Neil)
> 	o Fix psql's backslash commands more consistent
625a626
> 	  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
2006-04-22 18:17:57 +00:00
Bruce Momjian 0a66e482a7 Update:
o Fix psql's \dn for various schema combinations (Neil)

          http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
2006-04-22 16:06:44 +00:00
Bruce Momjian 9d483b7bcf Suggest Win32 users user E'' strings and double backslashes used for
patch separators in COPY.

Backpatch doubleing backslashes suggestion to 8.1.
2006-04-22 03:03:11 +00:00
Bruce Momjian 1b4504ced2 Remove from TODO ability to edit pg_hba.conf, but add GRANT connection
permission item:

< 	o %Allow pg_hba.conf settings to be controlled via SQL
> 	o %Allow per-database permissions to be set via GRANT
< 	  This would add a function to load the SQL table from
<           pg_hba.conf, and one to writes its contents to the flat file.
< 	  The table should have a line number that is a float so rows
< 	  can be inserted between existing rows, e.g. row 2.5 goes
< 	  between row 2 and row 3.
> 	  Allow database connection checks based on GRANT rules in
> 	  addition to the existing access checks in pg_hba.conf.
2006-04-21 20:46:22 +00:00
Bruce Momjian 19fe9a904a Add detail:
< 	  encoding.
> 	  encoding.  This requires using mblen() to determine if the
> 	  backslash is inside or outside a multi-byte sequence.
2006-04-19 22:35:42 +00:00
Bruce Momjian ce8c6aa76c Add:
>
> 	o Add new version of PQescapeString() that doesn't double backslashes
> 	  that are part of a client-only multibyte sequence
>
> 	  Single-quote is not a valid byte in any supported client-only
> 	  encoding.
>
> 	o Add new version of PQescapeString() that doesn't double
> 	  backslashes when standard_conforming_strings is true and
> 	  non-E strings are used
2006-04-19 21:50:19 +00:00
Bruce Momjian b3e4a84ba5 Add:
> 	  o Add reporting of the current WAL file, perhaps as part of
> 	    partial log file archiving
2006-04-19 02:46:32 +00:00
Bruce Momjian af86aa8443 Remove kill mention in install docs, was for pre-7.0 releases. 2006-04-18 22:52:07 +00:00
Bruce Momjian f57b2f09a8 Mention "syntax" error as not logged by log_statement.
Backpatch.
2006-04-18 12:41:15 +00:00
Bruce Momjian 5bd59b9c0a Document that errors are not output by log_statement (was they were in
8.0), and add as suggestion to use log_min_error_statement for this
purpose.  I also fixed the code so the first EXECUTE has it's prepare,
rather than the last which is what was in the current code.  Also remove
"protocol" prefix for SQL EXECUTE output because it is not accurate.

Backpatch to 8.1.X.
2006-04-18 00:52:23 +00:00
Bruce Momjian 8e7aaeb62e Done:
< 	o Update pg_dump and psql to use the new COPY libpq API (Christopher)
> 	o -Update pg_dump and psql to use the new COPY libpq API (Christopher)
2006-04-17 03:18:07 +00:00
Bruce Momjian 922f7536c9 Remove:
< 	o %Have pg_dump use multi-statement transactions for INSERT dumps
2006-04-15 18:13:11 +00:00
Bruce Momjian 598dfee552 Document that pg_dump -d/-D prevents invalid data from canceling the
entire table load.
2006-04-15 18:11:16 +00:00
Tom Lane 3651a3e6fb Support the syntax
CREATE AGGREGATE aggname (input_type) (parameter_list)
along with the old syntax where the input type was named in the parameter
list.  This fits more naturally with the way that the aggregate is identified
in DROP AGGREGATE and other utility commands; furthermore it has a natural
extension to handle multiple-input aggregates, where the basetype-parameter
method would get ugly.  In fact, this commit fixes the grammar and all the
utility commands to support multiple-input aggregates; but DefineAggregate
rejects it because the executor isn't fixed yet.
I didn't do anything about treating agg(*) as a zero-input aggregate instead
of artificially making it a one-input aggregate, but that should be considered
in combination with supporting multi-input aggregates.
2006-04-15 17:45:46 +00:00
Bruce Momjian ebd5257d49 Done:
> * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
2006-04-14 22:26:22 +00:00
Bruce Momjian dcdf738abb Fix HTML markup. 2006-04-13 12:20:36 +00:00
Bruce Momjian 2aca4e84af Update tutorial URL's. 2006-04-13 12:14:41 +00:00
Bruce Momjian 452b2fc6e4 Update URL for SQL tutorial. 2006-04-13 12:09:08 +00:00
Bruce Momjian 98c6c966bc Update AIX FAQ:
At any rate, here's a revision to CVS HEAD to reflect some changes by
myself and by Seneca Cunningham for the AIX FAQ.  It touches on the
following issues:

1.  memcpy pointer patch for dynahash.c

2.  AIX memory management, which can, for 32 bit cases, bite people
    quite unexpectedly...

Chris Browne
2006-04-13 11:41:02 +00:00
Bruce Momjian 9204980aa1 Update:
<   multiple I/O channels simultaneously.
>   multiple I/O channels simultaneously.  One idea is to create a
>   background reader that can pre-fetch sequential and index scan
>   pages needed by other backends.  This could be expanded to allow
>   concurrent reads from multiple devices in a partitioned table.
2006-04-13 10:50:13 +00:00
Bruce Momjian 6ae559daf8 Add, "How do I submit a patch" FAQ item. 2006-04-12 20:03:54 +00:00
Bruce Momjian 4f6039de6e Add second sentence:
<P>The maximum table size, row size, and maximum number of columns
    can be quadrupled by increasing the default block size to 32k.  The
    maximum table size can also be increased using table partitioning.</P>
2006-04-12 18:56:16 +00:00
Bruce Momjian 031e3c8b84 Updated Japanese FAQ, version 2.
J.Kuwamura
2006-04-11 21:21:52 +00:00
Bruce Momjian f54a070268 Update Japanese FAQ, backpatch.
J.Kuwamura
2006-04-11 21:18:03 +00:00
Bruce Momjian ef5fde0881 Oops, sysctl, not sysconf, for FreeBSD. 2006-04-11 21:04:52 +00:00
Bruce Momjian 7626181bf7 More FreeBSD jail wording improvements. 2006-04-11 19:45:33 +00:00
Bruce Momjian cc7b6c75e3 Update jail wording to mention non-root users. 2006-04-11 19:42:27 +00:00
Bruce Momjian ba60acf17e Add documentation about running postmasters in FreeBSD jails (use
separate users).
2006-04-11 19:26:42 +00:00
Bruce Momjian fac2ba5da3 There is updated Russian translation of the FAQ in the attachment.
Victor Vislobokov
2006-04-11 15:48:11 +00:00
Bruce Momjian 3f040b1ff8 Done, per Tom:
< * Allow user-defined functions retuning a domain value to enforce domain
> * -Allow user-defined functions retuning a domain value to enforce domain
2006-04-11 02:08:19 +00:00
Bruce Momjian 857b0cd127 Add:
* Re-enable the GUC full_page_writes in 8.2 when reliability issues have
  been addressed
2006-04-10 23:15:46 +00:00
Bruce Momjian e7101b6b82 Add:
> * Allow log_min_messages to be specified on a per-module basis
>
>   This would allow administrators to see more detailed information from
>   specific sections of the backend, e.g. checkpoints, autovacuum, etc.
2006-04-10 21:06:23 +00:00
Bruce Momjian fb2b198609 Add:
< * Experiment with multi-threaded backend [thread]
> * Experiment with multi-threaded backend for backend creation [thread]
1003a1004,1008
>
> * Experiment with multi-threaded backend better resource utilization
>
>   This would allow a single query to make use of multiple CPU's or
>   multiple I/O channels simultaneously.
2006-04-09 20:24:30 +00:00
Bruce Momjian 83843a4439 Update:
> * Allow the creation of indexes with mixed ascending/descending
>   specifiers
>
>   This is possible now by creating an operator class with reversed sort
>   operators.  One complexity is that NULLs would then appear at the start
>   of the result set, and this might affect certain sort types, like
>   merge join.
>
2006-04-09 03:27:06 +00:00
Peter Eisentraut 0bc2a8ca65 Build src/test/regress/README during tarball making like the other
generated text files.  Fix build of that file, too.

Put the text files in the right place during make dist, so there are no
extra manual steps required anymore.
2006-04-06 18:54:37 +00:00
Bruce Momjian 9e0eff05ca Update AIX FAQ to show readline options more clearly.
Backpatch FAQ's to 8.1.X.
2006-04-05 22:55:05 +00:00
Tom Lane 7fdb4305db Fix a bunch of problems with domains by making them use special input functions
that apply the necessary domain constraint checks immediately.  This fixes
cases where domain constraints went unchecked for statement parameters,
PL function local variables and results, etc.  We can also eliminate existing
special cases for domains in places that had gotten it right, eg COPY.

Also, allow domains over domains (base of a domain is another domain type).
This almost worked before, but was disallowed because the original patch
hadn't gotten it quite right.
2006-04-05 22:11:58 +00:00
Tom Lane 147d4bf3e5 Modify all callers of datatype input and receive functions so that if these
functions are not strict, they will be called (passing a NULL first parameter)
during any attempt to input a NULL value of their datatype.  Currently, all
our input functions are strict and so this commit does not change any
behavior.  However, this will make it possible to build domain input functions
that centralize checking of domain constraints, thereby closing numerous holes
in our domain support, as per previous discussion.

While at it, I took the opportunity to introduce convenience functions
InputFunctionCall, OutputFunctionCall, etc to use in code that calls I/O
functions.  This eliminates a lot of grotty-looking casts, but the main
motivation is to make it easier to grep for these places if we ever need
to touch them again.
2006-04-04 19:35:37 +00:00
Tom Lane eaef111396 Define a separately configurable XLOG_BLCKSZ symbol for the page size
used within WAL files.  Historically this was the same as the data file
BLCKSZ, but there's no necessary connection, and it's possible that
performance gains might ensue from reducing XLOG_BLCKSZ.  In any case
distinguishing two symbols should improve code clarity.  This commit
does not actually change the page size, only provide the infrastructure
to make it possible to do so.  initdb forced because of addition of a
field to pg_control.
Mark Wong, with some help from Simon Riggs and Tom Lane.
2006-04-03 23:35:05 +00:00
Bruce Momjian ef524d1775 Add to qsort TODO.detail. 2006-04-03 03:46:16 +00:00
Bruce Momjian 97ae541cf4 Update for max row size. 2006-04-03 03:40:20 +00:00
Bruce Momjian 713cc92531 Update max row size to 400gb, per Tom. 2006-04-03 03:39:23 +00:00
Neil Conway 7815ca7bef Rewrite much of psql's \connect code, for the sake of code clarity and
to fix regressions introduced in the recent patch adding additional
\connect options. This is based on work by Volkan YAZICI, although
this version of the patch doesn't bear much resemblance to Volkan's
version.

\connect takes 4 optional arguments: database name, user name, host
name, and port number. If any of those parameters are omitted or
specified as "-", the value of that parameter from the previous
connection is used instead; if there is no previous connection,
the libpq default is used. Note that this behavior makes it
impossible to reuse the libpq defaults without quitting psql and
restarting it; I don't really see the use case for needing to do
that.
2006-04-02 20:08:22 +00:00
Peter Eisentraut f7ae90041e Update information schema for SQL:2003 and new PostgreSQL features. 2006-04-02 17:38:13 +00:00
Neil Conway d73336f8f4 Correct some errors and do some SGML police work on the reference pages
for REASSIGN OWNED and DROP OWNED.
2006-04-02 04:02:40 +00:00
Neil Conway a619e068d3 Minor improvement to DROP TABLE reference page. 2006-04-02 03:56:40 +00:00
Bruce Momjian 0220282266 Add recent /port/qsort comparison discussion. 2006-04-02 01:27:42 +00:00
Peter Eisentraut 5094f99830 Document long names for format options (plain, tar, custom). They already
worked and someone asked about them, so we might as well document them.
2006-03-17 16:02:47 +00:00
Bruce Momjian f3d99d160d Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
Neil Conway 0ebf1cc834 Implement 4 new aggregate functions from SQL2003. Specifically: var_pop(),
var_samp(), stddev_pop(), and stddev_samp(). var_samp() and stddev_samp()
are just renamings of the historical Postgres aggregates variance() and
stddev() -- the latter names have been kept for backward compatibility.
This patch includes updates for the documentation and regression tests.
The catversion has been bumped.

NB: SQL2003 requires that DISTINCT not be specified for any of these
aggregates. Per discussion on -patches, I have NOT implemented this
restriction: if the user asks for stddev(DISTINCT x), presumably they
know what they are doing.
2006-03-10 20:15:28 +00:00
Bruce Momjian 497b5ad928 Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
Tom Lane 66fc528d99 Remove somebody's flight of fancy about an UPDATE with ORDER BY and LIMIT. 2006-03-08 22:59:09 +00:00
Bruce Momjian ce1106d2fa Properly set "escape_string_warning" to default to true. 2006-03-07 02:54:23 +00:00
Bruce Momjian 135fe1899d SGML typo fix. 2006-03-06 22:54:14 +00:00
Bruce Momjian 1c02144731 Done though the second is default so off in 8.2:
> * -Eventually enable escape_string_warning and standard_conforming_strings
2006-03-06 22:51:20 +00:00
Bruce Momjian d69b163247 Attached is the new patch. To summarize:
- new function justify_interval(interval)
   - modified function justify_hours(interval)
   - modified function justify_days(interval)

These functions are defined to meet the requirements as discussed in
this thread.  Specifically:

   - justify_hours makes certain the sign bit on the hours
     matches the sign bit on the days.  It only checks the
     sign bit on the days, and not the months, when
     determining if the hours should be positive or negative.
     After the call, -24 < hours < 24.

   - justify_days makes certain the sign bit on the days
     matches the sign bit on the months.  It's behavior does
     not depend on the hours, nor does it modify the hours.
     After the call, -30 < days < 30.

   - justify_interval makes sure the sign bits on all three
     fields months, days, and hours are all the same.  After
     the call, -24 < hours < 24 AND -30 < days < 30.

Mark Dilger
2006-03-06 22:49:17 +00:00
Bruce Momjian 19c21d115d Enable standard_conforming_strings to be turned on.
Kevin Grittner
2006-03-06 19:49:20 +00:00
Bruce Momjian ebdc35822d Add:
> 	o Prevent parent tables from altering or dropping constraints
> 	  like CHECK that are inherited by child tables
>
> 	  Dropping constraints should only be possible with CASCADE.
>
2006-03-06 17:10:31 +00:00