Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit d228278

Browse files
committed
Update TODO list.
1 parent a871e36 commit d228278

File tree

1 file changed

+73
-70
lines changed

1 file changed

+73
-70
lines changed

doc/TODO

Lines changed: 73 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
TODO list for PostgreSQL
22
========================
3-
Last updated: Thu May 10 13:29:36 EDT 2001
3+
Last updated: Thu May 10 16:26:24 EDT 2001
44

55
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
66

@@ -57,13 +57,13 @@ ADMIN
5757
* Remove unused files during database vacuum or postmaster startup
5858
* Add table name mapping for numeric file names
5959
* Overhaul pg_hba.conf host-based authentication
60+
* Incremental backups
6061

6162
TYPES
6263

6364
* Add domain capability
6465
* Add IPv6 capability to INET/CIDR types
6566
* Add conversion function from text to inet
66-
* Make a separate SERIAL type?
6767
* Store binary-compatible type information in the system
6868
* Allow nulls in arrays
6969
* Allow arrays to be ORDER'ed
@@ -107,66 +107,91 @@ INDEXES
107107
[inheritance]
108108
* Prevent pg_attribute from having duplicate oids for indexes (Tom)
109109
* Add UNIQUE capability to non-btree indexes
110-
* Certain indexes will not shrink, i.e. oid indexes with many inserts (Vadim)
110+
* Certain indexes will not shrink, e.g. oid indexes with many inserts (Vadim)
111111
* Have UPDATE/DELETE clean out indexes
112112
* Add btree index support for reltime, tinterval, regproc
113113
* Add rtree index support for line, lseg, path, point
114+
* Use indexes for min() and max()
115+
* Use index to restrict rows returned by multi-key index when used with
116+
non-consecutive keys or OR clauses, so fewer heap accesses
117+
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
118+
float4, numeric/decimal too [optimizer]
119+
* Use indexes with CIDR '<<' (contains) operator
120+
* Allow LIKE indexing optimization for non-ASCII locales
121+
* Be smarter about insertion of already-ordered data into btree index
122+
* Gather more accurate dispersion statistics using indexes
123+
* Add deleted bit to index tuples to reduce heap access
124+
* Prevent index uniqueness checks when UPDATE does not modifying column
125+
* System Tables
126+
* Add unique indexes to pg_shadow.usename and pg_shadow.usesysid or
127+
switch to pg_shadow.oid as user id
128+
* Add unique indexes on pg_database
129+
* Check all system tables and add unique indexes as needed
130+
* Remove pg_listener index
131+
* Remove unused pg_variable, pg_inheritproc, pg_ipl tables
114132

115133
COMMANDS
116134

117-
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
118-
[inheritance]
119-
* Add ALTER TABLE DROP COLUMN feature [drop]
120-
* Add ALTER FUNCTION
121-
* Add ALTER TABLE ... DROP CONSTRAINT
122-
* Automatically drop constraints/functions when object is dropped
135+
* ALTER
136+
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
137+
[inheritance]
138+
* Add ALTER TABLE DROP COLUMN feature [drop]
139+
* Add ALTER FUNCTION
140+
* Add ALTER TABLE DROP CONSTRAINT
123141
* CLUSTER
124142
* cluster all tables at once
125143
* prevent lose of indexes, permissions, inheritance
126144
* Automatically keep clustering on a table
127145
* Keep statistics about clustering, perhaps during VACUUM ANALYZE
128146
[optimizer]
147+
* COPY
148+
* Update reltuples in COPY
149+
* Allow specification of column names
150+
* Allow dump/load of CSV format
151+
* CURSOR
152+
* Allow BINARY option to SELECT, like we do with DECLARE
153+
* MOVE 0 should not move to end of cursor
154+
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
155+
* Allow DELETE WHERE CURRENT OF cursor
156+
* INSERT
157+
* Allow INSERT/UPDATE of system-generated oid value for a row
158+
* Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
159+
* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
160+
* Disallow missing columns in INSERT ... VALUES, per ANSI
161+
* Allow INSERT/UPDATE ... RETURNING new.col or old.col (Philip)
129162
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
130-
* Auto-destroy sequence on DROP of table with SERIAL (Ryan)
163+
* Auto-destroy sequence on DROP of table with SERIAL, perhaps with a separate
164+
SERIAL type
131165
* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
132-
* Allow INSERT/UPDATE of system-generated oid value for a row
133-
* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
134-
* Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
135166
* Allow RULE recompilation
136-
* Allow BINARY option to SELECT, like we do with DECLARE
137-
* MOVE 0 should not move to end of cursor
138-
* Add SHOW command to display locks
139-
* Bring INSERT ... VALUES up to full SQL92 spec, disallow missing
140-
columns, allow DEFAULT
141-
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
142-
* Allow DELETE WHERE CURRENT OF cursor
143167
* Add BETWEEN ASYMMETRIC/SYMMETRIC
144-
* Add SET or BEGIN timeout parameter to cancel query if waiting too long
168+
* SHOW/SET
169+
* Add SHOW command to display locks
170+
* Add a global RESET command for use with connection pooling
171+
* Add SET or BEGIN timeout parameter to cancel query if waiting too long
172+
* Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
173+
* Remove SET KSQO option now that OR processing is improved (Tom)
174+
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
175+
ANALYZE, and CLUSTER
145176
* Change LIMIT val,val to offset,limit to match MySQL
146177
* Allow Pl/PgSQL's RAISE function to take expressions
147178

148179
CLIENTS
149180

150181
* Make NULL's come out at the beginning or end depending on the
151182
ORDER BY direction
152-
* COPY
153-
* Update reltuples in COPY
154-
* Allow specification of column names
155-
* Allow dump/load of CSV format
156-
* fix array handling for ECPG
183+
* fix array handling in ECPG
157184
* have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
158185
or multiple SELECTS to avoid bad system catalog entries
159186
* allow psql \d to show primary and foreign keys
160187
* allow psql \d to show temporary table structure
161188
* add XML interface capability
162-
* Add a global RESET command for use with connection pooling
163189
* Remove <=6.3 version compatibility in ODBC?
164-
* Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
165190

166191
REFERENTIAL INTEGRITY
167192

168193
* Add MATCH PARTIAL referential integrity
169-
* Check that primary key exists at foreign key definition time
194+
* -Check that primary key exists at foreign key definition time
170195
* Prevent column dropping if column is used by foreign key
171196
* Propagate column or table renaming to foreign key constraints
172197
* Add deferred trigger queue file (Jan)
@@ -175,39 +200,37 @@ REFERENTIAL INTEGRITY
175200
* Enforce referential integrity for system tables
176201
* INSERT & UPDATE/DELETE in transaction of primary key fails with
177202
deferredTriggerGetPreviousEvent or "change violation" [foreign]
178-
* Add unique indexes to pg_shadow.usename and pg_shadow.usesysid or
179-
switch to pg_shadow.oid as user id
180-
* Add unique indexes on pg_database
181-
* Check all system tables and add unique indexes as needed
182203
* Make constraints clearer in dump file
183204
* Change foreign key constraint for array -> element to mean element
184205
in array
206+
* Automatically drop constraints/functions when object is dropped
207+
208+
TRANSACTIONS
209+
210+
* Implement UNDO using transaction log
211+
* Allow autocommit so always in a transaction block
212+
* Overhaul bufmgr/lockmgr/transaction manager
213+
* Allow nested transactions (Vadim)
214+
* Handle transaction rollover [transactions]
185215

186216
EXOTIC FEATURES
187217

188218
* Add sql3 recursive unions
189219
* Add the concept of dataspaces/tablespaces [tablespaces]
220+
* Allow SQL92 schemas
190221
* Allow queries across multiple databases
191-
* Allow nested transactions (Vadim)
192-
* Allow INSERT/UPDATE ... RETURNING new.col or old.col (Philip)
193-
* Add pre-parsing phase that convets non-ANSI features to supported features
222+
* Add pre-parsing phase that converts non-ANSI features to supported features
194223
* SQL*Net listener that makes PostgreSQL appear as an Oracle database
195224
to clients
196-
* Incremental backups
197-
* Allow SQL92 schemas
198-
* Handle transaction rollover [transactions]
199225

200226
MISCELLANEOUS
201227

202228
* Increase identifier length(NAMEDATALEN) if small performance hit
203229
* Create a background process for each database that runs while
204230
database is idle, finding superceeded rows, gathering stats and vacuuming
205-
* Implement UNDO using transaction log
206231
* Populate backend status area and write program to dump status data
207232
* Put sort files in their own directory
208-
* Allow autocommit so always in a transaction block
209233
* Show location of syntax error in query [yacc]
210-
* Overhaul bufmgr/lockmgr/transaction manager
211234
* Encrpyt passwords in pg_shadow table using MD5 (Vince)
212235
* Allow Java server-side programming [java]
213236
* Add sed-like regular expression search/replace capability
@@ -216,27 +239,13 @@ MISCELLANEOUS
216239
PERFORMANCE
217240
-----------
218241

219-
-FSYNC
242+
FSYNC
220243

221244
* Delay fsync() when other backends are about to commit too [fsync]
222245
* Determine optimal commit_delay value
223246
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
224247
* Allow multiple blocks to be written to WAL with one write()
225248

226-
INDEXES
227-
228-
* Use indexes to find min() and max()
229-
* Use index to restrict rows returned by multi-key index when used with
230-
non-consecutive keys or OR clauses, so fewer heap accesses
231-
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
232-
float4, numeric/decimal too [optimizer]
233-
* Use indexes with CIDR '<<' (contains) operator
234-
* Allow LIKE indexing optimization for non-ASCII locales
235-
* Be smarter about insertion of already-ordered data into btree index
236-
* Gather more accurate dispersion statistics using indexes
237-
* Add deleted bit to index tuples to reduce heap access
238-
* Prevent index uniqueness checks when UPDATE does not modify column
239-
240249
CACHE
241250

242251
* Cache most recent query plan(s) (Karel) [prepare]
@@ -247,14 +256,15 @@ VACUUM
247256
* Improve speed with indexes (perhaps recreate index instead) [vacuum]
248257
* Reduce lock time by moving tuples with read lock, then write
249258
lock and truncate table [vacuum]
250-
* Make ANALYZE a separate command
251-
* Allow ANALYZE to ESTIMATE based on certain random precentage of rows
259+
* -Make ANALYZE a separate command
260+
* -Allow ANALYZE to ESTIMATE based on certain random precentage of rows
252261
* Add LAZY VACUUM (Vadim)
253262

254263
MISCELLANEOUS
255264

256265
* Allow compression of log and meta data
257266
* Do async I/O to do better read-ahead of data
267+
* Experiment with multi-threaded backend [thread]
258268
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
259269
when it is available
260270
* Use mmap() rather than SYSV shared memory(?) [mmap]
@@ -263,26 +273,19 @@ MISCELLANEOUS
263273
* improve dynamic memory allocation by introducing tuple-context memory
264274
allocation (Tom)
265275
* allow configuration of maximum number of open files
266-
* Remove pg_listener index
267-
* Improve statistics storage in pg_class [performance]
276+
* -Improve statistics storage in pg_class [performance]
268277
* Add connection pooling [pool]
269278
* Allow persistent backends [persistent]
270279
* Create a transaction processor to aid in persistent connections and
271280
connection pooling
272-
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
273-
ANALYZE, and CLUSTER
274-
* Force transactions that commit at near the same time use a single fsync()
275281
* Make blind writes go through the file descriptor cache
276282
* Allow logging of query durations
277283

278284
SOURCE CODE
279285
-----------
280286
* Add use of 'const' for variables in source tree
281287
* Does Mariposa source contain any other bug fixes?
282-
* Remove SET KSQO option now that OR processing is improved (Tom)
283288
* Convert remaining fprintf(stderr,...)/perror() to elog()
284-
* Remove unused pg_variable, pg_inheritproc, pg_ipl tables
285-
* Experiment with multi-threaded backend [thread]
286289
* Fix problems with libpq non-blocking/async code [async]
287290
* Merge global and template BKI files (Peter E)
288291
* Fix username/password length limits in all areas
@@ -293,12 +296,12 @@ SOURCE CODE
293296
* Add version file format stamp to heap and other table types
294297
* Make elog(LOG) in WAL its own output type, distinct from DEBUG
295298
* Rename some /contrib modules from pg* to pg_*
299+
* Move some things from /contrib into main tree, like soundex
300+
* Allow plug-in modules to emulate features from other databases
296301
* Remove warnings created by -Wcast-align
297302
* Move platform-specific ps status display info from ps_status.c to ports
298-
* Decide on spelling of indexes/indices
299303
* Allow ps status display to work on Solaris/SVr4-based systems
300-
* Move some things from /contrib into main tree, like soundex
301-
* Allow plug-in modules to emulate features from other databases
304+
* Decide on spelling of indexes/indices
302305
* Add mention of VACUUM, log rotation to Administrator's Guide
303306
* Add PL/Python documentation
304307

0 commit comments

Comments
 (0)