]> granicus.if.org Git - postgresql/commitdiff
new TODO.
authorBruce Momjian <bruce@momjian.us>
Fri, 4 Oct 1996 15:15:24 +0000 (15:15 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 4 Oct 1996 15:15:24 +0000 (15:15 +0000)
doc/TODO

index a91b47a5b420538eee4f91549a65118769f55e81..56a058f00955719e55625aadca0f8bd7af605955 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,75 +1,56 @@
-From scrappy@ki.net Tue Aug  6 19:57:11 1996
-Status: RO
-X-Status: 
-Received: from candle.pha.pa.us (maillist@s1-03.ppp.op.net [206.84.209.132]) by quagmire.ki.net (8.7.5/8.7.5) with ESMTP id TAA01576 for <scrappy@ki.net>; Tue, 6 Aug 1996 19:57:08 -0400 (EDT)
-Received: (from maillist@localhost) by candle.pha.pa.us (8.7.4/8.7.3) id TAA11618 for scrappy@ki.net; Tue, 6 Aug 1996 19:57:37 -0400 (EDT)
-From: Bruce Momjian <maillist@candle.pha.pa.us>
-Message-Id: <199608062357.TAA11618@candle.pha.pa.us>
-Subject: add TODO to distribution
-To: scrappy@ki.net (Marc G. Fournier)
-Date: Tue, 6 Aug 1996 19:57:36 -0400 (EDT)
-X-Mailer: ELM [version 2.4 PL25]
-MIME-Version: 1.0
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: 7bit
-
-Here is the current TODO list.  Let's add it to the next distribution. 
-This was not ready at the time of the 1.02 release.
-
----------------------------------------------------------------------------
-
-
-=================================================
+====================================================
 TODO list (FAQ) for Postgres95
-==================================================
-last updated:          Mon Aug  5 21:00:12 EDT 1996
+====================================================
+last updated:          Thu Oct  3 17:59:06 EDT 1996
 
 current maintainer:    Bruce Momjian (maillist@candle.pha.pa.us)
-original author:       Jolly Chen (jolly@cs.berkeley.edu)
 
+The most recent version of this document can be viewed at
+the postgres95 WWW site, http://www.ki.net/postgres95.
+
+Dashed items(-) are being worked on or are ready for the 2.0 release.
 
 RELIABILITY
 -----------
-Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
-Memory leaks (hunt and destroy with tools like Purify)
-       fix unitialized reads of memory
-       fix array over-runs of memory writes
-Re-visit and fix vacuum
-       can't vacuum large objects
-        can't shrink tables, pg_time and pg_log
+-Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
+-Overhaul bufmgr/lockmgr/transaction manager
+-      remove -S (stable memory) option or fix memory manager
+-Memory leaks (hunt and destroy with tools like Purify)
+-      fix unitialized reads of memory
+-      fix array over-runs of memory writes
+-Fix CLUSTER
+-Prevent improper index creation
+-Change default decimal constant representation from float4 to float8
+-Allow libpq to distinguish between text value '' and null
+-      using null bitmask returned from backend?
 Fix all NULL features
-DROP AGGREGATE should take in basetype as an arg
-Add other language types for built-in functions
-       expand to allow tcl, perl, java,
-       generalize the function manager switch to pass 
-               function sources to interpreter engines.
-Fix large object mapping scheme
-       not to stuff everything as files in a single directory
-Fix CLUSTER
-Prevent improper index creation
-Starting quote in insert string errors
-Change default decimal constant representation from float4 to float8
+       allow psql to print nulls meaningfully
+-Starting quote in insert string errors
 ALTER TABLE bug - running postgress process needs to re-read table definition
-Allow libpq to distinguish between text value '' and null
 Allow non-postgres users with createdb privs to destroydb's
-
-PERFORMANCE
------------
-Optimizing disjunctive queries
-Other optimizer bugs
-Is fsync use optimized?
-Multi-representational types, a la Illustra. For example, have a
-       text type that is stored in-tuple when less than 8K and in large
-       objects, when greater than 8K.
+Prevent SELECT NULL from crashing server
+       (error on first attempt, crash after another query)
+-Fix elusive btree range/non-range bug
+-Remove duplicate system catalog info or report mismatches
+Fix compile and security of Kerberos V code
+-Remove duplicate OIDS in system tables
+Dropping a table twice causes corruption, drop/create not rollback-able
+Change index creation to process deleted and current rows
 
 ENHANCEMENTS
 ------------
 Add full ANSI SQL capabilities ( a vendor has offered to help)
-       add subselects
+       add subselects, possibility using temporary SQL functions
+       Implement HAVING clause
+       Implement IN qualifier
+       Implement EXISTS qualifier
+       Implement BETWEEN qualifier
+       add synonym of != for <>
        column constraints (using rules), esp. primary keys
-       add DEFAULT, UNIQUE, RESTRAINT, and CHECK capabilities
+       add DEFAULT, RESTRAINT, and CHECK capabilities
+       -add UNIQUE index capability
        report "Not implemented" if valid syntax is supplied
-       add OUTER joins
+       add OUTER joins, left and right
        make VIEWs updateable where possible
        add UNIONS, INTERSECTS, SUBTRACTS
        add temporary tables
@@ -77,37 +58,79 @@ Add full ANSI SQL capabilities ( a vendor has offered to help)
        add domains
        add sql3 recursive unions
        add the concept of dataspaces
-       Implement HAVING clause
-       Implement IN qualifier
-Add a way to preserve oid's when doing dump and load
-       if not, make oid's accessable in insert rules
-Add word index for text fields, maybe with trigrams, i.e.:
-    ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
+       allow conversion type casts on select target fields
 Allow compression of large fields or a compressed field type
 Fix the rules system
        robust
        making INSTEAD rules work
 Full set of text operations and functions
        word searches, concat, upper/lower(), max() on text, char
-Replace table-level locking with row or page-level locking
+-Replace table-level locking with row or page-level locking
 Large objects
        overwriting blocks has problems
        there are other problems, too.
+       Fix large object mapping scheme
+       not to stuff everything as files in a single directory
 Better interface for adding to pg_group
 Make multi-field indexes easier to create
        allow optimizer to effectively use parameters without accessing table
-Improve debugging output
 Add int8 type
 Add table comments
 Add support for tables >2G
 Incorporate the PERL PG95 interface library into source tree
 Threaded version of the server or libpq
+Allow libpq to cancel query requests
 Add REGEX internationalization
+Add other language types for built-in functions
+       expand to allow tcl, perl, java,
+       generalize the function manager switch to pass 
+               function sources to interpreter engines.
+-Re-visit and fix vacuum
+-      can't vacuum large objects
+-       can't shrink tables, pg_time and pg_log
+-      allow actual compression, not just reuse on the same page
+-      allow vacuum to be run on one table or entire database
+       split apart row removal function from statistics function
+       allow time-travel to be turned off so superceeded/deleted row are reused
+-Reverse meaning of HBA masks
+Add hostname/user level access control rather than just hostname and user
+Allow BY,ORDER BY to specify columns by number, or by non-alias table.column
+Allow GROUP BY to use alias column name
+Remove restriction that ORDER BY field must be in SELECT list?
+Allow queries about owner of datbases, tables like:
+        SELECT u.usesysid FROM postgres.pg_user u;
+DROP AGGREGATE should take in basetype as an arg
+Add word index for text fields, maybe with trigrams, i.e.:
+    ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
+Add common-sense constant type promotions
+-Allow uppercase agregates by lowercasing function names on input
+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 restriction on who can create C functions
+Allow restriction on who can create copy tables
+-Allow installation-configuration option to auto-add all local users
+Allow function result to be used in GROUP BY
+-Fontend COPY
+-Secure Authentication of local users
+-Idend authentication of local users
+
+PERFORMANCE
+-----------
+Optimizing disjunctive queries
+Other optimizer bugs
+Is fsync use optimized?
+Multi-representational types, a la Illustra. For example, have a
+       text type that is stored in-tuple when less than 8K and in large
+       objects, when greater than 8K.
+Use indexes in ORDER BY
+Profile engine in INSERT's and other operations
+Speed up hash creation by using btree's fast sort/insert routines
+Cache most recent query plan(s?)
+Allow compression of log and meta data
+Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
 
 DOCUMENTATION
 -------------
-Better documentation. Write a real book on postgres, perhaps?
-Document OPENLINK fsync patch
 Update usermanual source
 Reduce size of regression diffs
 
@@ -115,7 +138,8 @@ PORTABILITY
 -----------
 Windows NT port
        Mariposa project at Berkeley has a person who's working on this
+Win95 port, use GNU port or remove it?
 Binary distributions for linux
 Merge bsdi_2_1 to bsdi
 Merge i386_solaris and sparc_solaris into solaris
-
+Switch from PORTNAME to individual feature defines (use configure/autoconf?)