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:
parent
022da0ed7a
commit
0b0f9c62e8
77
doc/TODO
77
doc/TODO
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user