Remove items completed in 7.4:

< * -Allow elog() to return error codes, module name, file name, line
<   number, not just messages (Tom)
< * -Add error codes (Tom)
< * -Make error messages more consistent
40d35
< * -Add GUC log_statement_and_duration to print statement and >= min duration
51d45
< * -Allow easy display of usernames in a group
53d46
< * -Add start time to pg_stat_activity
55d47
< * -Have standalone backend read postgresql.conf (Tom)
59d50
< * -Allow CIDR format to be used in pg_hba.conf
74d64
< * -Add IPv6 capability to INET/CIDR types
77d66
< * -Change NUMERIC data type to use base 10,000 internally
82d70
< * -Add GUC variables to control floating number output digits (Pedro Ferreira)
90,92d77
< * -Allow current datestyle to restrict dates;  prevent month/day swapping
<   from making invalid dates valid
< * -Prevent month/day swapping of ISO dates to make invalid dates valid
102d86
< 	o -Allow arrays to be ORDER'ed
104d87
< 	o -Support construction of array result values in expressions (Joe)
128d110
< * -Remove Cyrillic recode support
146,147d127
< * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
<   fails index can't store constant parameters
155d134
< * -Add btree index support for reltime, tinterval, regproc (Tom)
157d135
< * -Certain indexes will not shrink, e.g. indexes on ever-increasing
161d138
< * -Allow LIKE indexing optimization for non-ASCII locales using special index
173d149
< * -Improve concurrency of hash indexes (Tom)
181d156
< * -Allow LIMIT/OFFSET to use expressions (Tom)
187d161
< * -Return proper effected tuple count from complex commands [return]
191d164
< * -Make a transaction-safe TRUNCATE (Rod)
196,197d168
< * -Allow UPDATE to use SET col = DEFAULT
< * -Add config variable to prevent auto-adding missing FROM-clause tables
199d169
< * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
224,225d193
< 	o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
< 	o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
237d204
< 	o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
248d214
< 	o -MOVE 0 should not move to end of cursor (Bruce)
252d217
< 	o -Allow cursors outside transactions
264,265d228
< 	o -Allow EXPLAIN EXECUTE to see prepared plans
<  	o -Allow SHOW of some non-modifiable variables, like pg_controldata
280d242
< 	o -Allow array declarations and other data types in PL/PgSQL DECLARE
282,283d243
< 	o -Make PL/PgSQL %TYPE schema-aware
< 	o -Allow PL/PgSQL to support array element assignment (Joe)
294,298d253
< * -Allow psql to show transaction status if backend protocol changes made
< * -Add schema, cast, and conversion backslash commands to psql (Christopher)
< * -Allow pg_dump to dump a specific schema (Neil Conway)
< * -Allow psql to do table completion for SELECT * FROM schema_part and
<   table completion for SELECT * FROM schema_name.
300,302d254
< * -Allow SSL-enabled clients to turn off SSL transfers
< * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
<   and use that as part of pg_dump along with psql
327d278
< 	o -Add SQLSTATE
330d280
< 	o -Make casts work in variable initializations
334,336d283
< 	o -Allow multi-threaded use of SQLCA
< 	o -Understand structure definitions outside a declare section
< 	o -Allow :var[:index] or :var[<integer>] as cvariable for an array var
356d302
< * -Support statement-level triggers (Neil)
460,461d405
< * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
<   that are too frequent (Bruce)
472,476d415
< * -Improve Subplan list handling
< * -Allow Subplans to use efficient joins(hash, merge) with upper variable
< * -Add hash for evaluating GROUP BY aggregates (Tom)
< * -Allow merge and hash joins on expressions not just simple variables (Tom)
< * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
480d418
< * -Inline simple SQL functions to avoid overhead (Tom)
495d432
< * -Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
511,512d447
< * -Modify regression tests to prevent failures do to minor numeric rounding
< * -Add OpenBSD's getpeereid() call for local socket authentication
537,542d471
< 	o -Show transaction status in psql
< 	o -Allow binding of query parameters, support for prepared queries
< 	o -Remove hard-coded limits on user/db/password names
< 	o -Remove unused elements of startup packet (unused, tty, passlength)
< 	o -Fix COPY/fastpath protocol
< 	o -Error codes
544d472
< 	o -Special passing of binary values in platform-neutral format (bytea?)
547d474
< 	o -Report server version number, database encoding, client encoding
This commit is contained in:
Bruce Momjian 2003-11-19 17:34:01 +00:00
parent 022da0ed7a
commit 0b0f9c62e8
1 changed files with 2 additions and 75 deletions

View File

@ -1,6 +1,6 @@
TODO list for PostgreSQL
========================
Last updated: Sun Nov 16 21:05:26 EST 2003
Last updated: Wed Nov 19 12:33:55 EST 2003
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@ -32,12 +32,7 @@ Urgent
Reporting
=========
* -Allow elog() to return error codes, module name, file name, line
number, not just messages (Tom)
* -Add error codes (Tom)
* -Make error messages more consistent
* Show location of syntax error in query [yacc]
* -Add GUC log_statement_and_duration to print statement and >= min duration
Administration
@ -48,15 +43,11 @@ Administration
or postmaster startup (Bruce)
* Remove behavior of postmaster -o after making postmaster/postgres
flags unique
* -Allow easy display of usernames in a group
* Allow configuration files to be specified in a different directory
* -Add start time to pg_stat_activity
* Allow limits on per-db/user connections
* -Have standalone backend read postgresql.conf (Tom)
* Add group object ownership, so groups can rename/drop/grant on objects,
so we can implement roles
* Add the concept of dataspaces/tablespaces [tablespaces]
* -Allow CIDR format to be used in pg_hba.conf
* Allow logging of only data definition(DDL), or DDL and modification statements
* Allow log lines to include session-level information, like database and user
* Allow server log information to be output as INSERT statements
@ -71,15 +62,12 @@ Administration
Data Types
==========
* -Add IPv6 capability to INET/CIDR types
* Remove Money type, add money formatting for decimal type
* Change factorial to return a numeric
* -Change NUMERIC data type to use base 10,000 internally
* Change NUMERIC to enforce the maximum precision, and increase it
* Add function to return compressed length of TOAST data values (Tom)
* Allow INET subnet tests using non-constants to be indexed
* Add transaction_timestamp(), statement_timestamp(), clock_timestamp() functionality
* -Add GUC variables to control floating number output digits (Pedro Ferreira)
* Have sequence dependency track use of DEFAULT sequences, seqname.nextval
* Disallow changing default expression of a SERIAL column
* Allow infinite dates just like infinite timestamps
@ -87,9 +75,6 @@ Data Types
* Allow better handling of numeric constants, type conversion [typeconv]
* Allow backend to output result sets in XML
* Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
* -Allow current datestyle to restrict dates; prevent month/day swapping
from making invalid dates valid
* -Prevent month/day swapping of ISO dates to make invalid dates valid
* Have initdb set DateStyle based on locale?
* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
* Add ALTER DOMAIN, AGGREGATE, CONVERSION, SEQUENCE ... OWNER TO
@ -99,9 +84,7 @@ Data Types
* ARRAYS
o Allow nulls in arrays
o -Allow arrays to be ORDER'ed
o Allow MIN()/MAX() on arrays
o -Support construction of array result values in expressions (Joe)
o Delay resolution of array expression type so assignment coercion
can be performed on empty array expressions (Joe)
@ -125,7 +108,6 @@ Multi-Language Support
* Make octet_length_client the same as octet_length() (?)
* Prevent mismatch of frontend/backend encodings from converting bytea
data from being interpreted as encoded strings
* -Remove Cyrillic recode support
* Fix upper()/lower() to work for multibyte encodings
@ -143,8 +125,6 @@ Views / Rules
Indexes
=======
* -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
fails index can't store constant parameters
* Order duplicate index entries by tid for faster heap lookups
* Allow inherited tables to inherit index, UNIQUE constraint, and primary
key, foreign key [inheritance]
@ -152,13 +132,10 @@ Indexes
INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
[inheritance]
* Add UNIQUE capability to non-btree indexes
* -Add btree index support for reltime, tinterval, regproc (Tom)
* Add rtree index support for line, lseg, path, point
* -Certain indexes will not shrink, e.g. indexes on ever-increasing
columns and indexes with many duplicate keys
* Use indexes for min() and max() or convert to SELECT col FROM tab ORDER
BY col DESC LIMIT 1 if appropriate index exists and WHERE clause acceptible
* -Allow LIKE indexing optimization for non-ASCII locales using special index
* Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses
* Be smarter about insertion of already-ordered data into btree index
@ -170,7 +147,6 @@ Indexes
float4, numeric/decimal too [optimizer]
* Add FILLFACTOR to btree index creation
* Add concurrency to GIST
* -Improve concurrency of hash indexes (Tom)
* Allow a single index to index multiple tables (for inheritance and subtables)
@ -178,25 +154,19 @@ Commands
========
* Add BETWEEN ASYMMETRIC/SYMMETRIC (Christopher)
* -Allow LIMIT/OFFSET to use expressions (Tom)
* Change LIMIT/OFFSET to use int8
* CREATE TABLE AS can not determine column lengths from expressions [atttypmod]
* Allow UPDATE to handle complex aggregates [update]
* Allow command blocks to ignore certain types of errors
* Allow backslash handling in quoted strings to be disabled for portability
* -Return proper effected tuple count from complex commands [return]
* Allow UPDATE, DELETE to handle table aliases for self-joins [delete]
* Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
* Allow REINDEX to rebuild all indexes, remove /contrib/reindex
* -Make a transaction-safe TRUNCATE (Rod)
* Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
* Add schema option to createlang
* Allow savepoints / nested transactions [transactions] (Bruce)
* Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple columns
* -Allow UPDATE to use SET col = DEFAULT
* -Add config variable to prevent auto-adding missing FROM-clause tables
* Allow SET CONSTRAINTS to be qualified by schema/table
* -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
* Prevent COMMENT ON DATABASE from using a database name
* Add GUC variable to prevent waiting on locks
* Allow TRUNCATE ... CASCADE/RESTRICT
@ -221,8 +191,6 @@ Commands
rows with DEFAULT value
o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
of the item above
o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
o Have ALTER TABLE rename SERIAL sequences
o Allow columns to be reordered using ALTER ... POSITION i col1 [,col2];
have SELECT * and INSERT honor such ordering
@ -234,7 +202,6 @@ Commands
* CLUSTER
o Automatically maintain clustering on a table
o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
* COPY
o Allow dump/load of CSV format
@ -245,11 +212,9 @@ Commands
o Have COPY return number of rows loaded/unloaded
* CURSOR
o -MOVE 0 should not move to end of cursor (Bruce)
o Allow UPDATE/DELETE WHERE CURRENT OF cursor using per-cursor tid
stored in the backend (Gavin)
o Prevent DROP of table being referenced by our own open cursor
o -Allow cursors outside transactions
* INSERT
o Allow INSERT/UPDATE of system-generated oid value for a row
@ -261,8 +226,6 @@ Commands
o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER
o Add SET PATH for schemas
o -Allow EXPLAIN EXECUTE to see prepared plans
o -Allow SHOW of some non-modifiable variables, like pg_controldata
* SERVER-SIDE LANGUAGES
o Allow PL/PgSQL's RAISE function to take expressions
@ -277,10 +240,7 @@ Commands
o Allow function parameters to be passed by name,
get_employee_salary(emp_id => 12345, tax_year => 2001)
o Add PL/PgSQL packages
o -Allow array declarations and other data types in PL/PgSQL DECLARE
o Add table function support to pltcl, plperl, plpython
o -Make PL/PgSQL %TYPE schema-aware
o -Allow PL/PgSQL to support array element assignment (Joe)
o Add PL/PHP (Joe, Jan)
o Allow PL/pgSQL to name columns by ordinal position, e.g. rec.(3)
o Allow PL/pgSQL EXECUTE query_var INTO record_var;
@ -291,15 +251,7 @@ Commands
Clients
=======
* -Allow psql to show transaction status if backend protocol changes made
* -Add schema, cast, and conversion backslash commands to psql (Christopher)
* -Allow pg_dump to dump a specific schema (Neil Conway)
* -Allow psql to do table completion for SELECT * FROM schema_part and
table completion for SELECT * FROM schema_name.
* Add XML capability to pg_dump and COPY, when backend XML capability
* -Allow SSL-enabled clients to turn off SSL transfers
* -Modify pg_get_triggerdef() to take a boolean to pretty-print,
and use that as part of pg_dump along with psql
* Allow psql \du to show groups, and add \dg for groups
* Allow clients to query WITH HOLD cursors and prepared statements
* Prevent unneeded quoting in psql \d output using fmtId()
@ -324,16 +276,11 @@ Clients
o Solve cardinality > 1 for input descriptors / variables
o Improve error handling
o Add a semantic check level, e.g. check if a table really exists
o -Add SQLSTATE
o fix handling of DB attributes that are arrays
o Use backend prepare/execute facility for ecpg where possible
o -Make casts work in variable initializations
o Implement SQLDA
o Fix nested C comments
o sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified
o -Allow multi-threaded use of SQLCA
o -Understand structure definitions outside a declare section
o -Allow :var[:index] or :var[<integer>] as cvariable for an array var
* Python
o Allow users to register their own types with pg_
@ -353,7 +300,6 @@ Referential Integrity
* Allow DEFERRABLE UNIQUE constraints
* Allow triggers to be disabled [trigger]
* With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY
* -Support statement-level triggers (Neil)
* Allow statement-level triggers to access modified rows
* Support triggers on columns (Neil)
* Have AFTER triggers execute after the appropriate SQL statement in a
@ -457,8 +403,6 @@ Write-Ahead Log
* Turn off after-change writes if fsync is disabled (?)
* Add WAL index reliability improvement to non-btree indexes
* Find proper defaults for postgresql.conf WAL entries
* -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
that are too frequent (Bruce)
* Allow xlog directory location to be specified during initdb, perhaps
using symlinks
* Allow WAL information to recover corrupted pg_controldata
@ -469,15 +413,9 @@ Write-Ahead Log
Optimizer / Executor
====================
* -Improve Subplan list handling
* -Allow Subplans to use efficient joins(hash, merge) with upper variable
* -Add hash for evaluating GROUP BY aggregates (Tom)
* -Allow merge and hash joins on expressions not just simple variables (Tom)
* -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
* Allow ORDER BY ... LIMIT to select top values without sort or index
using a sequential scan for highest/lowest values (Oleg)
* -Inline simple SQL functions to avoid overhead (Tom)
* Precompile SQL functions to avoid overhead (Neil)
* Add utility to compute accurate random_page_cost value
* Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
@ -492,7 +430,6 @@ Miscellaneous
=============
* Do async I/O for faster random read-ahead of data
* -Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
* Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
* Improve caching of attribute offsets when NULLs exist in the row
* Add a script to ask system configuration questions and tune postgresql.conf
@ -508,8 +445,6 @@ Source Code
* Move some things from /contrib into main tree
* Remove warnings created by -Wcast-align
* Move platform-specific ps status display info from ps_status.c to ports
* -Modify regression tests to prevent failures do to minor numeric rounding
* -Add OpenBSD's getpeereid() call for local socket authentication
* Improve access-permissions check on data directory in Cygwin (Tom)
* Add documentation for perl, including mention of DBI/DBD perl location
* Create improved PostgreSQL introductory documentation for the PHP
@ -523,7 +458,7 @@ Source Code
* Acquire lock on a relation before building a relcache entry for it
* Research interaction of setitimer() and sleep() used by statement_timeout
* Add checks for fclose() failure
* Change CVS $Id: TODO,v 1.1169 2003/11/17 02:05:26 momjian Exp $ to $PostgreSQL: pgsql/doc/TODO,v 1.1169 2003/11/17 02:05:26 momjian Exp $
* Change CVS $Id: TODO,v 1.1170 2003/11/19 17:34:01 momjian Exp $ to $PostgreSQL: pgsql/doc/TODO,v 1.1170 2003/11/19 17:34:01 momjian Exp $
* Exit postmaster if postgresql.conf can not be opened
* Rename /scripts directory because they are all C programs now
* Allow the regression tests to start postmaster with -i so the tests
@ -534,17 +469,9 @@ Source Code
* Wire Protocol Changes
o -Show transaction status in psql
o -Allow binding of query parameters, support for prepared queries
o -Remove hard-coded limits on user/db/password names
o -Remove unused elements of startup packet (unused, tty, passlength)
o -Fix COPY/fastpath protocol
o -Error codes
o Dynamic character set handling
o -Special passing of binary values in platform-neutral format (bytea?)
o Add decoded type, length, precision
o Compression?
o -Report server version number, database encoding, client encoding
o Update clients to use data types, typmod, schema.table.column names of
result sets using new query protocol