Commit Graph

1944 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bruce Momjian
931bfc9664 Done:
> 	o -Allow per-database permissions to be set via GRANT
2006-04-30 02:10:41 +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
3289a932a9 Done:
* -Allow WAL information to recover corrupted pg_controldata
2006-04-26 02:15:20 +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
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
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
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
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
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
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
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
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
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
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
Bruce Momjian
d2eb1d12a0 Add for Win32:
> 	o Check WSACancelBlockingCall() for interrupts (win32intr)
>
2006-03-06 15:19:45 +00:00
Bruce Momjian
e166574a1d Add for ecpg:
> 	o Add COPY TO STDIN / STDOUT handling
2006-03-06 15:13:38 +00:00
Bruce Momjian
2f01703f90 Update:
< * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns
> * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
>   does not dump the changes
2006-03-06 05:22:31 +00:00
Bruce Momjian
1ad126314f Add:
> * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns
2006-03-06 05:16:21 +00:00
Bruce Momjian
f9520ac110 Add:
> 	o Port contrib/xml2
2006-03-05 18:28:46 +00:00
Bruce Momjian
5173b1a40f Done:
> 	o -Add "include file" functionality in postgresql.conf
2006-03-05 15:16:58 +00:00
Bruce Momjian
18bc9ea561 Add:
> * Allow FSM page return free space based on table clustering, to assist
>   in maintaining clustering?
2006-03-04 05:02:03 +00:00
Bruce Momjian
f4a4755734 Done:
> * -Allow TRUNCATE ... CASCADE/RESTRICT
2006-03-03 20:43:00 +00:00
Bruce Momjian
c776fba1e1 Done:
< 	o %Have COPY return the number of rows loaded/unloaded?
> 	o -Have COPY return the number of rows loaded/unloaded?
2006-03-03 20:37:29 +00:00
Bruce Momjian
2a0ba3f8dd Add:
> * Allow FSM to return free space toward the beginning of the heap file,
>   in hopes that empty pages at the end can be truncated by VACUUM
2006-03-03 03:13:04 +00:00
Bruce Momjian
66eccb466e Add:
> * Add missing parameter handling in to_char()
>
> 	http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php
>
2006-03-03 02:38:57 +00:00
Bruce Momjian
d65b4e30f0 Add:
> * Allow to_date() and to_timestamp() accept localized month names
2006-03-03 02:18:09 +00:00
Bruce Momjian
f79df7fcc9 Add:
> * Improve port/qsort() to handle sorts with 50% unique and 50% duplicate
>   value [qsort]
>
>   This involves choosing better pivot points for the quicksort.
2006-03-02 18:18:00 +00:00
Bruce Momjian
c6b6f7ad64 Add:
* Split out libpq pgpass and environment documentation sections to make
  it easier for non-developers to find
2006-02-28 19:48:03 +00:00
Bruce Momjian
52d010d857 Done:
> * -Add 'tid != tid ' operator for use in corruption recovery
2006-02-26 21:22:47 +00:00
Neil Conway
f33d3bc0bf TODO updates:
- "Add ON COMMIT capability to CREATE TABLE AS ... SELECT" is done

- "Allow PREPARE to automatically determine parameter types" is done

- "Clean up compiler warnings (especially with gcc version 4)" is done:
  AFAIK there are no remaining gcc4 compiler warnings to be fixed.

- Creating rules to do view updates is *not* an easy TODO item
2006-02-26 01:21:57 +00:00
Bruce Momjian
305c82e6bb Add intervals:
> 	o Allow infinite dates and intervals just like infinite timestamps
2006-02-25 16:34:52 +00:00
Bruce Momjian
8e8972832a Remove duplicate:
< 	o %Disallow dropping of an inherited constraint
2006-02-25 03:40:14 +00:00
Bruce Momjian
589b67d34b Add:
>
> 	o Allow pg_hba.conf to specify host names along with IP addresses
>
> 	  Host name lookup could occur when the postmaster reads the
> 	  pg_hba.conf file, or when the backend starts.  Another
> 	  solution would be to reverse lookup the connection IP and
> 	  check that hostname against the host names in pg_hba.conf.
> 	  We could also then check that the host name maps to the IP
> 	  address.
2006-02-13 03:55:02 +00:00
Bruce Momjian
3694e70682 Not done:
> 	o %Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
2006-02-12 19:13:19 +00:00
Bruce Momjian
20b508308a Done:
> * -Add COMMENT ON for all cluster global objects (roles, databases
2006-02-12 06:51:14 +00:00
Bruce Momjian
136c3b87ac Done:
> * -Allow to_char() to print localized month names
2006-02-12 04:44:17 +00:00
Bruce Momjian
3884ede663 Done:
> * -Add system view to show free space map contents
2006-02-12 03:56:13 +00:00
Bruce Momjian
3fcb38f031 Done:
> 	o -Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
2006-02-11 22:17:17 +00:00
Bruce Momjian
97d37b7a22 Done:
< 	o Improve psql's handling of multi-line statements
> 	o -Improve psql's handling of multi-line statements
2006-02-11 21:55:49 +00:00
Bruce Momjian
642c8cc470 Done:
> * -Allow INET + INT8 to increment the host part of the address or
2006-02-11 03:33:36 +00:00
Bruce Momjian
af03b689dd Done:
< 	o Allow multi-line column values to align in the proper columns
> 	o -Allow multi-line column values to align in the proper columns
2006-02-10 04:14:17 +00:00
Bruce Momjian
15be0b8cd1 Remove question mark:
< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing default expression of a SERIAL column
2006-02-07 14:49:17 +00:00
Bruce Momjian
04a942e31e Split up wal-logging items:
< * Allow control over which tables are WAL-logged [walcontrol]
> * Allow WAL logging to be turned off for a table, but the table
>   might be dropped or truncated during crash recovery [walcontrol]
<   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.  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 ].  Tables using non-default logging should not use
<   referential integrity with default-logging tables, and tables using
<   stable logging probably can not have indexes.  One complexity is
<   the handling of indexes on TOAST tables.
>   commit.  This should be implemented using ALTER TABLE, e.g. ALTER
>   TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ].  Tables using
>   non-default logging should not use referential integrity with
>   default-logging tables.  A table without dirty buffers during a
>   crash could perhaps avoid the drop/truncate.
>
> * Allow WAL logging to be turned off for a table, but the table would
>   avoid being truncated/dropped [walcontrol]
>
>   To do this, only a single writer can modify the table, and writes
>   must happen only on new pages so the new pages can be removed during
>   crash recovery.  Readers can continue accessing the table.  Such
>   tables probably cannot have indexes.  One complexity is the handling
>   of indexes on TOAST tables.
2006-02-07 02:08:08 +00:00
Peter Eisentraut
3fa9c416ed Issue a warning if a change-on-restart-only postgresql.conf value is
modified  and the server config files are reloaded
2006-02-04 12:50:47 +00:00
Bruce Momjian
bc6a824ca6 Update walcontrol item:
< * Allow control over which tables are WAL-logged
> * Allow control over which tables are WAL-logged [walcontrol]
1038c1038,1039
<   stable logging probably can not have indexes.  [walcontrol]
>   stable logging probably can not have indexes.  One complexity is
>   the handling of indexes on TOAST tables.
2006-02-04 03:23:21 +00:00
Bruce Momjian
bd5d12a16b Add:
> * Allow statistics collector information to be pulled from the collector
>   process directly, rather than requiring the collector to write a
>   filesystem file twice a second?
2006-02-01 17:32:45 +00:00
Bruce Momjian
c6ef3264be Move items:
> * Add SQL99 WITH clause to SELECT
> * Add SQL99 WITH RECURSIVE to SELECT
< * Add SQL99 WITH clause to SELECT
< * Add SQL99 WITH RECURSIVE to SELECT
2006-02-01 00:07:26 +00:00
Bruce Momjian
5eb29fea25 Add:
>
> 	o Prevent tab completion of SET TRANSACTION from querying the
> 	  database and therefore preventing the transaction isolation
> 	  level from being set.
>
> 	  Currently, SET <tab> causes a database lookup to check all
> 	  supported session variables.  This query causes problems
> 	  because setting the transaction isolation level must be the
> 	  first statement of a transaction.
2006-02-01 00:03:09 +00:00
Bruce Momjian
3125321934 Done:
< * %Prevent INET cast to CIDR if the unmasked bits are not zero, or
<   zero the bits
< * %Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
> * -Zero umasked bits in conversion from INET cast to CIDR
> * -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
2006-01-26 02:50:11 +00:00
Bruce Momjian
1bdc5ab2da Done:
< 	o Allow an alias to be provided for the target table in
< 	  UPDATE/DELETE
<
< 	  This is not SQL-spec but many DBMSs allow it.
<
> 	o -Allow an alias to be provided for the target table in
> 	  UPDATE/DELETE (Neil)
2006-01-23 02:59:27 +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
Bruce Momjian
9545d66a97 Done:
> * -Add sleep() function, remove from regress.c
2006-01-11 20:28:21 +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
Bruce Momjian
6d41b144e9 Add:
>
> 	* Allow SERIAL sequences to inherit permissions from the base table?
2006-01-05 17:47:53 +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
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
9be5beb918 Done:
> * -Remove BeOS and QNX-specific code
2006-01-05 03:02:03 +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
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
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
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
Bruce Momjian
2f1a78e200 Update item:
>
>   A more complex solution would be to save multiple plans for different
>   cardinality and use the appropriate plan based on the EXECUTE values.
>
2005-12-22 23:05:32 +00:00
Bruce Momjian
25af534ea1 Remove item:
< * Allow star join optimizations
<
<   While our bitmap scan allows multiple indexes to be joined to get
<   to heap rows, a star joins allows multiple dimension _tables_ to
<   be joined to index into a larger main fact table.  The join is
<   usually performed by either creating a cartesian product of all
<   the dimmension tables and doing a single join on that product or
<   using subselects to create bitmaps of each dimmension table match
<   and merge the bitmaps to perform the join on the fact table.  Some
<   of these algorithms might be patented.
2005-12-17 19:03:24 +00:00
Bruce Momjian
3282b6338b Update:
< * Flush cached query plans when the dependent objects change or
<   when the cardinality of parameters changes dramatically
> * Flush cached query plans when the dependent objects change,
>   when the cardinality of parameters changes dramatically, or
>   when new ANALYZE statistics are available
2005-12-17 18:07:01 +00:00
Bruce Momjian
16843ba33c Add mention of possible patent problems with star joins, per Joshua
Drake:

<   and merge the bitmaps to perform the join on the fact table.
>   and merge the bitmaps to perform the join on the fact table.  Some
>   of these algorithms might be patented.
2005-12-17 17:04:41 +00:00
Bruce Momjian
9e9a844f55 Add:
* Allow star join optimizations

  While our bitmap scan allows multiple indexes to be joined to get
  to heap rows, a star joins allows multiple dimension _tables_ to
  be joined to index into a larger main fact table.  The join is
  usually performed by either creating a cartesian product of all
  the dimmension tables and doing a single join on that product or
  using subselects to create bitmaps of each dimmension table match
  and merge the bitmaps to perform the join on the fact table.
2005-12-17 16:43:11 +00:00
Bruce Momjian
927f57687f Add more function to TODO:
< * %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
> * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(),
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
2005-12-17 14:18:33 +00:00
Bruce Momjian
eae75beb71 Update:
< * Flush cached query plans when the dependent objects change
> * Flush cached query plans when the dependent objects change or
>   when the cardinality of parameters changes dramatically
2005-12-17 04:10:47 +00:00
Bruce Momjian
56ea9ad11f Add:
> * Allow the count returned by SELECT, etc to be to represent as an int64
>   to allow a higher range of values
2005-12-17 01:48:37 +00:00
Bruce Momjian
cb77a9ea53 Force update. 2005-12-16 18:56:55 +00:00
Neil Conway
1c7347f897 Fix some typos in the TODO list. 2005-12-16 18:44:07 +00:00
Bruce Momjian
baf4e187ef Update wording, query -> statement:
< * %Allow pooled connections to list all prepared queries
> * %Allow pooled connections to list all prepared statements
28c28
<   the queries prepared in the current session.
>   the statements prepared in the current session.
143c143
< 	  o Allow a warm standby system to also allow read-only queries
> 	  o Allow a warm standby system to also allow read-only statements
404c404
< * Add GUC to issue notice about queries that use unjoined tables
> * Add GUC to issue notice about statements that use unjoined tables
490c490
< 	  Another idea would be to allow actual SELECT queries in a COPY.
> 	  Another idea would be to allow actual SELECT statements in a COPY.
554c554
< 	o Allow function argument names to be queries from PL/PgSQL
> 	o Allow function argument names to be statements from PL/PgSQL
591c591
< 	o Improve psql's handling of multi-line queries
> 	o Improve psql's handling of multi-line statements
< 	  Currently, while \e saves a single query as one entry, interactive
< 	  queries are saved one line at a time.  Ideally all queries
> 	  Currently, while \e saves a single statement as one entry, interactive
> 	  statements are saved one line at a time.  Ideally all statements
665c665
< 	o Allow query results to be automatically batched to the client
> 	o Allow statement results to be automatically batched to the client
667c667
< 	  Currently, all query results are transfered to the libpq
> 	  Currently, all statement results are transfered to the libpq
672c672
< 	  One complexity is that a query like SELECT 1/col could error
> 	  One complexity is that a statement like SELECT 1/col could error
739c739
< * Allow queries across databases or servers with transaction
> * Allow statements across databases or servers with transaction
<   inheritance, allow it to work for UPDATE and DELETE queries, and allow
<   it to be used for all queries with little performance impact
>   inheritance, allow it to work for UPDATE and DELETE statements, and allow
>   it to be used for all statements with little performance impact
876c876
< * Consider automatic caching of queries at various levels:
> * Consider automatic caching of statements at various levels:
947c947
<   a single session using multiple threads to execute a query faster.
>   a single session using multiple threads to execute a statement faster.
1025c1025
< * Log queries where the optimizer row estimates were dramatically
> * Log statements where the optimizer row estimates were dramatically
1146c1146
< 	  of result sets using new query protocol
> 	  of result sets using new statement protocol
2005-12-12 13:36:36 +00:00
Bruce Momjian
c10593149a Remove item:
< * Add GUC variable to run a command on database panic or
<   smart/fast/immediate shutdown
2005-12-11 02:16:25 +00:00
Bruce Momjian
ecf4df6116 Done:
< * Allow installing to directories containing spaces
> * -Allow installing to directories containing spaces
2005-12-09 21:46:07 +00:00
Bruce Momjian
07044f5d6f Completed:
* -Have initdb set the input DateStyle (MDY or DMY) based on locale
2005-12-09 16:35:20 +00:00
Peter Eisentraut
625d4b38e0 Let initdb detect the date order of the lc_time locale and initialize the
datestyle parameter of the new cluster accordingly.
2005-12-09 15:51:14 +00:00
Bruce Momjian
d22ec67605 Add Teodor:
> * Teodor is Teodor Sigaev <teodor@sigaev.ru>
2005-12-08 22:10:25 +00:00
Bruce Momjian
0fba659ef8 Remove a few people:
< * Claudio is Claudio Natoli <claudio.natoli@memetrics.com>
1166d1164
< * Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
2005-12-08 22:08:20 +00:00
Bruce Momjian
10a2df28c0 Update:
<   at initdb time or optionally later.
>   at initdb time or optionally later.  Consider O_SYNC when
>   O_DIRECT exists.
2005-12-07 17:29:14 +00:00
Bruce Momjian
371879ca8e Add:
> * Add GUC variable to run a command on database panic or
>   smart/fast/immediate shutdown
2005-12-06 20:47:05 +00:00
Bruce Momjian
99552287e1 Update:
< 	  Win32 API, and we have to make sure MinGW handles it.
> 	  Win32 API, and we have to make sure MinGW handles it.  Another
> 	  option is to wait for the MinGW project to fix it, or use the
> 	  code from the LibGW32C project as a guide.
2005-12-04 21:16:51 +00:00
Bruce Momjian
8752479dfc Add:
> 	o Add long file support for binary pg_dump output
>
> 	  While Win32 supports 64-bit files, the MinGW API does not,
> 	  meaning we have to build an fseeko replacement on top of the
> 	  Win32 API, and we have to make sure MinGW handles it.
2005-12-04 04:33:18 +00:00
Bruce Momjian
bedb5fc309 Add:
> * Add SPI_gettypmod() to return the typemod for a TupleDesc
2005-12-04 04:14:43 +00:00
Bruce Momjian
49bbff0f8d Add for autovacuum:
> 	o Consider logging activity either to the logs or a system view
2005-12-04 04:02:55 +00:00
Bruce Momjian
eb339c7840 Item removed:
< * Add function to return the thread safety status of libpq and ecpg
2005-12-03 13:03:41 +00:00
Bruce Momjian
5ab2598875 Remove idea of increasing NUMERIC length:
< * Change NUMERIC to enforce the maximum precision, and increase it
> * Change NUMERIC to enforce the maximum precision
2005-12-02 17:39:44 +00:00
Bruce Momjian
9322a04759 Add calcluation of bitmap storage capacity.
<   be cleared when a heap tuple is expired.  Another idea is to maintain
<   a bitmap of heap pages where all rows are visible to all backends,
<   and allow index lookups to reference that bitmap to avoid heap
<   lookups, perhaps the same bitmap we might add someday to determine
<   which heap pages need vacuuming.
>   be cleared when a heap tuple is expired.
>
>   Another idea is to maintain a bitmap of heap pages where all rows
>   are visible to all backends, and allow index lookups to reference
>   that bitmap to avoid heap lookups, perhaps the same bitmap we might
>   add someday to determine which heap pages need vacuuming.  Frequently
>   accessed bitmaps would have to be stored in shared memory.  One 8k
>   page of bitmaps could track 512MB of heap pages.
2005-12-02 04:28:19 +00:00
Bruce Momjian
113ece8f3d Add all heap page rows visible bitmap idea:
<   the heap.  One way to allow this is to set a bit to index tuples
>   the heap.  One way to allow this is to set a bit on index tuples
<   be cleared when a heap tuple is expired.
<
>   be cleared when a heap tuple is expired.  Another idea is to maintain
>   a bitmap of heap pages where all rows are visible to all backends,
>   and allow index lookups to reference that bitmap to avoid heap
>   lookups, perhaps the same bitmap we might add someday to determine
>   which heap pages need vacuuming.
2005-12-01 22:30:43 +00:00
Bruce Momjian
915fb7f687 Add MERGE TODO.detail:
>   [merge]
378a380
>   [merge]
2005-12-01 22:12:35 +00:00
Bruce Momjian
24e1a04591 Split out MERGE and REPLACE/UPSERT items.
< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
<   triggers?)
> * Add SQL-standard MERGE command, typically used to merge two tables
>
>   This is similar to UPDATE, then for unmatched rows, INSERT.
>   Whether concurrent access allows modifications which could cause
>   row loss is implementation independent.
>
> * Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
2005-12-01 22:07:59 +00:00
Bruce Momjian
339fbbb9a0 Update for 8.2:
< #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
> #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#
2005-11-29 02:02:40 +00:00
Bruce Momjian
8ed7065c7b Item removed, looping always required:
< * Remove Win32 rename/unlink looping if unnecessary
2005-11-29 02:01:52 +00:00
Bruce Momjian
a4371a6813 Add:
> * Allow COMMENT ON to accept an expression rather than just a string
2005-11-28 22:21:58 +00:00
Bruce Momjian
c0a2f8cc4d Add space. 2005-11-24 04:40:27 +00:00
Bruce Momjian
3f69c4193f Add item:
<
> 	o Add -f to pg_dumpall
2005-11-24 04:28:40 +00:00
Bruce Momjian
ce1d8293f0 Done:
> 	o -Allow NULLs in arrays
2005-11-22 23:22:38 +00:00
Bruce Momjian
c28c00ecc8 Add:
>
> * Add estimated_count(*) to return an estimate of COUNT(*)
>
>   This would use the planner ANALYZE statistatics to return an estimated
>   count.
2005-11-22 23:06:56 +00:00
Bruce Momjian
84bb3876bc Update, add mention of user locking table before MERGE:
<   so duplicate checking can be easily performed.
>   so duplicate checking can be easily performed.  It is possible to
>   do it without a unique index if we require the user to LOCK the table
>   before the MERGE.
2005-11-16 18:45:09 +00:00
Bruce Momjian
01798a06b9 Add batch mode, make new libpq section:
< * Add a libpq function to support Parse/DescribeStatement capability
< * Add PQescapeIdentifier() to libpq
< * Prevent PQfnumber() from lowercasing unquoted the column name
<
<   PQfnumber() should never have been doing lowercasing, but historically
<   it has so we need a way to prevent it
<
648a642,661
>
>
> libpq
>
> 	o Add a function to support Parse/DescribeStatement capability
> 	o Add PQescapeIdentifier()
> 	o Prevent PQfnumber() from lowercasing unquoted the column name
>
> 	  PQfnumber() should never have been doing lowercasing, but
> 	  historically it has so we need a way to prevent it
>
> 	o Allow query results to be automatically batched to the client
>
> 	  Currently, all query results are transfered to the libpq
> 	  client before libpq makes the results available to the
> 	  application.  This feature would allow the application to make
> 	  use of the first result rows while the rest are transfered, or
> 	  held on the server waiting for them to be requested by libpq.
> 	  One complexity is that a query like SELECT 1/col could error
> 	  out mid-way through the result set.
2005-11-16 16:33:44 +00:00
Bruce Momjian
698ee9c3e7 Update MERGE:
>
>   To implement this cleanly requires that the table have a unique index
>   so duplicate checking can be easily performed.
>
2005-11-15 23:08:24 +00:00
Bruce Momjian
bc93b3741d Update:
< 	o Allow ALTER TABLE RENAME CONSTRAINT
> 	o Add ALTER TABLE RENAME CONSTRAINT, update index name also
2005-10-27 14:16:05 +00:00
Bruce Momjian
befc607dee Add:
> 	o Have ALTER INDEX update the name of a constraint using that index
> 	o Allow ALTER TABLE RENAME CONSTRAINT
2005-10-27 14:07:29 +00:00