|
1 |
| -From scrappy@ki.net Tue Aug 6 19:57:11 1996 |
2 |
| -Status: RO |
3 |
| -X-Status: |
4 |
| -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) |
5 |
| -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) |
6 |
| -From: Bruce Momjian <maillist@candle.pha.pa.us> |
7 |
| -Message-Id: <199608062357.TAA11618@candle.pha.pa.us> |
8 |
| -Subject: add TODO to distribution |
9 |
| -To: scrappy@ki.net (Marc G. Fournier) |
10 |
| -Date: Tue, 6 Aug 1996 19:57:36 -0400 (EDT) |
11 |
| -X-Mailer: ELM [version 2.4 PL25] |
12 |
| -MIME-Version: 1.0 |
13 |
| -Content-Type: text/plain; charset=US-ASCII |
14 |
| -Content-Transfer-Encoding: 7bit |
15 |
| - |
16 |
| -Here is the current TODO list. Let's add it to the next distribution. |
17 |
| -This was not ready at the time of the 1.02 release. |
18 |
| - |
19 |
| ---------------------------------------------------------------------------- |
20 |
| - |
21 |
| - |
22 |
| -================================================= |
| 1 | +==================================================== |
23 | 2 | TODO list (FAQ) for Postgres95
|
24 |
| -================================================== |
25 |
| -last updated: Mon Aug 5 21:00:12 EDT 1996 |
| 3 | +==================================================== |
| 4 | +last updated: Thu Oct 3 17:59:06 EDT 1996 |
26 | 5 |
|
27 | 6 | current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
28 |
| -original author: Jolly Chen (jolly@cs.berkeley.edu) |
29 | 7 |
|
| 8 | +The most recent version of this document can be viewed at |
| 9 | +the postgres95 WWW site, http://www.ki.net/postgres95. |
| 10 | + |
| 11 | +Dashed items(-) are being worked on or are ready for the 2.0 release. |
30 | 12 |
|
31 | 13 | RELIABILITY
|
32 | 14 | -----------
|
33 |
| -Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup |
34 |
| -Memory leaks (hunt and destroy with tools like Purify) |
35 |
| - fix unitialized reads of memory |
36 |
| - fix array over-runs of memory writes |
37 |
| -Re-visit and fix vacuum |
38 |
| - can't vacuum large objects |
39 |
| - can't shrink tables, pg_time and pg_log |
| 15 | +-Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup |
| 16 | +-Overhaul bufmgr/lockmgr/transaction manager |
| 17 | +- remove -S (stable memory) option or fix memory manager |
| 18 | +-Memory leaks (hunt and destroy with tools like Purify) |
| 19 | +- fix unitialized reads of memory |
| 20 | +- fix array over-runs of memory writes |
| 21 | +-Fix CLUSTER |
| 22 | +-Prevent improper index creation |
| 23 | +-Change default decimal constant representation from float4 to float8 |
| 24 | +-Allow libpq to distinguish between text value '' and null |
| 25 | +- using null bitmask returned from backend? |
40 | 26 | Fix all NULL features
|
41 |
| -DROP AGGREGATE should take in basetype as an arg |
42 |
| -Add other language types for built-in functions |
43 |
| - expand to allow tcl, perl, java, |
44 |
| - generalize the function manager switch to pass |
45 |
| - function sources to interpreter engines. |
46 |
| -Fix large object mapping scheme |
47 |
| - not to stuff everything as files in a single directory |
48 |
| -Fix CLUSTER |
49 |
| -Prevent improper index creation |
50 |
| -Starting quote in insert string errors |
51 |
| -Change default decimal constant representation from float4 to float8 |
| 27 | + allow psql to print nulls meaningfully |
| 28 | +-Starting quote in insert string errors |
52 | 29 | ALTER TABLE bug - running postgress process needs to re-read table definition
|
53 |
| -Allow libpq to distinguish between text value '' and null |
54 | 30 | Allow non-postgres users with createdb privs to destroydb's
|
55 |
| - |
56 |
| -PERFORMANCE |
57 |
| ------------ |
58 |
| -Optimizing disjunctive queries |
59 |
| -Other optimizer bugs |
60 |
| -Is fsync use optimized? |
61 |
| -Multi-representational types, a la Illustra. For example, have a |
62 |
| - text type that is stored in-tuple when less than 8K and in large |
63 |
| - objects, when greater than 8K. |
| 31 | +Prevent SELECT NULL from crashing server |
| 32 | + (error on first attempt, crash after another query) |
| 33 | +-Fix elusive btree range/non-range bug |
| 34 | +-Remove duplicate system catalog info or report mismatches |
| 35 | +Fix compile and security of Kerberos V code |
| 36 | +-Remove duplicate OIDS in system tables |
| 37 | +Dropping a table twice causes corruption, drop/create not rollback-able |
| 38 | +Change index creation to process deleted and current rows |
64 | 39 |
|
65 | 40 | ENHANCEMENTS
|
66 | 41 | ------------
|
67 | 42 | Add full ANSI SQL capabilities ( a vendor has offered to help)
|
68 |
| - add subselects |
| 43 | + add subselects, possibility using temporary SQL functions |
| 44 | + Implement HAVING clause |
| 45 | + Implement IN qualifier |
| 46 | + Implement EXISTS qualifier |
| 47 | + Implement BETWEEN qualifier |
| 48 | + add synonym of != for <> |
69 | 49 | column constraints (using rules), esp. primary keys
|
70 |
| - add DEFAULT, UNIQUE, RESTRAINT, and CHECK capabilities |
| 50 | + add DEFAULT, RESTRAINT, and CHECK capabilities |
| 51 | + -add UNIQUE index capability |
71 | 52 | report "Not implemented" if valid syntax is supplied
|
72 |
| - add OUTER joins |
| 53 | + add OUTER joins, left and right |
73 | 54 | make VIEWs updateable where possible
|
74 | 55 | add UNIONS, INTERSECTS, SUBTRACTS
|
75 | 56 | add temporary tables
|
76 | 57 | add assertions
|
77 | 58 | add domains
|
78 | 59 | add sql3 recursive unions
|
79 | 60 | add the concept of dataspaces
|
80 |
| - Implement HAVING clause |
81 |
| - Implement IN qualifier |
82 |
| -Add a way to preserve oid's when doing dump and load |
83 |
| - if not, make oid's accessable in insert rules |
84 |
| -Add word index for text fields, maybe with trigrams, i.e.: |
85 |
| - ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox |
| 61 | + allow conversion type casts on select target fields |
86 | 62 | Allow compression of large fields or a compressed field type
|
87 | 63 | Fix the rules system
|
88 | 64 | robust
|
89 | 65 | making INSTEAD rules work
|
90 | 66 | Full set of text operations and functions
|
91 | 67 | word searches, concat, upper/lower(), max() on text, char
|
92 |
| -Replace table-level locking with row or page-level locking |
| 68 | +-Replace table-level locking with row or page-level locking |
93 | 69 | Large objects
|
94 | 70 | overwriting blocks has problems
|
95 | 71 | there are other problems, too.
|
| 72 | + Fix large object mapping scheme |
| 73 | + not to stuff everything as files in a single directory |
96 | 74 | Better interface for adding to pg_group
|
97 | 75 | Make multi-field indexes easier to create
|
98 | 76 | allow optimizer to effectively use parameters without accessing table
|
99 |
| -Improve debugging output |
100 | 77 | Add int8 type
|
101 | 78 | Add table comments
|
102 | 79 | Add support for tables >2G
|
103 | 80 | Incorporate the PERL PG95 interface library into source tree
|
104 | 81 | Threaded version of the server or libpq
|
| 82 | +Allow libpq to cancel query requests |
105 | 83 | Add REGEX internationalization
|
| 84 | +Add other language types for built-in functions |
| 85 | + expand to allow tcl, perl, java, |
| 86 | + generalize the function manager switch to pass |
| 87 | + function sources to interpreter engines. |
| 88 | +-Re-visit and fix vacuum |
| 89 | +- can't vacuum large objects |
| 90 | +- can't shrink tables, pg_time and pg_log |
| 91 | +- allow actual compression, not just reuse on the same page |
| 92 | +- allow vacuum to be run on one table or entire database |
| 93 | + split apart row removal function from statistics function |
| 94 | + allow time-travel to be turned off so superceeded/deleted row are reused |
| 95 | +-Reverse meaning of HBA masks |
| 96 | +Add hostname/user level access control rather than just hostname and user |
| 97 | +Allow BY,ORDER BY to specify columns by number, or by non-alias table.column |
| 98 | +Allow GROUP BY to use alias column name |
| 99 | +Remove restriction that ORDER BY field must be in SELECT list? |
| 100 | +Allow queries about owner of datbases, tables like: |
| 101 | + SELECT u.usesysid FROM postgres.pg_user u; |
| 102 | +DROP AGGREGATE should take in basetype as an arg |
| 103 | +Add word index for text fields, maybe with trigrams, i.e.: |
| 104 | + ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox |
| 105 | +Add common-sense constant type promotions |
| 106 | +-Allow uppercase agregates by lowercasing function names on input |
| 107 | +Allow readline-type or editor command editing of multi-line SQL commands |
| 108 | +Allow pg_dump to dump all databases at a site in one command |
| 109 | +-Allow restriction on who can create C functions |
| 110 | +Allow restriction on who can create copy tables |
| 111 | +-Allow installation-configuration option to auto-add all local users |
| 112 | +Allow function result to be used in GROUP BY |
| 113 | +-Fontend COPY |
| 114 | +-Secure Authentication of local users |
| 115 | +-Idend authentication of local users |
| 116 | + |
| 117 | +PERFORMANCE |
| 118 | +----------- |
| 119 | +Optimizing disjunctive queries |
| 120 | +Other optimizer bugs |
| 121 | +Is fsync use optimized? |
| 122 | +Multi-representational types, a la Illustra. For example, have a |
| 123 | + text type that is stored in-tuple when less than 8K and in large |
| 124 | + objects, when greater than 8K. |
| 125 | +Use indexes in ORDER BY |
| 126 | +Profile engine in INSERT's and other operations |
| 127 | +Speed up hash creation by using btree's fast sort/insert routines |
| 128 | +Cache most recent query plan(s?) |
| 129 | +Allow compression of log and meta data |
| 130 | +Allow LIKE/wildcard matches to use indexes if the wildcard character is not first |
106 | 131 |
|
107 | 132 | DOCUMENTATION
|
108 | 133 | -------------
|
109 |
| -Better documentation. Write a real book on postgres, perhaps? |
110 |
| -Document OPENLINK fsync patch |
111 | 134 | Update usermanual source
|
112 | 135 | Reduce size of regression diffs
|
113 | 136 |
|
114 | 137 | PORTABILITY
|
115 | 138 | -----------
|
116 | 139 | Windows NT port
|
117 | 140 | Mariposa project at Berkeley has a person who's working on this
|
| 141 | +Win95 port, use GNU port or remove it? |
118 | 142 | Binary distributions for linux
|
119 | 143 | Merge bsdi_2_1 to bsdi
|
120 | 144 | Merge i386_solaris and sparc_solaris into solaris
|
121 |
| - |
| 145 | +Switch from PORTNAME to individual feature defines (use configure/autoconf?) |
0 commit comments