Commit a454ed58 authored by Bruce Momjian's avatar Bruce Momjian

New TODO.

parent 26eb44f2
==================================================== ====================================================
TODO list (FAQ) for PostgreSQL TODO list (FAQ) for PostgreSQL
==================================================== ====================================================
last updated: Wed Jan 29 00:16:44 EST 1997 last updated: Sat Mar 1 21:28:10 EST 1997
current maintainer: Bruce Momjian (maillist@candle.pha.pa.us) current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
...@@ -16,6 +16,7 @@ Developers who have claimed items are: ...@@ -16,6 +16,7 @@ Developers who have claimed items are:
Bruce is Bruce Momjian<maillist@candle.pha.pa.us> Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
Bryan is Bryan Henderson<bryanh@giraffe.netgate.net> Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
Dan is Dan McGuirk <mcguirk@indirect.com> Dan is Dan McGuirk <mcguirk@indirect.com>
Daniel is Daniel Kalchev <daniel@digsys.bg>
Darren is Darren King <darrenk@insightdist.com> Darren is Darren King <darrenk@insightdist.com>
Edmund is Edmund Mergl <E.Mergl@bawue.de> Edmund is Edmund Mergl <E.Mergl@bawue.de>
Erich Stamberger <eberger@gewi.kfunigraz.ac.at> Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
...@@ -33,17 +34,20 @@ remove -S (stable memory) option or fix memory manager ...@@ -33,17 +34,20 @@ remove -S (stable memory) option or fix memory manager
Fix CLUSTER Fix CLUSTER
Fix all NULL features Fix all NULL features
allow psql to print nulls meaningfully allow psql to print nulls meaningfully
Fix compile and security of Kerberos V code Fix compile and security of Kerberos/GSSAPI code (Daniel Kalchev?)
Dropping a table twice causes corruption, drop/create not rollback-able Dropping a table twice causes corruption, drop/create not rollback-able
-SUM aggregate on no rows or null value should return NULL, not zero(Thomas) -SUM aggregate on no rows or null value should return NULL, not zero(Thomas)
SELECT on two tables where zero or one table in WHERE and target SELECT on two tables where zero or one table in WHERE and target
clause returns no rows clause returns no rows
fix system to use oid index using constant without cast to oid
COUNT on VIEW always returns zero (maybe because there is no oid for views?) COUNT on VIEW always returns zero (maybe because there is no oid for views?)
CREATE VIEW requires super-user priviledge CREATE VIEW requires super-user priviledge
SELECT a[1] FROM test fails, it needs test.a[1] SELECT a[1] FROM test fails, it needs test.a[1]
INSERT INTO ... SELECT DISTINCT ... generates error on DISTINCT INSERT INTO ... SELECT DISTINCT ... generates error on DISTINCT
pg_database.datdba is oid, should be int4 pg_database.datdba is oid, should be int4
fix array diffs in regression test
can lo_export()/lo_import() read/write anywhere, causing a security problem?
SELECT ... INTO TABLE ... with varchar()/char() types have zero-length fields
Fix UPDATE key_table SET keyval=max(reftab.NUM)+1 WHERE tblname='reftab'
ENHANCEMENTS ENHANCEMENTS
------------ ------------
...@@ -63,7 +67,7 @@ Add full ANSI SQL capabilities ...@@ -63,7 +67,7 @@ Add full ANSI SQL capabilities
add domains add domains
add sql3 recursive unions add sql3 recursive unions
add the concept of dataspaces add the concept of dataspaces
allow conversion type casts on select target fields allow conversion type casts on SELECT target fields
Allow compression of large fields or a compressed field type Allow compression of large fields or a compressed field type
Fix the rules system(Jan?) Fix the rules system(Jan?)
robust robust
...@@ -92,22 +96,21 @@ Add other language types for built-in functions ...@@ -92,22 +96,21 @@ Add other language types for built-in functions
expand to allow tcl, perl, java, expand to allow tcl, perl, java,
generalize the function manager switch to pass generalize the function manager switch to pass
function sources to interpreter engines. function sources to interpreter engines.
remove time-travel feature(Vadim) remove time-travel feature(Vadim)
reduce system column overhead(Vadmin) reduce system column overhead(Vadmin)
remove pg_time table(Vadim) remove pg_time table(Vadim)
allow row re-use without vacuum, maybe?(Vadim) allow row re-use without vacuum, maybe?(Vadim)
split apart row removal function from statistics function split apart row removal function from statistics function
can't vacuum large objects can't vacuum large objects
Remove restriction that ORDER BY field must be in SELECT list(?) Remove restriction that ORDER BY field must be in SELECT list(?)
Allow queries about owner of datbases, tables like: Allow queries about owner of datbases, tables like:
SELECT u.usesysid FROM postgres.pg_user u; SELECT u.usesysid FROM postgres.pg_user u;
DROP AGGREGATE should take in basetype as an arg(Darren) DROP AGGREGATE should take in basetype as an arg(Darren)
Add word index for text fields, maybe with trigrams, i.e.: Add word index for text fields, maybe with trigrams, i.e.:
' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
Add common-sense constant type promotions -Add common-sense constant type promotions(Bruce)
Allow readline-type or editor command editing of multi-line SQL commands Allow readline-type or editor command editing of multi-line SQL commands
Allow pg_dump to dump all databases at a site in one command -Allow pg_dump to dump all databases at a site in one command(Bruce)
Allow function result to be used in GROUP BY
Populate backend status area and write program to dump status data Populate backend status area and write program to dump status data
Add ALTER TABLE DROP COLUMN feature Add ALTER TABLE DROP COLUMN feature
Remove stale files upon startup(Vivek) Remove stale files upon startup(Vivek)
...@@ -118,11 +121,13 @@ Allow aggregate for All types, like count(Darren) ...@@ -118,11 +121,13 @@ Allow aggregate for All types, like count(Darren)
Improve optimizer plan choice(Darren) Improve optimizer plan choice(Darren)
Add STDDEV/VARIANCE() function for standard deviation computation/variance Add STDDEV/VARIANCE() function for standard deviation computation/variance
Add upper/lower functions Add upper/lower functions
-Add table/column/function discription table indexed by oid Add table/column/function discription table indexed by oid
-make all identifiers case-insensitive(Bruce) -make all identifiers case-insensitive(Bruce)
add pg_type attribute to identify types that need length (bpchar, varchar) add pg_type attribute to identify types that need length (bpchar, varchar)
add UNIQUE capability to non-btree indexes add UNIQUE capability to non-btree indexes
improve auto-type casting allow GROUP BY on columns that are functions
add non-ascii collating strings with strcoll() and setlocale()
new DATE routines (Thomas)
PERFORMANCE PERFORMANCE
----------- -----------
...@@ -136,12 +141,12 @@ Multi-representational types, a la Illustra. For example, have a ...@@ -136,12 +141,12 @@ Multi-representational types, a la Illustra. For example, have a
objects, when greater than 8K. objects, when greater than 8K.
Use indexes in ORDER BY Use indexes in ORDER BY
Profile engine in INSERT's and other operations Profile engine in INSERT's and other operations
Speed up hash creation by using btree's fast sort/insert routines -Speed up hash creation by using btree's fast sort/insert routines(done)
Cache most recent query plan(s?) Cache most recent query plan(s?)
Allow compression of log and meta data Allow compression of log and meta data
Allow LIKE/wildcard matches to use indexes if the wildcard character is not first Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
Add FILLFACTOR to index creation Add FILLFACTOR to index creation
Allow indexes to be used with OR clauses Allow indexes to be used with OR clauses(Vadim)
-Add column optimization statistics to vacuum(Bruce) -Add column optimization statistics to vacuum(Bruce)
-Change pg_attribute.attnvals name to attdispursion and change type float4 -Change pg_attribute.attnvals name to attdispursion and change type float4
update pg_statistic table to remove operator column update pg_statistic table to remove operator column
...@@ -151,15 +156,10 @@ DOCUMENTATION ...@@ -151,15 +156,10 @@ DOCUMENTATION
Update usermanual source Update usermanual source
remove time-travel in documentation(Bruce) remove time-travel in documentation(Bruce)
added features used in grammer but not in docs, like :: and CAST added features used in grammer but not in docs, like :: and CAST
add DECLARE manual pages add DECLARE manual page
PORTABILITY PORTABILITY
----------- -----------
Windows NT port
Mariposa project at Berkeley has a person who's working on this
Win95 port, use GNU port or remove it?
Merge i386_solaris and sparc_solaris into solaris
Switch from PORTNAME to individual feature defines (use configure/autoconf?)
Change c.h "Index" and "bool" so they do not conflict with c++ Change c.h "Index" and "bool" so they do not conflict with c++
...@@ -214,6 +214,8 @@ Allow libpq to distinguish between text value '' and null(Bruce) ...@@ -214,6 +214,8 @@ Allow libpq to distinguish between text value '' and null(Bruce)
Allow non-postgres users with createdb privs to destroydb's Allow non-postgres users with createdb privs to destroydb's
Allow restriction on who can create C functions(Bryan) Allow restriction on who can create C functions(Bryan)
Allow restriction on who can do backend COPY(Bryan) Allow restriction on who can do backend COPY(Bryan)
Allow system to use oid index using constant without cast to oid(Bruce)
Auto-cast numeric constants to type of non-constant(Bruce)
Can shrink tables, pg_time and pg_log(Vadim & Erich) Can shrink tables, pg_time and pg_log(Vadim & Erich)
Change debug level 2 to print queries only, changed debug heading layout(Bruce) Change debug level 2 to print queries only, changed debug heading layout(Bruce)
Change default decimal constant representation from float4 to float8(Bruce) Change default decimal constant representation from float4 to float8(Bruce)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment