|
|
|
@ -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) |
|
|
|
|
|
|
|
|
|