|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
TODO list for PostgreSQL |
|
|
|
|
======================== |
|
|
|
|
Last updated: Sun Feb 1 15:08:57 EST 1998 |
|
|
|
|
Last updated: Fri Feb 27 13:32:53 EST 1998 |
|
|
|
|
|
|
|
|
|
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us) |
|
|
|
|
|
|
|
|
@ -30,6 +30,7 @@ Developers who have claimed items are: |
|
|
|
|
* Kurt is "Kurt J. Lidl" <lidl@va.pubnix.com> |
|
|
|
|
* Marc is Marc Fournier <scrappy@hub.org> |
|
|
|
|
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de> |
|
|
|
|
* Michael is Michael Meskes <meskes@topsystem.de> |
|
|
|
|
* Oleg is Oleg Bartunov <oleg@sai.msu.su> |
|
|
|
|
* Paul is Paul M. Aoki <aoki@CS.Berkeley.EDU> |
|
|
|
|
* Patrick is Patrick van Kleef <pvk@pobox.com> |
|
|
|
@ -45,10 +46,10 @@ Developers who have claimed items are: |
|
|
|
|
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su> |
|
|
|
|
* Vivek is Vivek Khera <khera@kci.kciLink.com> |
|
|
|
|
|
|
|
|
|
Additional; 6.3 developers include: |
|
|
|
|
Additional 6.3 developers include: |
|
|
|
|
--------------------------------- |
|
|
|
|
* Billy is Billy G. Allie <Bill.Allie@mug.org> |
|
|
|
|
* Brook is Brook Milligan |
|
|
|
|
* Brook is Brook Milligan <brook@trillium.NMSU.Edu> |
|
|
|
|
* James is James Hughes <jamesh@interpath.com> |
|
|
|
|
* Jeroen is Jeroen van Vianen <jeroenv@design.nl> |
|
|
|
|
* Matt is Matt Maycock <maycock@intelliquest.com> |
|
|
|
@ -63,7 +64,8 @@ RELIABILITY |
|
|
|
|
* Overhaul bufmgr/lockmgr/transaction manager |
|
|
|
|
* -Fix CLUSTER |
|
|
|
|
* Remove EXTEND? |
|
|
|
|
* -Aggregates on VIEW always returns zero (maybe because there is no oid for views?) |
|
|
|
|
* -Aggregates on VIEW always returns zero (maybe because there is no oid for vi |
|
|
|
|
ews?) |
|
|
|
|
* CREATE VIEW requires super-user priviledge |
|
|
|
|
* Can lo_export()/lo_import() read/write anywhere, causing a security problem? |
|
|
|
|
* Tables that start with xinv confused to be large objects |
|
|
|
@ -79,9 +81,10 @@ RELIABILITY |
|
|
|
|
* UPDATE table SET table.value = 3 fails |
|
|
|
|
* -UPDATE key_table SET keyval=count(reftab.num) fails |
|
|
|
|
* -INSERT INTO ... SELECT DISTINCT ... does not accept DISTINCT |
|
|
|
|
* -INSERT INTO table SELECT id, count(*) FROM table2 GROUP BY id generates error |
|
|
|
|
* Make pg_dump preserve inheritance column order, do non-inherits first |
|
|
|
|
* User who can create databases can modify pg_database table |
|
|
|
|
* optimizer memory exhaustion with many OR's |
|
|
|
|
* elog() does not free all its memory(Jan) |
|
|
|
|
|
|
|
|
|
ENHANCEMENTS |
|
|
|
|
------------ |
|
|
|
@ -145,7 +148,8 @@ ENHANCEMENTS |
|
|
|
|
* add UNIQUE capability to non-btree indexes |
|
|
|
|
* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId |
|
|
|
|
* certain indexes will not shrink, i.e. oid indexes with many inserts |
|
|
|
|
* make NULL's come out at the beginning or end depending on the ORDER BY direction |
|
|
|
|
* make NULL's come out at the beginning or end depending on the ORDER BY direct |
|
|
|
|
ion |
|
|
|
|
* change the library/backend interface to use network byte order |
|
|
|
|
* -allow unix domain sockets for local connections for performance and security |
|
|
|
|
* -Add PAGER for psql's \dt, \d, \z tablename |
|
|
|
@ -162,13 +166,24 @@ ENHANCEMENTS |
|
|
|
|
* Fix compile and security of Kerberos/GSSAPI code |
|
|
|
|
* Allow psql to print nulls as distinct from ""(?) |
|
|
|
|
* Allow variable casts with BETWEEN 'today'::asbtime AND 'today'::abstime |
|
|
|
|
* Allow VIEW permissions to be set separately from the underlying tables |
|
|
|
|
* -Allow VIEW permissions to be set separately from the underlying tables |
|
|
|
|
* Allow INSERT INTO ... SELECT ... FROM view to work |
|
|
|
|
* Allow text, char(), and varchar() overhead to be only 2 bytes, not 4 bytes |
|
|
|
|
* Make VACUUM on database not lock pg_class |
|
|
|
|
* Make VACUUM ANALYZE only use a readlock |
|
|
|
|
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions |
|
|
|
|
* Allow installation data block size and max tuple size configuration(Darren) |
|
|
|
|
* Allow views on a UNION |
|
|
|
|
* Allow views of aggregate columns |
|
|
|
|
* Allow variable block sizes(Darren) |
|
|
|
|
* System tables are now more update-able from SQL(Jan) |
|
|
|
|
* New pg_shadow file, pg_user is now a view of pg_shadow(Jan) |
|
|
|
|
|
|
|
|
|
PERFORMANCE |
|
|
|
|
----------- |
|
|
|
|
* Use indexes in ORDER BY, min(), max() |
|
|
|
|
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not first |
|
|
|
|
* Use indexes in ORDER BY, min(), max()(Costin Oproiu) |
|
|
|
|
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not |
|
|
|
|
first |
|
|
|
|
* Optimizing disjunctive queries |
|
|
|
|
* Fix bushy-plans (Martin) |
|
|
|
|
* Other optimizer bugs |
|
|
|
@ -181,6 +196,8 @@ PERFORMANCE |
|
|
|
|
* update pg_statistic table to remove operator column |
|
|
|
|
* make index creation use psort code, because it is now faster(Vadim) |
|
|
|
|
* remove fork()/exec() of backend and make it just fork() |
|
|
|
|
* Improve vacuum locking issues |
|
|
|
|
* Add base table name to \d index |
|
|
|
|
|
|
|
|
|
DOCUMENTATION |
|
|
|
|
------------- |
|
|
|
@ -195,33 +212,6 @@ DOCUMENTATION |
|
|
|
|
CHANGES IN THE 6.3 RELEASE |
|
|
|
|
-------------------------- |
|
|
|
|
|
|
|
|
|
Developers who have claimed items are: |
|
|
|
|
------------------------------------- |
|
|
|
|
* Billy is Billy G. Allie <Bill.Allie@mug.org> |
|
|
|
|
* Brook is Brook Milligan |
|
|
|
|
* Bruce is Bruce Momjian <maillist@candle.pha.pa.us> |
|
|
|
|
* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net> |
|
|
|
|
* Dan is Dan McGuirk <mcguirk@indirect.com> |
|
|
|
|
* Darren is Darren King <darrenk@insightdist.com> |
|
|
|
|
* Goran is Goran Thyni <goran@bildbasen.se> |
|
|
|
|
* Henry is Henry B. Hotz <hotz@jpl.nasa.gov> |
|
|
|
|
* James is James Hughes <jamesh@interpath.com> |
|
|
|
|
* Jan is Jan Wieck <wieck@sapserv.debis.de> |
|
|
|
|
* Jeroen is Jeroen van Vianen <jeroenv@design.nl> |
|
|
|
|
* Marc is Marc Fournier <scrappy@hub.org> |
|
|
|
|
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de> |
|
|
|
|
* Matt is Matt Maycock <maycock@intelliquest.com> |
|
|
|
|
* Peter is Peter T Mount <psqlhack@maidast.demon.co.uk> |
|
|
|
|
* Phil is Phil Thompson <phil@river-bank.demon.co.uk> |
|
|
|
|
* Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu> |
|
|
|
|
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> |
|
|
|
|
* Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu> |
|
|
|
|
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO> |
|
|
|
|
* TomS is Tom Szybist |
|
|
|
|
* Todd is Todd Brandys is <brandys@eng3.hep.uiuc.edu> |
|
|
|
|
* Travis is Travis Melhiser <melhiser@viper.co.union.nc.us> |
|
|
|
|
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su> |
|
|
|
|
|
|
|
|
|
Bug Fixes |
|
|
|
|
--------- |
|
|
|
|
Fix binary cursors broken by MOVE implementation(Vadim) |
|
|
|
@ -254,25 +244,28 @@ Generate elog(ERROR) on over-large integer(Bruce) |
|
|
|
|
Allow multiple-argument functions in constraint clauses(Thomas) |
|
|
|
|
Check boolean input literals for 'true','false','yes','no','1','0' |
|
|
|
|
and throw elog(ERROR) if unrecognized(Thomas) |
|
|
|
|
|
|
|
|
|
Major large objects fix |
|
|
|
|
|
|
|
|
|
Enhancements |
|
|
|
|
------------ |
|
|
|
|
Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas) |
|
|
|
|
New User Manual(Thomas, others) |
|
|
|
|
Speedup by inlining some frequently-called functions |
|
|
|
|
Real deadlock detection, no more timeouts(Bruce) |
|
|
|
|
<NOT DONE YET> Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas) |
|
|
|
|
Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, |
|
|
|
|
CURRENT_USER(Thomas) |
|
|
|
|
Speedup by inlining some frequently-called functions |
|
|
|
|
Modify constraint syntax to be SQL92-compliant(Thomas) |
|
|
|
|
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas) |
|
|
|
|
Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas) |
|
|
|
|
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas) |
|
|
|
|
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas |
|
|
|
|
) |
|
|
|
|
Allow Postgres-style casting ("::") of non-constants(Thomas) |
|
|
|
|
Add support for SQL3 TRUE and FALSE boolean constants(Thomas) |
|
|
|
|
Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas) |
|
|
|
|
Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas) |
|
|
|
|
Allow SQL92 delimited identifiers(Thomas) |
|
|
|
|
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas) |
|
|
|
|
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas |
|
|
|
|
) |
|
|
|
|
Support SQL92 syntax for type coercion of literal strings |
|
|
|
|
(e.g. "DATETIME 'now'")(Thomas) |
|
|
|
|
Add conversions for int2, int4, and OID types to and from text(Thomas) |
|
|
|
@ -294,7 +287,8 @@ Augment support for SQL92 SET TIME ZONE...(Thomas) |
|
|
|
|
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas) |
|
|
|
|
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas) |
|
|
|
|
Enable SET TIME ZONE using TZ environment variable(Thomas) |
|
|
|
|
Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas) |
|
|
|
|
Add PGDATESTYLE environment variable to frontend and backend initialization(Tho |
|
|
|
|
mas) |
|
|
|
|
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO |
|
|
|
|
frontend library initialization environment variables(Thomas) |
|
|
|
|
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas) |
|
|
|
@ -321,7 +315,6 @@ Add UNION, GROUP, DISTINCT to INSERT(Bruce) |
|
|
|
|
varchar() stores only necessary bytes on disk(Bruce) |
|
|
|
|
Fix for BLOBs(Peter) |
|
|
|
|
Mega-Patch for JDBC...see README_6.3 for list of changes(Peter) |
|
|
|
|
Allow installation data block size and max tuple size configuration(Darren) |
|
|
|
|
Remove unused "option" from PQconnectdb() |
|
|
|
|
New LOCK command and lock manual page describing deadlocks(Bruce) |
|
|
|
|
Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce) |
|
|
|
@ -336,8 +329,17 @@ Add Unix socket support to DBD::Pg(Goran) |
|
|
|
|
New python interface (PyGreSQL 2.0)(D'Arcy) |
|
|
|
|
New frontend/backend protocol has a version number, network byte order(Phil) |
|
|
|
|
Security features in pg_hba.conf enhanced and documented, many cleanups(Phil) |
|
|
|
|
New HTML and Postscript documentation(Thomas) |
|
|
|
|
|
|
|
|
|
CHAR() now faster access than VARCHAR() or TEXT |
|
|
|
|
ecpg embedded SQL preprocessor |
|
|
|
|
Add GROUP BY to INSERT INTO table SELECT * FROM table2 |
|
|
|
|
Reduce system column overhead(Vadmin) |
|
|
|
|
Remove pg_time table(Vadim) |
|
|
|
|
Add pg_type attribute to identify types that need length (bpchar, varchar) |
|
|
|
|
Add report of offending line when COPY command fails |
|
|
|
|
Allow VIEW permissions to be set separately from the underlying tables. |
|
|
|
|
For security, use GRANT/REVOKE on views as appropriate(Jan) |
|
|
|
|
Tables now have no default GRANT SELECT TO PUBLIC. You must |
|
|
|
|
explicitly grant such permissions. |
|
|
|
|
|
|
|
|
|
Source Tree Changes |
|
|
|
|
------------------- |
|
|
|
@ -374,3 +376,5 @@ Start an AUX port |
|
|
|
|
Start a Cygnus port |
|
|
|
|
Add string functions to regression suite(Thomas) |
|
|
|
|
Expand a few function names formerly truncated to 16 characters(Thomas) |
|
|
|
|
Remove un-needed malloc() calls and replace with palloc()(Bruce) |
|
|
|
|
|
|
|
|
|