summaryrefslogtreecommitdiff
path: root/doc/TODO
diff options
context:
space:
mode:
authorBruce Momjian1996-12-26 22:15:15 +0000
committerBruce Momjian1996-12-26 22:15:15 +0000
commit8c721185271cba0c75e0de8a65432272879f57f3 (patch)
tree52a1388fcf0c4017609e7a24f8b145fb2c5b8060 /doc/TODO
parente8f43854acfe2f5891743f5a2dbba2b52e5d23de (diff)
Documentatoin update
Diffstat (limited to 'doc/TODO')
-rw-r--r--doc/TODO221
1 files changed, 166 insertions, 55 deletions
diff --git a/doc/TODO b/doc/TODO
index 56a058f0095..0b37d22bc41 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,54 +1,56 @@
====================================================
-TODO list (FAQ) for Postgres95
+TODO list (FAQ) for PostgreSQL
====================================================
-last updated: Thu Oct 3 17:59:06 EDT 1996
+last updated: Thu Dec 26 09:03:38 EST 1996
current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
The most recent version of this document can be viewed at
-the postgres95 WWW site, http://www.ki.net/postgres95.
+the postgreSQL WWW site, http://www.postgreSQL.org.
-Dashed items(-) are being worked on or are ready for the 2.0 release.
+Changes included in the 6.0 release are listed at the end of this page.
+
+Dashed items(-) are being worked on for the post-6.0 release.
+
+Developers who have claimed items are:
+ Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
+ Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
+ Dan is Dan McGuirk <mcguirk@indirect.com>
+ Darren is Darren King <darrenk@insightdist.com>
+ Edmund is Edmund Mergl <E.Mergl@bawue.de>
+ Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
+ Kurt is "Kurt J. Lidl" <lidl@va.pubnix.com>
+ Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
+ Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
+ Vivek is Vivek Khera <khera@kci.kciLink.com>
RELIABILITY
-----------
--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?
+-Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup(Erich)
+-Overhaul bufmgr/lockmgr/transaction manager(Vadim)
+remove -S (stable memory) option or fix memory manager
+Fix CLUSTER
Fix all NULL features
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 non-postgres users with createdb privs to destroydb's
-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
+SUM aggregate on no rows or null value should return NULL, not zero
+SELECT on two tables where zero or one table in WHERE and target
+ 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?)
+SELECT ... INTO TABLE ... GROUP BY ... generates unlink error
+ if done three times with same INTO TABLE name (failure cleanup problem?)
+CREATE VIEW requires super-user priviledge
ENHANCEMENTS
------------
-Add full ANSI SQL capabilities ( a vendor has offered to help)
+Add full ANSI SQL capabilities
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, RESTRAINT, and CHECK capabilities
- -add UNIQUE index capability
report "Not implemented" if valid syntax is supplied
add OUTER joins, left and right
make VIEWs updateable where possible
@@ -60,12 +62,13 @@ Add full ANSI SQL capabilities ( a vendor has offered to help)
add the concept of dataspaces
allow conversion type casts on select target fields
Allow compression of large fields or a compressed field type
-Fix the rules system
+Fix the rules system(Jan?)
robust
making INSTEAD rules work
+ add CONSTRAINT
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(Vadim)
Large objects
overwriting blocks has problems
there are other problems, too.
@@ -75,9 +78,10 @@ Better interface for adding to pg_group
Make multi-field indexes easier to create
allow optimizer to effectively use parameters without accessing table
Add int8 type
+Add MONEY/DECIMAL type with defined precision
Add table comments
-Add support for tables >2G
-Incorporate the PERL PG95 interface library into source tree
+Add support for tables >2G, or test current version
+Incorporate the PERL PG95 interface library into source tree(Edmund)
Threaded version of the server or libpq
Allow libpq to cancel query requests
Add REGEX internationalization
@@ -85,38 +89,40 @@ 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
+ remove time-travel feature(Vadim)
+ reduce system column overhead(Vadmin)
+ remove pg_time table(Vadim)
+ allow row re-use without vacuum, maybe?(Vadim)
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?
+ can't vacuum large objects
+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
+DROP AGGREGATE should take in basetype as an arg(Darren)
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
+Populate backend status area and write program to dump status data
+Add ALTER TABLE DROP COLUMN feature
+Remove stale files upon startup(Vivek)
+Add command to show privileges
+Allow INSERT INTO ... SELECT to convert column types
+Add syslog functionality
+Allow aggregate for All types, like count(Darren)
+Improve optimizer plan choice(Darren)
+Add STDDEV/VARIANCE() function for standard deviation computation/variance
+Add upper/lower functions
+-Add table/column/function discription table indexed by oid
+-make all identifiers case-insensitive(Bruce)
PERFORMANCE
-----------
Optimizing disjunctive queries
+-Add Genetic Query Optimzation for many tables (Martin)
+-Fix bushy-plans (Martin)
Other optimizer bugs
Is fsync use optimized?
Multi-representational types, a la Illustra. For example, have a
@@ -128,18 +134,123 @@ 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
+Add FILLFACTOR to index creation
+Allow indexes to be used with OR clauses
+-Add column optimization statistics to vacuum(Bruce)
+-Change pg_attribute.attnvals name to attdispursion and change type float4
DOCUMENTATION
-------------
Update usermanual source
-Reduce size of regression diffs
+remove time-travel in documentation(Bruce)
+added features used in grammer but not in docs, like :: and CAST
+add DECLARE manual pages
+add EXPLAIN manual page
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?)
+Change c.h "Index" and "bool" so they do not conflict with c++
+
+
+---------------------------------------------------------------------------
+
+ CHANGES IN 6.0 RELEASE
+
+
+Restructured object file generation/location(Bryan, Marc)
+Restructured port-specific file locations(Bryan, Marc)
+Makefile restructuring(Bryan, Marc)
+all functions now have prototypes that are compared against the calls
+unused/uninialized variables corrected
+gcc -Wall compiles cleanly with warnings only from unfixable constructs
+major include file reorganization/reduction(Marc)
+reduced the number of #define's, centeralized #define's
+removed many os-specific #define's
+fixed a few small memory leaks
+removed duplicate system oid's
+overhauled parser/analyze code to properly report errors and increase speed
+properly report errors when INSERT ... SELECT columns did not match
+properly report errors when insert column names were not correct
+minor improvements to rules system
+execute lowercase function names if not found with exact case
+change oid constants used in code to #define names
+Memory leaks (hunt and destroy with tools like Purify(Kurt)
+fix unitialized reads of memory(Kurt)
+fix array over-runs of memory writes(Kurt)
+Change default decimal constant representation from float4 to float8(Bruce)
+Allow libpq to distinguish between text value '' and null(Bruce)
+Starting quote in insert string errors(Bruce)
+ALTER TABLE bug - running postgress process needs to re-read table definition
+Allow non-postgres users with createdb privs to destroydb's
+Prevent SELECT NULL from crashing server (Bruce)
+Fix elusive btree range/non-range bug(Dan)
+Remove duplicate system catalog info or report mismatches(Dan)
+Remove duplicate OIDS in system tables(Dan)
+Prevent postmaster from being run as root
+Implement IN qualifier(Bruce)
+Implement BETWEEN qualifier(Bruce)
+add synonym of != for <>(Bruce)
+add UNIQUE index capability(Dan)
+Re-visit and fix vacuum(Vadim)
+speed up vacuum(Vadim)
+can't shrink tables, pg_time and pg_log(Vadim & Erich)
+allow actual compression, not just reuse on the same page(Vadim)
+allow vacuum to be run on one table or entire database(Bruce)
+Reverse meaning of HBA masks(Bryan)
+Add hostname/user level access control rather than just hostname and user
+Allow restriction on who can create C functions(Bryan)
+Allow installation-configuration option to auto-add all local users(Bryan)
+Allow restriction on who can do backend COPY(Bryan)
+allow COPY from the frontend(Bryan)
+Secure Authentication of local users(Bryan)
+Idend authentication of local users(Bryan)
+Change debug level 2 to print queries only, changed debug heading layout(Bruce)
+Reduce size of regression diffs, remove timezone name difference(Bruce)
+Remove compile-time parameters to enable binary distributions(Bryan)
+Merge bsdi_2_1 to bsdi(Bruce)
+pg_dump(Bruce)
+ allow dump of oid's
+ create indexes after tables are loaded for speed
+ pg_dump -d now handles NULL's properly
+psql(Bruce)
+ fixed problem with multiple statements on one line with multiple outputs
+ changed command prompt for lines in query or in quotes
+ allow backslashed, semicolons anywhere on the line
+ \h and \? is now readable
+ \g filename now works
+ updated help syntax
+ char(3) now displays as (bp)char in \d output
+ return code now more accurate(Bryan?)
+new config.h file(Marc, Bryan)
+fix permissions on lo_export()(Bruce)
+Make now stops on compile failure(Bryan)
+submiting an empty query now returns empty status, not just " " query(Bruce)
+several fixes for queries that crashed the backend
+portability additions, including Ultrix, DG/UX, AIX, and Solaris
+fix for pg_log size explosion
+decoupled sparc and solaris defines(Kurt)
+new options to initdb(Bryan)
+allow asserts to be disabled easly from Makefile.global(Bruce)
+allow "select oid,* from table"
+NOTIFY fixes
+PG_VERSION now set to 6.0 and used by postmaster
+libpq has PQgetisnull()(Bruce)
+pginterface additions for NULL values(Bruce)
+fixed ALTER TABLE ... char(3) bug(Bruce)
+fixed output of group acl permissions
+new asserts for run-checking
+name change from Postgres95 to PostgreSQL
+monitor program removed
+fix for hash indexes on some types like time and date
+gist now included in the distrubution(Marc)
+array fixes
+fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
+libpq++ improvements
+Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
+Allow GROUP BY to use alias column name(Bruce)
+