@ -1,6 +1,6 @@
TODO list for PostgreSQL
TODO list for PostgreSQL
========================
========================
Last updated: Mon Sep 2 02:44:01 EDT 2002
Last updated: Mon Sep 2 11:30:39 EDT 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@ -38,7 +38,7 @@ Reporting
* -Change DEBUG startup tag to LOG (Bruce)
* -Change DEBUG startup tag to LOG (Bruce)
* Show location of syntax error in query [yacc]
* Show location of syntax error in query [yacc]
* -Add getpid() function to backend
* -Add getpid() function to backend
* Allow logging of query durations
* - Allow logging of query durations
Permissions
Permissions
@ -48,8 +48,6 @@ Permissions
* -Allow user/group names to be specified directly in pg_hba.conf (Bruce)
* -Allow user/group names to be specified directly in pg_hba.conf (Bruce)
* -Add PGPASSWORDFILE environment variable or ~/.pgpass to store
* -Add PGPASSWORDFILE environment variable or ~/.pgpass to store
user/host/password combinations
user/host/password combinations
* Make single-user local access permissions the default by limiting
permissions on the socket file (Peter E)
* -Allow permissions for functions (Peter E)
* -Allow permissions for functions (Peter E)
* -Allow object creation to be disabled for specific users
* -Allow object creation to be disabled for specific users
@ -69,8 +67,8 @@ Administration
specified parameters to postgresql.conf defaults (Peter E)
specified parameters to postgresql.conf defaults (Peter E)
* Allow easy display of usernames in a group
* Allow easy display of usernames in a group
* Allow configuration files to be specified in a different directory
* Allow configuration files to be specified in a different directory
* Reserve last few process slots for super-user if max_connections reached
* - Reserve last few process slots for super-user if max_connections reached
* Add GUC parameter to print queries that generate errors
* - Add GUC parameter to print queries that generate errors
Data Types
Data Types
==========
==========
@ -79,27 +77,26 @@ Data Types
* Add IPv6 capability to INET/CIDR types
* Add IPv6 capability to INET/CIDR types
* Remove Money type, add money formatting for decimal type
* Remove Money type, add money formatting for decimal type
* -SELECT cash_out(2) crashes because of opaque
* -SELECT cash_out(2) crashes because of opaque
* Declare typein/out functions in pg_proc with a special "C string" data type
* - Declare typein/out functions in pg_proc with a special "C string" data type
* Functions returning sets do not totally work
* - Functions returning sets do not totally work
* Change factorial to return a numeric
* Change factorial to return a numeric
* Change NUMERIC data type to use base 10,000 internally
* Change NUMERIC data type to use base 10,000 internally
* Change NUMERIC to enforce the maximum precision, and increase it
* Change NUMERIC to enforce the maximum precision, and increase it
* Add function to return compressed length of TOAST data values (Tom)
* Add function to return compressed length of TOAST data values (Tom)
* -Add GUC parameter for DATESTYLE
* -Add GUC parameter for DATESTYLE
* Allow INET subnet tests using non-constants
* Allow INET subnet tests using non-constants
* Allow bytea to handle LIKE with non-TEXT patterns
* - Allow bytea to handle LIKE with non-TEXT patterns
* CONVERSION
* CONVERSION
o Store binary-compatible type information in the system
o - Store binary-compatible type information in the system
o Allow better handling of numeric constants, type conversion
o Allow better handling of numeric constants, type conversion
[typeconv]
[typeconv]
o -SELECT col FROM tab WHERE numeric_col = 10.1 fails, requires quotes
* ARRAYS
* ARRAYS
o Allow nulls in arrays
o Allow nulls in arrays
o Allow arrays to be ORDER'ed
o Allow arrays to be ORDER'ed
o Ensure we have array-eq operators for every built-in array type
o - Ensure we have array-eq operators for every built-in array type
o Support construction of array result values in expressions
o Support construction of array result values in expressions
* BINARY DATA
* BINARY DATA
@ -116,7 +113,6 @@ Multi-Language Support
* Add NCHAR (as distinguished from ordinary varchar),
* Add NCHAR (as distinguished from ordinary varchar),
* Allow LOCALE on a per-column basis, default to ASCII
* Allow LOCALE on a per-column basis, default to ASCII
* Support multiple simultaneous character sets, per SQL92
* Support multiple simultaneous character sets, per SQL92
* Allow setting database character set without multibyte enabled
* Improve Unicode combined character handling
* Improve Unicode combined character handling
* Optimize locale to have minimal performance impact when not used (Peter E)
* Optimize locale to have minimal performance impact when not used (Peter E)
* Add octet_length_server() and octet_length_client() (Thomas, Tatsuo)
* Add octet_length_server() and octet_length_client() (Thomas, Tatsuo)
@ -149,7 +145,6 @@ Indexes
INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
[inheritance]
[inheritance]
* -Allow UPDATE/DELETE on inherited table
* -Allow UPDATE/DELETE on inherited table
* Have UPDATE/DELETE clean out indexes
* Add UNIQUE capability to non-btree indexes
* Add UNIQUE capability to non-btree indexes
* Add btree index support for reltime, tinterval, regproc
* Add btree index support for reltime, tinterval, regproc
* Add rtree index support for line, lseg, path, point
* Add rtree index support for line, lseg, path, point
@ -195,13 +190,10 @@ Commands
* ALTER
* ALTER
o ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
o ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
o ALTER TABLE ADD COLUMN to inherited table put column in wrong place
[inheritance]
o -Add ALTER TABLE DROP COLUMN feature
o -Add ALTER TABLE DROP COLUMN feature
o Add ALTER FUNCTION
o -Add ALTER TABLE DROP non-CHECK CONSTRAINT
o -Add ALTER TABLE DROP non-CHECK CONSTRAINT
o -ALTER TABLE ADD PRIMARY KEY (Tom )
o -ALTER TABLE ADD PRIMARY KEY (Christopher )
o -ALTER TABLE ADD UNIQUE (Tom )
o -ALTER TABLE ADD UNIQUE (Christopher )
o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher Kings-Lynne)
o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher Kings-Lynne)
o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence
o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence
o ALTER TABLE ADD COLUMN column DEFAULT should fill existing
o ALTER TABLE ADD COLUMN column DEFAULT should fill existing
@ -245,7 +237,7 @@ Commands
o -Add command to display locks
o -Add command to display locks
o -Add SET or BEGIN timeout parameter to cancel query
o -Add SET or BEGIN timeout parameter to cancel query
o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
o -Remove SET KSQO option now that OR processing is improved (Tom )
o -Remove SET KSQO option now that OR processing is improved (Bruce )
o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER
ANALYZE, and CLUSTER
o Add SHOW command to see locale
o Add SHOW command to see locale
@ -277,14 +269,13 @@ Commands
Clients
Clients
=======
=======
* Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
* - Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
or multiple SELECTS to avoid bad system catalog entries
or multiple SELECTS to avoid bad system catalog entries
* -Have pg_dump -C dump database location and encoding information
* -Have pg_dump -C dump database location and encoding information
* -Allow psql \d to show foreign keys
* -Allow psql \d to show foreign keys
* -Allow psql \d to show temporary table structure (Tom)
* -Allow psql \d to show temporary table structure (Tom)
* Allow psql to show transaction status if backend protocol changes made
* Allow psql to show transaction status if backend protocol changes made
* Add XML interface: psql, pg_dump, COPY, separate server (?)
* Add XML interface: psql, pg_dump, COPY, separate server (?)
* Add config file check for $ODBCINI, $HOME/.odbc.ini, installpath/etc/odbc.ini
* -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil Conway)
* -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil Conway)
* JDBC
* JDBC
@ -315,11 +306,6 @@ Clients
o Add SQLSTATE
o Add SQLSTATE
o fix handling of DB attributes that are arrays
o fix handling of DB attributes that are arrays
* ODBC
o ODBC 3.0 support
o Unicode(UCS-2) support
o Updatable cursors support
Referential Integrity
Referential Integrity
=====================
=====================
@ -334,7 +320,7 @@ Referential Integrity
* -Add ALTER TRIGGER ... RENAME
* -Add ALTER TRIGGER ... RENAME
* Change foreign key constraint for array -> element to mean element
* Change foreign key constraint for array -> element to mean element
in array
in array
* Fix foreign key constraints to not error on intermediate db states (Stephan)
* - Fix foreign key constraints to not error on intermediate db states (Stephan)
* Allow DEFERRABLE UNIQUE constraints
* Allow DEFERRABLE UNIQUE constraints
* Allow triggers to be disabled [trigger]
* Allow triggers to be disabled [trigger]
@ -349,7 +335,7 @@ Dependency Checking
* Have SERIAL generate non-colliding sequence names when we have
* Have SERIAL generate non-colliding sequence names when we have
auto-destruction
auto-destruction
* -Prevent column dropping if column is used by foreign key
* -Prevent column dropping if column is used by foreign key
* Propagate column or table renaming to foreign key constraints
* - Propagate column or table renaming to foreign key constraints
* -Automatically drop constraints/functions when object is dropped
* -Automatically drop constraints/functions when object is dropped
* -Make foreign key constraints clearer in dump file
* -Make foreign key constraints clearer in dump file
* -Make other constraints clearer in dump file
* -Make other constraints clearer in dump file
@ -444,7 +430,7 @@ Write-Ahead Log
* Turn off after-change writes if fsync is disabled (?)
* Turn off after-change writes if fsync is disabled (?)
* Add WAL index reliability improvement to non-btree indexes
* Add WAL index reliability improvement to non-btree indexes
* -Reorder postgresql.conf WAL items in order of importance (Bruce)
* -Reorder postgresql.conf WAL items in order of importance (Bruce)
* Remove wal_files postgresql.conf option because WAL files are now recycled
* - Remove wal_files postgresql.conf option because WAL files are now recycled
* Find proper defaults for postgresql.conf WAL entries
* Find proper defaults for postgresql.conf WAL entries
* Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
* Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
that are too frequent
that are too frequent
@ -457,10 +443,10 @@ Optimizer / Executor
* Improve Subplan list handling
* Improve Subplan list handling
* Allow Subplans to use efficient joins(hash, merge) with upper variable
* Allow Subplans to use efficient joins(hash, merge) with upper variable
* Improve dynamic memory allocation by introducing tuple-context memory
* - Improve dynamic memory allocation by introducing tuple-context memory
allocation (Tom)
allocation (Tom)
* Add hash for evaluating GROUP BY aggregates
* Add hash for evaluating GROUP BY aggregates
* Nested FULL OUTER JOINs don't work (Tom)
* - Nested FULL OUTER JOINs don't work (Tom)
* Allow merge and hash joins on expressions not just simple variables (Tom)
* Allow merge and hash joins on expressions not just simple variables (Tom)
* -Add new pg_proc cachable settings to specify whether function can be
* -Add new pg_proc cachable settings to specify whether function can be
evaluated only once or once per query
evaluated only once or once per query