Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
d228278c
Commit
d228278c
authored
May 10, 2001
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update TODO list.
parent
a871e369
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
73 additions
and
70 deletions
+73
-70
doc/TODO
doc/TODO
+73
-70
No files found.
doc/TODO
View file @
d228278c
TODO list for PostgreSQL
TODO list for PostgreSQL
========================
========================
Last updated: Thu May 10 1
3:29:36
EDT 2001
Last updated: Thu May 10 1
6:26:24
EDT 2001
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
...
@@ -57,13 +57,13 @@ ADMIN
...
@@ -57,13 +57,13 @@ ADMIN
* Remove unused files during database vacuum or postmaster startup
* Remove unused files during database vacuum or postmaster startup
* Add table name mapping for numeric file names
* Add table name mapping for numeric file names
* Overhaul pg_hba.conf host-based authentication
* Overhaul pg_hba.conf host-based authentication
* Incremental backups
TYPES
TYPES
* Add domain capability
* Add domain capability
* Add IPv6 capability to INET/CIDR types
* Add IPv6 capability to INET/CIDR types
* Add conversion function from text to inet
* Add conversion function from text to inet
* Make a separate SERIAL type?
* Store binary-compatible type information in the system
* Store binary-compatible type information in the system
* Allow nulls in arrays
* Allow nulls in arrays
* Allow arrays to be ORDER'ed
* Allow arrays to be ORDER'ed
...
@@ -107,41 +107,72 @@ INDEXES
...
@@ -107,41 +107,72 @@ INDEXES
[inheritance]
[inheritance]
* Prevent pg_attribute from having duplicate oids for indexes (Tom)
* Prevent pg_attribute from having duplicate oids for indexes (Tom)
* Add UNIQUE capability to non-btree indexes
* Add UNIQUE capability to non-btree indexes
* Certain indexes will not shrink,
i.e
. oid indexes with many inserts (Vadim)
* Certain indexes will not shrink,
e.g
. oid indexes with many inserts (Vadim)
* Have UPDATE/DELETE clean out indexes
* Have UPDATE/DELETE clean out 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
* Use indexes for min() and max()
* Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
float4, numeric/decimal too [optimizer]
* Use indexes with CIDR '<<' (contains) operator
* Allow LIKE indexing optimization for non-ASCII locales
* Be smarter about insertion of already-ordered data into btree index
* Gather more accurate dispersion statistics using indexes
* Add deleted bit to index tuples to reduce heap access
* Prevent index uniqueness checks when UPDATE does not modifying column
* System Tables
* Add unique indexes to pg_shadow.usename and pg_shadow.usesysid or
switch to pg_shadow.oid as user id
* Add unique indexes on pg_database
* Check all system tables and add unique indexes as needed
* Remove pg_listener index
* Remove unused pg_variable, pg_inheritproc, pg_ipl tables
COMMANDS
COMMANDS
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
* ALTER
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
[inheritance]
[inheritance]
* Add ALTER TABLE DROP COLUMN feature [drop]
* Add ALTER TABLE DROP COLUMN feature [drop]
* Add ALTER FUNCTION
* Add ALTER FUNCTION
* Add ALTER TABLE ... DROP CONSTRAINT
* Add ALTER TABLE DROP CONSTRAINT
* Automatically drop constraints/functions when object is dropped
* CLUSTER
* CLUSTER
* cluster all tables at once
* cluster all tables at once
* prevent lose of indexes, permissions, inheritance
* prevent lose of indexes, permissions, inheritance
* Automatically keep clustering on a table
* Automatically keep clustering on a table
* Keep statistics about clustering, perhaps during VACUUM ANALYZE
* Keep statistics about clustering, perhaps during VACUUM ANALYZE
[optimizer]
[optimizer]
* COPY
* Update reltuples in COPY
* Allow specification of column names
* Allow dump/load of CSV format
* CURSOR
* Allow BINARY option to SELECT, like we do with DECLARE
* MOVE 0 should not move to end of cursor
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow DELETE WHERE CURRENT OF cursor
* INSERT
* Allow INSERT/UPDATE of system-generated oid value for a row
* Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
* Disallow missing columns in INSERT ... VALUES, per ANSI
* Allow INSERT/UPDATE ... RETURNING new.col or old.col (Philip)
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
* Auto-destroy sequence on DROP of table with SERIAL (Ryan)
* Auto-destroy sequence on DROP of table with SERIAL, perhaps with a separate
SERIAL type
* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
* Allow INSERT/UPDATE of system-generated oid value for a row
* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
* Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
* Allow RULE recompilation
* Allow RULE recompilation
* Allow BINARY option to SELECT, like we do with DECLARE
* MOVE 0 should not move to end of cursor
* Add SHOW command to display locks
* Bring INSERT ... VALUES up to full SQL92 spec, disallow missing
columns, allow DEFAULT
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow DELETE WHERE CURRENT OF cursor
* Add BETWEEN ASYMMETRIC/SYMMETRIC
* Add BETWEEN ASYMMETRIC/SYMMETRIC
* Add SET or BEGIN timeout parameter to cancel query if waiting too long
* SHOW/SET
* Add SHOW command to display locks
* Add a global RESET command for use with connection pooling
* Add SET or BEGIN timeout parameter to cancel query if waiting too long
* Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
* Remove SET KSQO option now that OR processing is improved (Tom)
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER
* Change LIMIT val,val to offset,limit to match MySQL
* Change LIMIT val,val to offset,limit to match MySQL
* Allow Pl/PgSQL's RAISE function to take expressions
* Allow Pl/PgSQL's RAISE function to take expressions
...
@@ -149,24 +180,18 @@ CLIENTS
...
@@ -149,24 +180,18 @@ CLIENTS
* Make NULL's come out at the beginning or end depending on the
* Make NULL's come out at the beginning or end depending on the
ORDER BY direction
ORDER BY direction
* COPY
* fix array handling in ECPG
* Update reltuples in COPY
* Allow specification of column names
* Allow dump/load of CSV format
* fix array handling for ECPG
* 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
* allow psql \d to show primary and foreign keys
* allow psql \d to show primary and foreign keys
* allow psql \d to show temporary table structure
* allow psql \d to show temporary table structure
* add XML interface capability
* add XML interface capability
* Add a global RESET command for use with connection pooling
* Remove <=6.3 version compatibility in ODBC?
* Remove <=6.3 version compatibility in ODBC?
* Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
REFERENTIAL INTEGRITY
REFERENTIAL INTEGRITY
* Add MATCH PARTIAL referential integrity
* Add MATCH PARTIAL referential integrity
* Check that primary key exists at foreign key definition time
*
-
Check that primary key exists at foreign key definition time
* 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
* Add deferred trigger queue file (Jan)
* Add deferred trigger queue file (Jan)
...
@@ -175,39 +200,37 @@ REFERENTIAL INTEGRITY
...
@@ -175,39 +200,37 @@ REFERENTIAL INTEGRITY
* Enforce referential integrity for system tables
* Enforce referential integrity for system tables
* INSERT & UPDATE/DELETE in transaction of primary key fails with
* INSERT & UPDATE/DELETE in transaction of primary key fails with
deferredTriggerGetPreviousEvent or "change violation" [foreign]
deferredTriggerGetPreviousEvent or "change violation" [foreign]
* Add unique indexes to pg_shadow.usename and pg_shadow.usesysid or
switch to pg_shadow.oid as user id
* Add unique indexes on pg_database
* Check all system tables and add unique indexes as needed
* Make constraints clearer in dump file
* Make constraints clearer in dump file
* Change foreign key constraint for array -> element to mean element
* Change foreign key constraint for array -> element to mean element
in array
in array
* Automatically drop constraints/functions when object is dropped
TRANSACTIONS
* Implement UNDO using transaction log
* Allow autocommit so always in a transaction block
* Overhaul bufmgr/lockmgr/transaction manager
* Allow nested transactions (Vadim)
* Handle transaction rollover [transactions]
EXOTIC FEATURES
EXOTIC FEATURES
* Add sql3 recursive unions
* Add sql3 recursive unions
* Add the concept of dataspaces/tablespaces [tablespaces]
* Add the concept of dataspaces/tablespaces [tablespaces]
* Allow SQL92 schemas
* Allow queries across multiple databases
* Allow queries across multiple databases
* Allow nested transactions (Vadim)
* Add pre-parsing phase that converts non-ANSI features to supported features
* Allow INSERT/UPDATE ... RETURNING new.col or old.col (Philip)
* Add pre-parsing phase that convets non-ANSI features to supported features
* SQL*Net listener that makes PostgreSQL appear as an Oracle database
* SQL*Net listener that makes PostgreSQL appear as an Oracle database
to clients
to clients
* Incremental backups
* Allow SQL92 schemas
* Handle transaction rollover [transactions]
MISCELLANEOUS
MISCELLANEOUS
* Increase identifier length(NAMEDATALEN) if small performance hit
* Increase identifier length(NAMEDATALEN) if small performance hit
* Create a background process for each database that runs while
* Create a background process for each database that runs while
database is idle, finding superceeded rows, gathering stats and vacuuming
database is idle, finding superceeded rows, gathering stats and vacuuming
* Implement UNDO using transaction log
* Populate backend status area and write program to dump status data
* Populate backend status area and write program to dump status data
* Put sort files in their own directory
* Put sort files in their own directory
* Allow autocommit so always in a transaction block
* Show location of syntax error in query [yacc]
* Show location of syntax error in query [yacc]
* Overhaul bufmgr/lockmgr/transaction manager
* Encrpyt passwords in pg_shadow table using MD5 (Vince)
* Encrpyt passwords in pg_shadow table using MD5 (Vince)
* Allow Java server-side programming [java]
* Allow Java server-side programming [java]
* Add sed-like regular expression search/replace capability
* Add sed-like regular expression search/replace capability
...
@@ -216,27 +239,13 @@ MISCELLANEOUS
...
@@ -216,27 +239,13 @@ MISCELLANEOUS
PERFORMANCE
PERFORMANCE
-----------
-----------
-
FSYNC
FSYNC
* Delay fsync() when other backends are about to commit too [fsync]
* Delay fsync() when other backends are about to commit too [fsync]
* Determine optimal commit_delay value
* Determine optimal commit_delay value
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
* Allow multiple blocks to be written to WAL with one write()
* Allow multiple blocks to be written to WAL with one write()
INDEXES
* Use indexes to find min() and max()
* Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
float4, numeric/decimal too [optimizer]
* Use indexes with CIDR '<<' (contains) operator
* Allow LIKE indexing optimization for non-ASCII locales
* Be smarter about insertion of already-ordered data into btree index
* Gather more accurate dispersion statistics using indexes
* Add deleted bit to index tuples to reduce heap access
* Prevent index uniqueness checks when UPDATE does not modify column
CACHE
CACHE
* Cache most recent query plan(s) (Karel) [prepare]
* Cache most recent query plan(s) (Karel) [prepare]
...
@@ -247,14 +256,15 @@ VACUUM
...
@@ -247,14 +256,15 @@ VACUUM
* Improve speed with indexes (perhaps recreate index instead) [vacuum]
* Improve speed with indexes (perhaps recreate index instead) [vacuum]
* Reduce lock time by moving tuples with read lock, then write
* Reduce lock time by moving tuples with read lock, then write
lock and truncate table [vacuum]
lock and truncate table [vacuum]
* Make ANALYZE a separate command
*
-
Make ANALYZE a separate command
* Allow ANALYZE to ESTIMATE based on certain random precentage of rows
*
-
Allow ANALYZE to ESTIMATE based on certain random precentage of rows
* Add LAZY VACUUM (Vadim)
* Add LAZY VACUUM (Vadim)
MISCELLANEOUS
MISCELLANEOUS
* Allow compression of log and meta data
* Allow compression of log and meta data
* Do async I/O to do better read-ahead of data
* Do async I/O to do better read-ahead of data
* Experiment with multi-threaded backend [thread]
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
when it is available
when it is available
* Use mmap() rather than SYSV shared memory(?) [mmap]
* Use mmap() rather than SYSV shared memory(?) [mmap]
...
@@ -263,15 +273,11 @@ MISCELLANEOUS
...
@@ -263,15 +273,11 @@ MISCELLANEOUS
* improve dynamic memory allocation by introducing tuple-context memory
* improve dynamic memory allocation by introducing tuple-context memory
allocation (Tom)
allocation (Tom)
* allow configuration of maximum number of open files
* allow configuration of maximum number of open files
* Remove pg_listener index
* -Improve statistics storage in pg_class [performance]
* Improve statistics storage in pg_class [performance]
* Add connection pooling [pool]
* Add connection pooling [pool]
* Allow persistent backends [persistent]
* Allow persistent backends [persistent]
* Create a transaction processor to aid in persistent connections and
* Create a transaction processor to aid in persistent connections and
connection pooling
connection pooling
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER
* Force transactions that commit at near the same time use a single fsync()
* Make blind writes go through the file descriptor cache
* Make blind writes go through the file descriptor cache
* Allow logging of query durations
* Allow logging of query durations
...
@@ -279,10 +285,7 @@ SOURCE CODE
...
@@ -279,10 +285,7 @@ SOURCE CODE
-----------
-----------
* Add use of 'const' for variables in source tree
* Add use of 'const' for variables in source tree
* Does Mariposa source contain any other bug fixes?
* Does Mariposa source contain any other bug fixes?
* Remove SET KSQO option now that OR processing is improved (Tom)
* Convert remaining fprintf(stderr,...)/perror() to elog()
* Convert remaining fprintf(stderr,...)/perror() to elog()
* Remove unused pg_variable, pg_inheritproc, pg_ipl tables
* Experiment with multi-threaded backend [thread]
* Fix problems with libpq non-blocking/async code [async]
* Fix problems with libpq non-blocking/async code [async]
* Merge global and template BKI files (Peter E)
* Merge global and template BKI files (Peter E)
* Fix username/password length limits in all areas
* Fix username/password length limits in all areas
...
@@ -293,12 +296,12 @@ SOURCE CODE
...
@@ -293,12 +296,12 @@ SOURCE CODE
* Add version file format stamp to heap and other table types
* Add version file format stamp to heap and other table types
* Make elog(LOG) in WAL its own output type, distinct from DEBUG
* Make elog(LOG) in WAL its own output type, distinct from DEBUG
* Rename some /contrib modules from pg* to pg_*
* Rename some /contrib modules from pg* to pg_*
* Move some things from /contrib into main tree, like soundex
* Allow plug-in modules to emulate features from other databases
* Remove warnings created by -Wcast-align
* Remove warnings created by -Wcast-align
* Move platform-specific ps status display info from ps_status.c to ports
* Move platform-specific ps status display info from ps_status.c to ports
* Decide on spelling of indexes/indices
* Allow ps status display to work on Solaris/SVr4-based systems
* Allow ps status display to work on Solaris/SVr4-based systems
* Move some things from /contrib into main tree, like soundex
* Decide on spelling of indexes/indices
* Allow plug-in modules to emulate features from other databases
* Add mention of VACUUM, log rotation to Administrator's Guide
* Add mention of VACUUM, log rotation to Administrator's Guide
* Add PL/Python documentation
* Add PL/Python documentation
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment