Remove completed items:
< Last updated: Sat Sep 25 21:33:44 EDT 2004 > Last updated: Mon Sep 27 10:15:31 EDT 2004 13,19d12 < Remove items before beta? < < Urgent < ====== < < * -Point-in-time data recovery using backup and write-ahead log < * -Create native Win32 port 25d17 < * -Incremental backups 28d19 < * -Allow configuration files to be specified in a different directory 32,34d22 < * -Add the concept of dataspaces/tablespaces (Gavin) < * -Allow logging of only data definition(DDL), or DDL and modification statements < * -Allow log lines to include session-level information, like database and user 54d41 < * -Allow external interfaces to extend the GUC variable set 126d112 < * -Change factorial to return a numeric (Gavin) 141,142d126 < * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE < * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*) 147d130 < * -Make LENGTH() of CHAR() not count trailing spaces 150d132 < * -Support composite types as table columns 198,200d179 < * -Prevent mismatch of frontend/backend encodings from converting bytea < data from being interpreted as encoded strings < * -Fix upper()/lower() to work for multibyte encodings 217d195 < * -Order duplicate index entries on creation by ctid for faster heap lookups 242d219 < * -Be smarter about insertion of already-ordered data into btree index 265,266d241 < * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8, < float4, numeric/decimal too 282d256 < * -Allow command blocks to ignore certain types of errors 302,303d275 < * -Allow savepoints / nested transactions (Alvaro) < * -Use nested transactions to prevent syntax errors from aborting a transaction 306,307d277 < * -Prevent COMMENT ON DATABASE from using a database name < * -Add NO WAIT LOCKs 325,326d294 < * -COMMENT ON [ CAST | CONVERSION | OPERATOR CLASS | LARGE OBJECT | LANGUAGE ] < (Christopher) 334d301 < * -Allow more ISOLATION LEVELS to be accepted 347d313 < * -Add GUC setting to make created tables default to WITHOUT OIDS 365,369d330 < o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT < o -ALTER TABLE ADD COLUMN column DEFAULT should fill existing < rows with DEFAULT value < o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because < of the item above 371,373d331 < o -Allow ALTER TABLE to modify column lengths and change to binary < compatible types < o -Add ALTER DATABASE ... OWNER TO newowner 390,393d347 < o -Add ALTER DOMAIN, AGGREGATE, CONVERSION ... OWNER TO < o -Add ALTER SEQUENCE ... OWNER TO < o -Add ALTER INDEX that works just like ALTER TABLE already does < on an index 404d357 < o -Add ALTER TABLE table SET WITHOUT CLUSTER (Christopher) 411d363 < o -Allow dump/load of CSV format 464d415 < o -Allow Java server-side programming 473d423 < o -Allow PL/pgSQL parameters to be specified by name and type during definition 493,495d442 < * -Allow psql \du to show users, and add \dg for groups < * -Have psql \dn show only visible temp schemas using current_schemas() < * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir 509,511d455 < o -Allow pg_dump to dump CREATE CONVERSION (Christopher) < o -Make pg_restore continue after errors, so it acts more like pg_dump < scripts 545d488 < o -Implement SET DESCRIPTOR 592,596d534 < * -Have AFTER triggers execute after the appropriate SQL statement in a < function, not at the end of the function < * -Print table names with constraint names in error messages, or make constraint < names unique within a schema < * -Issue NOTICE if foreign key data requires costly test to match primary key 614,615d551 < * -Use dependency information to dump data in proper order < * -Have pg_dump -c clear the database using dependency information 694,695d629 < * -Provide automatic running of vacuum in the background in backend < rather than in /contrib (Matthew) 828d761 < * -Use background process to write dirty shared buffers to disk 843d775 < * -Change representation of whole-tuple parameters to functions 850,852d781 < * -Add checks for fclose() failure (Tom) < * -Change CVS ID to PostgreSQL < * -Exit postmaster if postgresql.conf can not be opened
This commit is contained in:
parent
d56b9fdaa8
commit
08e9f6974c
75
doc/TODO
75
doc/TODO
@ -1,37 +1,25 @@
|
||||
TODO list for PostgreSQL
|
||||
========================
|
||||
#A dash (-) marks changes that will appear in the upcoming 8.0 release.#
|
||||
#A dash (-) marks changes that will appear in the upcoming 8.1 release.#
|
||||
|
||||
Bracketed items "[]" have more detail.
|
||||
|
||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||
Last updated: Sat Sep 25 21:33:44 EDT 2004
|
||||
Last updated: Mon Sep 27 10:15:31 EDT 2004
|
||||
|
||||
The most recent version of this document can be viewed at the PostgreSQL web
|
||||
site, http://www.PostgreSQL.org.
|
||||
|
||||
Remove items before beta?
|
||||
|
||||
Urgent
|
||||
======
|
||||
|
||||
* -Point-in-time data recovery using backup and write-ahead log
|
||||
* -Create native Win32 port
|
||||
|
||||
|
||||
Administration
|
||||
==============
|
||||
|
||||
* -Incremental backups
|
||||
* Remove behavior of postmaster -o after making postmaster/postgres
|
||||
flags unique
|
||||
* -Allow configuration files to be specified in a different directory
|
||||
* Allow limits on per-db/user connections
|
||||
* Add group object ownership, so groups can rename/drop/grant on objects,
|
||||
so we can implement roles
|
||||
* -Add the concept of dataspaces/tablespaces (Gavin)
|
||||
* -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
|
||||
|
||||
This would allow server log information to be easily loaded into
|
||||
@ -51,7 +39,6 @@ Administration
|
||||
|
||||
* Allow major upgrades without dump/reload, perhaps using pg_upgrade
|
||||
* Have SHOW ALL and pg_settings show descriptions for server-side variables
|
||||
* -Allow external interfaces to extend the GUC variable set
|
||||
* Allow GRANT/REVOKE permissions to be given to all schema objects with one
|
||||
command
|
||||
* Remove unreferenced table files created by transactions that were
|
||||
@ -123,7 +110,6 @@ Data Types
|
||||
==========
|
||||
|
||||
* Remove Money type, add money formatting for decimal type
|
||||
* -Change factorial to return a numeric (Gavin)
|
||||
* Change NUMERIC to enforce the maximum precision, and increase it
|
||||
* Add function to return compressed length of TOAST data values
|
||||
* Allow INET subnet tests with non-constants to be indexed
|
||||
@ -138,16 +124,12 @@ Data Types
|
||||
seqname.nextval (?)
|
||||
* Disallow changing default expression of a SERIAL column (?)
|
||||
* Allow infinite dates just like infinite timestamps
|
||||
* -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
|
||||
* -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
|
||||
* Have initdb set DateStyle based on locale?
|
||||
* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
|
||||
* Allow to_char to print localized month names
|
||||
* Allow functions to have a search path specified at creation time
|
||||
* -Make LENGTH() of CHAR() not count trailing spaces
|
||||
* Allow substring/replace() to get/set bit values
|
||||
* Add GUC variable to allow output of interval values in ISO8601 format
|
||||
* -Support composite types as table columns
|
||||
* Fix data types where equality comparison isn't intuitive, e.g. box
|
||||
* Merge hardwired timezone names with the TZ database; allow either kind
|
||||
everywhere a TZ name is currently taken
|
||||
@ -195,9 +177,6 @@ Multi-Language Support
|
||||
* Improve Unicode combined character handling (?)
|
||||
* Add octet_length_server() and octet_length_client()
|
||||
* 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
|
||||
* -Fix upper()/lower() to work for multibyte encodings
|
||||
|
||||
|
||||
Views / Rules
|
||||
@ -214,7 +193,6 @@ Views / Rules
|
||||
Indexes
|
||||
=======
|
||||
|
||||
* -Order duplicate index entries on creation by ctid for faster heap lookups
|
||||
* Allow inherited tables to inherit index, UNIQUE constraint, and primary
|
||||
key, foreign key [inheritance]
|
||||
* UNIQUE INDEX on base column not honored on inserts/updates from
|
||||
@ -239,7 +217,6 @@ Indexes
|
||||
col3 = 9, spin though the index checking for col1 and col3 matches,
|
||||
rather than just col1
|
||||
|
||||
* -Be smarter about insertion of already-ordered data into btree index
|
||||
* Prevent index uniqueness checks when UPDATE does not modify the column
|
||||
|
||||
Uniqueness (index) checks are done when updating a column even if the
|
||||
@ -262,8 +239,6 @@ Indexes
|
||||
|
||||
One solution is to create a partial index on an IS NULL expression.
|
||||
|
||||
* -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
|
||||
float4, numeric/decimal too
|
||||
* Add concurrency to GIST
|
||||
* Pack hash index buckets onto disk pages more efficiently
|
||||
|
||||
@ -279,7 +254,6 @@ Commands
|
||||
* 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
|
||||
|
||||
The use of C-style backslashes (.e.g. \n, \r) in quoted strings is not
|
||||
@ -299,12 +273,8 @@ Commands
|
||||
* Allow REINDEX to rebuild all database indexes, remove /contrib/reindex
|
||||
* Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY
|
||||
* Add a schema option to createlang
|
||||
* -Allow savepoints / nested transactions (Alvaro)
|
||||
* -Use nested transactions to prevent syntax errors from aborting a transaction
|
||||
* Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple columns
|
||||
* Allow SET CONSTRAINTS to be qualified by schema/table name
|
||||
* -Prevent COMMENT ON DATABASE from using a database name
|
||||
* -Add NO WAIT LOCKs
|
||||
* Allow TRUNCATE ... CASCADE/RESTRICT
|
||||
* Allow PREPARE of cursors
|
||||
* Allow PREPARE to automatically determine parameter types based on the SQL
|
||||
@ -322,8 +292,6 @@ Commands
|
||||
Currently LISTEN/NOTIFY information is stored in pg_listener. Storing
|
||||
such information in memory would improve performance.
|
||||
|
||||
* -COMMENT ON [ CAST | CONVERSION | OPERATOR CLASS | LARGE OBJECT | LANGUAGE ]
|
||||
(Christopher)
|
||||
* Dump large object comments in custom dump format
|
||||
* Add optional textual message to NOTIFY
|
||||
|
||||
@ -331,7 +299,6 @@ Commands
|
||||
message, perhaps indicating the row modified or other custom
|
||||
information.
|
||||
|
||||
* -Allow more ISOLATION LEVELS to be accepted
|
||||
* Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
|
||||
by searching for non-conflicting constraint names, and prefix with
|
||||
table name?
|
||||
@ -344,7 +311,6 @@ Commands
|
||||
* Add C code to copy directories for use in creating new databases
|
||||
* Ignore temporary tables from other sessions when processing
|
||||
inheritance?
|
||||
* -Add GUC setting to make created tables default to WITHOUT OIDS
|
||||
* Have pg_ctl look at PGHOST in case it is a socket directory?
|
||||
* Allow column-level GRANT/REVOKE privileges
|
||||
* Add a session mode to warn about non-standard SQL usage in queries
|
||||
@ -362,15 +328,7 @@ Commands
|
||||
|
||||
|
||||
* ALTER
|
||||
o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
|
||||
o -ALTER TABLE ADD COLUMN column DEFAULT should fill existing
|
||||
rows with DEFAULT value
|
||||
o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
|
||||
of the item above
|
||||
o Have ALTER TABLE RENAME rename SERIAL sequence names
|
||||
o -Allow ALTER TABLE to modify column lengths and change to binary
|
||||
compatible types
|
||||
o -Add ALTER DATABASE ... OWNER TO newowner
|
||||
o Add ALTER DOMAIN TYPE
|
||||
o Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
|
||||
o Allow ALTER TABLE to change constraint deferrability and actions
|
||||
@ -387,10 +345,6 @@ Commands
|
||||
Currently non-global system tables must be in the default database
|
||||
schema. Global system tables can never be moved.
|
||||
|
||||
o -Add ALTER DOMAIN, AGGREGATE, CONVERSION ... OWNER TO
|
||||
o -Add ALTER SEQUENCE ... OWNER TO
|
||||
o -Add ALTER INDEX that works just like ALTER TABLE already does
|
||||
on an index
|
||||
|
||||
* CLUSTER
|
||||
o Automatically maintain clustering on a table
|
||||
@ -401,14 +355,12 @@ Commands
|
||||
be to create a merged heap/index data file so an index lookup would
|
||||
automatically access the heap data too.
|
||||
|
||||
o -Add ALTER TABLE table SET WITHOUT CLUSTER (Christopher)
|
||||
o Add default clustering to system tables
|
||||
|
||||
To do this, determine the ideal cluster index for each system
|
||||
table and set the cluster setting during initdb.
|
||||
|
||||
* COPY
|
||||
o -Allow dump/load of CSV format
|
||||
o Allow COPY to report error lines and continue
|
||||
|
||||
This requires the use of a savepoint before each COPY line is
|
||||
@ -461,7 +413,6 @@ Commands
|
||||
Currently only constants are supported.
|
||||
|
||||
o Change PL/PgSQL to use palloc() instead of malloc()
|
||||
o -Allow Java server-side programming
|
||||
o Handle references to temporary tables that are created, destroyed,
|
||||
then recreated during a session, and EXECUTE is not used
|
||||
|
||||
@ -470,7 +421,6 @@ Commands
|
||||
|
||||
o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
|
||||
o Improve PL/PgSQL exception handling using savepoints
|
||||
o -Allow PL/pgSQL parameters to be specified by name and type during definition
|
||||
o Allow function parameters to be passed by name,
|
||||
get_employee_salary(emp_id => 12345, tax_year => 2001)
|
||||
o Add Oracle-style packages
|
||||
@ -490,9 +440,6 @@ Clients
|
||||
can be used on that data using /contrib/xml2. It also supports XSLT
|
||||
transformations.
|
||||
|
||||
* -Allow psql \du to show users, and add \dg for groups
|
||||
* -Have psql \dn show only visible temp schemas using current_schemas()
|
||||
* -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
|
||||
* Add a libpq function to support Parse/DescribeStatement capability
|
||||
* Prevent libpq's PQfnumber() from lowercasing the column name (?)
|
||||
* Have psql show current values for a sequence
|
||||
@ -506,9 +453,6 @@ Clients
|
||||
|
||||
* pg_dump
|
||||
o Have pg_dump use multi-statement transactions for INSERT dumps
|
||||
o -Allow pg_dump to dump CREATE CONVERSION (Christopher)
|
||||
o -Make pg_restore continue after errors, so it acts more like pg_dump
|
||||
scripts
|
||||
o Allow pg_dump to use multiple -t and -n switches
|
||||
|
||||
This should be done by allowing a '-t schema.table' syntax.
|
||||
@ -542,7 +486,6 @@ Clients
|
||||
Document differences between ecpg and the SQL standard and
|
||||
information about the Informix-compatibility module.
|
||||
|
||||
o -Implement SET DESCRIPTOR
|
||||
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
|
||||
@ -589,11 +532,6 @@ Referential Integrity
|
||||
|
||||
* Allow statement-level triggers to access modified rows
|
||||
* Support triggers on columns
|
||||
* -Have AFTER triggers execute after the appropriate SQL statement in a
|
||||
function, not at the end of the function
|
||||
* -Print table names with constraint names in error messages, or make constraint
|
||||
names unique within a schema
|
||||
* -Issue NOTICE if foreign key data requires costly test to match primary key
|
||||
* Remove CREATE CONSTRAINT TRIGGER
|
||||
|
||||
This was used in older releases to dump referential integrity
|
||||
@ -611,8 +549,6 @@ Dependency Checking
|
||||
===================
|
||||
|
||||
* Flush cached query plans when the dependent objects change
|
||||
* -Use dependency information to dump data in proper order
|
||||
* -Have pg_dump -c clear the database using dependency information
|
||||
* Track dependencies in function bodies and recompile/invalidate
|
||||
|
||||
|
||||
@ -691,8 +627,6 @@ Vacuum
|
||||
write lock. However, the read lock promotion to write lock could lead
|
||||
to deadlock situations.
|
||||
|
||||
* -Provide automatic running of vacuum in the background in backend
|
||||
rather than in /contrib (Matthew)
|
||||
* Allow free space map to be auto-sized or warn when it is too small
|
||||
|
||||
The free space map is in shared memory so resizing is difficult.
|
||||
@ -825,7 +759,6 @@ Miscellaneous
|
||||
overhead.
|
||||
|
||||
* Add a script to ask system configuration questions and tune postgresql.conf
|
||||
* -Use background process to write dirty shared buffers to disk
|
||||
* Use a phantom command counter for nested subtransactions to reduce
|
||||
tuple overhead
|
||||
|
||||
@ -840,16 +773,12 @@ Source Code
|
||||
* Move platform-specific ps status display info from ps_status.c to ports
|
||||
* Improve access-permissions check on data directory in Cygwin (Tom)
|
||||
* Add optional CRC checksum to heap and index pages
|
||||
* -Change representation of whole-tuple parameters to functions
|
||||
* Clarify use of 'application' and 'command' tags in SGML docs
|
||||
* Better document ability to build only certain interfaces (Marc)
|
||||
* Remove or relicense modules that are not under the BSD license, if possible
|
||||
* Remove memory/file descriptor freeing before ereport(ERROR)
|
||||
* 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 (Tom)
|
||||
* -Change CVS ID to PostgreSQL
|
||||
* -Exit postmaster if postgresql.conf can not be opened
|
||||
* Rename /scripts directory because they are all C programs now
|
||||
* Promote debug_query_string into a server-side function current_query()
|
||||
* Allow the identifier length to be increased via a configure option
|
||||
|
Loading…
x
Reference in New Issue
Block a user