TODO 15.6 KB
Newer Older
Bruce Momjian's avatar
Bruce Momjian committed
1
TODO list for PostgreSQL
2
========================
Bruce Momjian's avatar
Bruce Momjian committed
3
Last updated:		Wed Oct  3 13:38:37 EDT 2001
Marc G. Fournier's avatar
Marc G. Fournier committed
4

Bruce Momjian's avatar
Bruce Momjian committed
5
Current maintainer:	Bruce Momjian (pgman@candle.pha.pa.us)
Marc G. Fournier's avatar
Marc G. Fournier committed
6

Bruce Momjian's avatar
Bruce Momjian committed
7
The most recent version of this document can be viewed at
Bruce Momjian's avatar
Bruce Momjian committed
8
the PostgreSQL web site, http://www.PostgreSQL.org.
Bruce Momjian's avatar
Bruce Momjian committed
9

Bruce Momjian's avatar
Bruce Momjian committed
10
A dash (-) marks changes that will appear in the upcoming 7.2 release.
Bruce Momjian's avatar
Bruce Momjian committed
11

Bruce Momjian's avatar
Bruce Momjian committed
12 13
Bracketed items "[]" have more detailed information at
http://www.postgresql.org/docs/todo.html.
Bruce Momjian's avatar
Bruce Momjian committed
14

Bruce Momjian's avatar
Bruce Momjian committed
15

Marc G. Fournier's avatar
Marc G. Fournier committed
16 17
RELIABILITY
-----------
18

Bruce Momjian's avatar
Bruce Momjian committed
19
* -SELECT pg_class FROM pg_class generates strange error (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
20
* PL/PgSQL does not handle quoted mixed-case identifiers
Bruce Momjian's avatar
Bruce Momjian committed
21

Bruce Momjian's avatar
Bruce Momjian committed
22

Marc G. Fournier's avatar
Marc G. Fournier committed
23 24
ENHANCEMENTS
------------
25 26 27

URGENT

Bruce Momjian's avatar
Bruce Momjian committed
28
* Add replication of distributed databases [replication]
Bruce Momjian's avatar
Bruce Momjian committed
29
	o automatic failover
Bruce Momjian's avatar
Bruce Momjian committed
30 31 32 33 34 35 36
	o load balancing
	o master/slave replication
	o multi-master replication
	o partition data across servers
	o sample implementation in contrib/rserv
	o queries across databases or servers (two-phase commit)
* Point-in-time data recovery using backup and write-ahead log
Bruce Momjian's avatar
Bruce Momjian committed
37
* Allow row re-use without vacuum (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
38

39 40
ADMIN

Bruce Momjian's avatar
Bruce Momjian committed
41
* Improve control over user privileges, including table creation and
Bruce Momjian's avatar
Bruce Momjian committed
42
  lock use [privileges] (Karel, others)
Bruce Momjian's avatar
Bruce Momjian committed
43
* -Permission to DELETE table also allows UPDATE (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
44
* Allow elog() to return error codes, module name, file name, line
Bruce Momjian's avatar
Bruce Momjian committed
45
  number, not just messages (Peter E) [elog]
Bruce Momjian's avatar
Bruce Momjian committed
46 47 48 49
* -Allow international error message support and add error codes[elog](Peter E)
* -Remove unused sort files on postmaster startup (Bruce)
* Remove unreferenced table files and temp tables during database vacuum
  or postmaster startup
Bruce Momjian's avatar
Bruce Momjian committed
50
* -Remove unreferenced sort files during postmaster startup (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
51
* Add table name mapping for numeric file names
Bruce Momjian's avatar
Bruce Momjian committed
52
* -Better document pg_hba.conf host-based authentication (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
53
* -Encrpyt passwords in pg_shadow table using MD5 (Bruce, Vince)
Bruce Momjian's avatar
Bruce Momjian committed
54
* Incremental backups
Bruce Momjian's avatar
Bruce Momjian committed
55
* Make it easier to create a database owned by someone who can't createdb
Bruce Momjian's avatar
Bruce Momjian committed
56

57 58
TYPES

Bruce Momjian's avatar
Bruce Momjian committed
59
* Add domain capability [domain]
Bruce Momjian's avatar
Bruce Momjian committed
60
* Add IPv6 capability to INET/CIDR types
Bruce Momjian's avatar
Bruce Momjian committed
61
* -Add conversion function from text to inet
Bruce Momjian's avatar
Bruce Momjian committed
62
* Store binary-compatible type information in the system
Bruce Momjian's avatar
Bruce Momjian committed
63
* Allow better handling of numeric constants, type conversion [typeconv]
Bruce Momjian's avatar
Bruce Momjian committed
64
* Support construction of array result values in expressions
65
* Remove Money type, add money formatting for decimal type
Bruce Momjian's avatar
Bruce Momjian committed
66
* SELECT cash_out(2) crashes because of opaque
67
* Declare typein/out functions in pg_proc with a special "C string" data type
Bruce Momjian's avatar
Bruce Momjian committed
68
* Functions returning sets do not totally work
Bruce Momjian's avatar
Bruce Momjian committed
69
* SELECT col FROM tab WHERE numeric_col = 10.1 fails, requires quotes
Bruce Momjian's avatar
Bruce Momjian committed
70
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
Bruce Momjian's avatar
Bruce Momjian committed
71
* -Add SQL standard function bit_length() (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
72
* -Make oid use unsigned int more reliably (Tom)
73
* ARRAYS
Bruce Momjian's avatar
Bruce Momjian committed
74 75 76
	o Allow nulls in arrays
	o Allow arrays to be ORDER'ed
	o fix array handling in ECPG
Bruce Momjian's avatar
Bruce Momjian committed
77
lfBINARY DATA
Bruce Momjian's avatar
Bruce Momjian committed
78 79
	o -Add non-large-object binary field (already exists -- bytea)
	o -Make binary interface for TOAST columns (base64)
Bruce Momjian's avatar
Bruce Momjian committed
80
	o Improve vacuum of large objects, like /contrib/vacuumlo
Bruce Momjian's avatar
Bruce Momjian committed
81 82 83 84
	o Add security checking for large objects
	o Make file in/out interface for TOAST columns, similar to large object
	  interface (force out-of-line storage and no compression)
	o Auto-delete large objects when referencing row is deleted
Bruce Momjian's avatar
Bruce Momjian committed
85 86 87

MULTILANGUAGE SUPPORT

88
* Add NCHAR (as distinguished from ordinary varchar),
Bruce Momjian's avatar
Bruce Momjian committed
89
* Allow LOCALE on a per-column basis, default to ASCII
Bruce Momjian's avatar
Bruce Momjian committed
90
* Support multiple simultaneous character sets, per SQL92
Bruce Momjian's avatar
Bruce Momjian committed
91
* -Reject character sequences those are not valid in their charset (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
92
* -Make functions more multi-byte aware, e.g. trim() (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
93
* -Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes (Tatsuo)
Bruce Momjian's avatar
Bruce Momjian committed
94
* Allow setting database character set without multibyte enabled
Bruce Momjian's avatar
Bruce Momjian committed
95
* Improve Unicode combined character handling
Bruce Momjian's avatar
Bruce Momjian committed
96
* Use wide characters to evaluate LIKE, for performance (Tatsuo)
97 98

VIEWS
Bruce Momjian's avatar
Bruce Momjian committed
99

Bruce Momjian's avatar
Bruce Momjian committed
100
* Automatically create rules on views so they are updateable, per SQL92 [view]
Bruce Momjian's avatar
Bruce Momjian committed
101
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
Bruce Momjian's avatar
Bruce Momjian committed
102
* Allow NOTIFY in rules involving conditionals
Bruce Momjian's avatar
Bruce Momjian committed
103
* -Evaluate INSERT rules at end of query, rather than beginning (Jan)
Bruce Momjian's avatar
Bruce Momjian committed
104

105
INDEXES
Bruce Momjian's avatar
Bruce Momjian committed
106 107

* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
108
  fails index can't store constant parameters
Bruce Momjian's avatar
Bruce Momjian committed
109
* Add FILLFACTOR to index creation
Bruce Momjian's avatar
Bruce Momjian committed
110
* Order duplicate index entries by tid for faster heap lookups
Bruce Momjian's avatar
Bruce Momjian committed
111
* -Re-enable partial indexes
Bruce Momjian's avatar
Bruce Momjian committed
112
* -Prevent pg_attribute from having duplicate oids for indexes (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
113 114
* Allow inherited tables to inherit index, UNIQUE constraint, and primary
  key, foreign key  [inheritance]
Bruce Momjian's avatar
Bruce Momjian committed
115 116 117
* UNIQUE INDEX on base column not honored on inserts from inherited table
  INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
  [inheritance]
Bruce Momjian's avatar
Bruce Momjian committed
118
* Allow DELETE/UPDATE on inherited table
Bruce Momjian's avatar
Bruce Momjian committed
119
* Add UNIQUE capability to non-btree indexes
Bruce Momjian's avatar
Bruce Momjian committed
120
* Certain indexes will not shrink, e.g. oid indexes with many inserts
Bruce Momjian's avatar
Bruce Momjian committed
121
* Have UPDATE/DELETE clean out indexes
Bruce Momjian's avatar
Bruce Momjian committed
122 123
* Add btree index support for reltime, tinterval, regproc
* Add rtree index support for line, lseg, path, point
Bruce Momjian's avatar
Bruce Momjian committed
124 125 126
* Use indexes for min() and max()
* Use index to restrict rows returned by multi-key index when used with
  non-consecutive keys or OR clauses, so fewer heap accesses
127
* Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
Bruce Momjian's avatar
Bruce Momjian committed
128
  float4, numeric/decimal too [optimizer]
Bruce Momjian's avatar
Bruce Momjian committed
129
* -Use indexes with CIDR '<<' (contains) operator
Bruce Momjian's avatar
Bruce Momjian committed
130 131
* Allow LIKE indexing optimization for non-ASCII locales
* Be smarter about insertion of already-ordered data into btree index
Bruce Momjian's avatar
Bruce Momjian committed
132
* -Gather more accurate dispersion statistics using indexes (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
133 134
* Add deleted bit to index tuples to reduce heap access
* Prevent index uniqueness checks when UPDATE does not modifying column
Bruce Momjian's avatar
Bruce Momjian committed
135
* Add bitmap indexes [performance]
Bruce Momjian's avatar
Bruce Momjian committed
136
* Improve handling of index scans for NULL
Bruce Momjian's avatar
Bruce Momjian committed
137
* Allow GIST indexes to handle NULLs
Bruce Momjian's avatar
Bruce Momjian committed
138 139 140

SYSTEM TABLES

Bruce Momjian's avatar
Bruce Momjian committed
141
* -Add unique indexes to pg_shadow.usename and pg_shadow.usesysid or
Bruce Momjian's avatar
Bruce Momjian committed
142 143
  switch to pg_shadow.oid as user id (Tom)
* -Add unique indexes on pg_database (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
144
* -Check all system tables and add unique indexes as needed (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
145
* -Remove pg_listener index (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
146
* -Remove unused pg_variable, pg_inheritproc, pg_ipl tables (Bruce)
147 148

COMMANDS
Bruce Momjian's avatar
Bruce Momjian committed
149

150
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
Bruce Momjian's avatar
Bruce Momjian committed
151
* -Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
152 153
* Allow RULE recompilation
* Add BETWEEN ASYMMETRIC/SYMMETRIC
Bruce Momjian's avatar
Bruce Momjian committed
154
* -Change LIMIT val,val to offset,limit to match MySQL (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
155
* Allow LIMIT/OFFSET to use expressions
Bruce Momjian's avatar
Bruce Momjian committed
156
* Allow PL/PgSQL's RAISE function to take expressions
Bruce Momjian's avatar
Bruce Momjian committed
157
* Change PL/PgSQL to use palloc() instead of malloc()
Bruce Momjian's avatar
Bruce Momjian committed
158
* -Allow GRANT/REVOKE to handle multiple user/group names
Bruce Momjian's avatar
Bruce Momjian committed
159
* -Allow CREATEUSER/CREATEDB ordering in CREATE/ALTER USER (Vince)
Bruce Momjian's avatar
Bruce Momjian committed
160
* Disallow TRUNCATE on tables that are involved in referential constraints
Bruce Momjian's avatar
Bruce Momjian committed
161
* ALTER
Bruce Momjian's avatar
Bruce Momjian committed
162 163
	o ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
	o ALTER TABLE ADD COLUMN to inherited table put column in wrong place
Bruce Momjian's avatar
Bruce Momjian committed
164
	  [inheritance]
Bruce Momjian's avatar
Bruce Momjian committed
165 166 167 168 169 170
	o Add ALTER TABLE DROP COLUMN feature [drop]
	o Add ALTER FUNCTION
	o Add ALTER TABLE DROP non-CHECK CONSTRAINT
	o -Add ALTER TABLE DROP CHECK CONSTRAINT (Christopher Kings-Lynne)
	o ALTER TABLE ADD PRIMARY KEY (Christopher Kings-Lynne)
	o ALTER TABLE ADD UNIQUE (Christopher Kings-Lynne)
Bruce Momjian's avatar
Bruce Momjian committed
171
	o ALTER TABLE table ADD COLUMN column SERIAL doesn't create sequence
Bruce Momjian's avatar
Bruce Momjian committed
172
* CLUSTER
Bruce Momjian's avatar
Bruce Momjian committed
173 174 175 176
	o cluster all tables at once
	o prevent lose of indexes, permissions, inheritance
	o Automatically keep clustering on a table
	o -Keep statistics about clustering (Tom) [optimizer]
Bruce Momjian's avatar
Bruce Momjian committed
177
* COPY
Bruce Momjian's avatar
Bruce Momjian committed
178 179
	o Allow specification of column names
	o Allow dump/load of CSV format
Bruce Momjian's avatar
Bruce Momjian committed
180
* CURSOR
Bruce Momjian's avatar
Bruce Momjian committed
181 182 183 184
	o Allow BINARY option to SELECT, like we do with DECLARE
	o MOVE 0 should not move to end of cursor
	o Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
	o Allow DELETE WHERE CURRENT OF cursor
Bruce Momjian's avatar
Bruce Momjian committed
185
* INSERT
Bruce Momjian's avatar
Bruce Momjian committed
186 187 188 189
	o Allow INSERT/UPDATE of system-generated oid value for a row
	o Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
	o Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
	o Disallow missing columns in INSERT ... VALUES, per ANSI
Bruce Momjian's avatar
Bruce Momjian committed
190 191
	o Allow INSERT/UPDATE ... RETURNING new.col or old.col, handle
	  RULE cases (Philip)
Bruce Momjian's avatar
Bruce Momjian committed
192
* SHOW/SET
Bruce Momjian's avatar
Bruce Momjian committed
193 194 195 196 197 198 199
	o Add SHOW command to display locks
	o -Add SHOW command to show all settings
	o -Add a global RESET command for use with connection pooling
	o Add SET or BEGIN timeout parameter to cancel query
	o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
	o Remove SET KSQO option now that OR processing is improved (Tom)
	o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
Bruce Momjian's avatar
Bruce Momjian committed
200
	  ANALYZE, and CLUSTER
Bruce Momjian's avatar
Bruce Momjian committed
201
	o Add SHOW command to see locale
Bruce Momjian's avatar
Bruce Momjian committed
202

203 204
CLIENTS

Bruce Momjian's avatar
Bruce Momjian committed
205 206
* -Make NULL's come out at the beginning or end depending on the
  ORDER BY direction (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
207
* Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
Bruce Momjian's avatar
Bruce Momjian committed
208
  or multiple SELECTS to avoid bad system catalog entries
Bruce Momjian's avatar
Bruce Momjian committed
209 210 211
* Allow psql \d to show foreign keys
* Allow psql \d to show temporary table structure
* Add XML interface:  psql, pg_dump, COPY, separate server (?)
Bruce Momjian's avatar
Bruce Momjian committed
212
* -Fix libpq to properly handle socket failures under native MS Win32
Bruce Momjian's avatar
Bruce Momjian committed
213
* Add MD5 to ODBC
Bruce Momjian's avatar
Bruce Momjian committed
214
* JDBC
Bruce Momjian's avatar
Bruce Momjian committed
215 216 217 218 219 220
	o Comprehensive test suite. This may be available already.
	o Updateable resultSet (must be done in backend code)
	o Improved DatabaseMetaData [java]
	o JDBC-standard BLOB support
	o Error Codes (pending backend implementation)
	o Support for binary data/bytea
Bruce Momjian's avatar
Bruce Momjian committed
221

Bruce Momjian's avatar
Bruce Momjian committed
222 223 224
REFERENTIAL INTEGRITY

* Add MATCH PARTIAL referential integrity
Bruce Momjian's avatar
Bruce Momjian committed
225
* -Check that primary key exists at foreign key definition time
Bruce Momjian's avatar
Bruce Momjian committed
226
* Add deferred trigger queue file (Jan)
Bruce Momjian's avatar
Bruce Momjian committed
227
* Allow oid to act as a foreign key
Bruce Momjian's avatar
Bruce Momjian committed
228
* Implement dirty reads and use them in RI triggers
Bruce Momjian's avatar
Bruce Momjian committed
229
* Enforce referential integrity for system tables
Bruce Momjian's avatar
Bruce Momjian committed
230
* INSERT & UPDATE/DELETE in transaction of primary key fails with
Bruce Momjian's avatar
Bruce Momjian committed
231
  deferredTriggerGetPreviousEvent or "change violation" [foreign]
Bruce Momjian's avatar
Bruce Momjian committed
232
* Allow user to control trigger firing order
Bruce Momjian's avatar
Bruce Momjian committed
233
* Change foreign key constraint for array -> element to mean element
Bruce Momjian's avatar
Bruce Momjian committed
234
  in array
Bruce Momjian's avatar
Bruce Momjian committed
235

Bruce Momjian's avatar
Bruce Momjian committed
236
DEPENDENCY CHECKING
Bruce Momjian's avatar
Bruce Momjian committed
237

Bruce Momjian's avatar
Bruce Momjian committed
238 239
* Add pg_depend table for dependency recording; use sysrelid, oid,
  depend_sysrelid, depend_oid, name
Bruce Momjian's avatar
Bruce Momjian committed
240
* Auto-destroy sequence on DROP of table with SERIAL; perhaps a separate
Bruce Momjian's avatar
Bruce Momjian committed
241 242 243
  SERIAL type
* Prevent column dropping if column is used by foreign key
* Propagate column or table renaming to foreign key constraints
Bruce Momjian's avatar
Bruce Momjian committed
244
* Automatically drop constraints/functions when object is dropped
Bruce Momjian's avatar
Bruce Momjian committed
245 246 247
* Make constraints clearer in dump file
* Make foreign keys easier to identify

Bruce Momjian's avatar
Bruce Momjian committed
248 249 250 251
TRANSACTIONS

* Allow autocommit so always in a transaction block
* Overhaul bufmgr/lockmgr/transaction manager
Bruce Momjian's avatar
Bruce Momjian committed
252
* Allow nested transactions / savepoints [transactions]
Bruce Momjian's avatar
Bruce Momjian committed
253
* -Handle transaction rollover (Tom) [transactions]
Bruce Momjian's avatar
Bruce Momjian committed
254

255 256 257
EXOTIC FEATURES

* Add sql3 recursive unions
Bruce Momjian's avatar
Bruce Momjian committed
258
* Add the concept of dataspaces/tablespaces [tablespaces]
Bruce Momjian's avatar
Bruce Momjian committed
259
* Allow SQL92 schemas [schema]
260
* Allow queries across multiple databases
Bruce Momjian's avatar
Bruce Momjian committed
261
* Add pre-parsing phase that converts non-ANSI features to supported features
Bruce Momjian's avatar
Bruce Momjian committed
262
* Allow plug-in modules to emulate features from other databases
Bruce Momjian's avatar
Bruce Momjian committed
263
* SQL*Net listener that makes PostgreSQL appear as an Oracle database
Bruce Momjian's avatar
Bruce Momjian committed
264
  to clients
Bruce Momjian's avatar
Bruce Momjian committed
265
* Allow Java server-side programming [java]
266

Bruce Momjian's avatar
Bruce Momjian committed
267
MISCELLANEOUS
268

Bruce Momjian's avatar
Bruce Momjian committed
269
* Increase identifier length (NAMEDATALEN) if small performance hit
Bruce Momjian's avatar
Bruce Momjian committed
270
* -Populate backend status area and write program to dump status data (Jan)
Bruce Momjian's avatar
Bruce Momjian committed
271
* -Put sort files in their own directory (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
272
* Show location of syntax error in query [yacc]
Bruce Momjian's avatar
Bruce Momjian committed
273
* Change representation of whole-tuple parameters to functions
Bruce Momjian's avatar
Bruce Momjian committed
274

Bruce Momjian's avatar
Bruce Momjian committed
275

Bruce Momjian's avatar
Bruce Momjian committed
276 277
PERFORMANCE
-----------
278

Bruce Momjian's avatar
Bruce Momjian committed
279
FSYNC
280

Bruce Momjian's avatar
Bruce Momjian committed
281
* Delay fsync() when other backends are about to commit too [fsync]
Bruce Momjian's avatar
Bruce Momjian committed
282
	o Determine optimal commit_delay value
Bruce Momjian's avatar
Bruce Momjian committed
283
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
Bruce Momjian's avatar
Bruce Momjian committed
284
	o Allow multiple blocks to be written to WAL with one write()
Bruce Momjian's avatar
Bruce Momjian committed
285

286 287
CACHE

Bruce Momjian's avatar
Bruce Momjian committed
288
* Cache most recent query plan(s) (Karel) [prepare]
289
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
Bruce Momjian's avatar
Bruce Momjian committed
290
* Add free-behind capability for large sequential scans
Bruce Momjian's avatar
Bruce Momjian committed
291

Bruce Momjian's avatar
Bruce Momjian committed
292 293 294 295 296
VACUUM

* Improve speed with indexes (perhaps recreate index instead) [vacuum]
* Reduce lock time by moving tuples with read lock, then write
  lock and truncate table [vacuum]
Bruce Momjian's avatar
Bruce Momjian committed
297 298
* -Make ANALYZE a separate command (Tom)
* -Allow ANALYZE to ESTIMATE based on certain random precentage of rows (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
299 300 301
* Add LAZY VACUUM (Vadim)

MISCELLANEOUS
302

Bruce Momjian's avatar
Bruce Momjian committed
303
* -Allow compression of log and meta data (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
304
* Do async I/O to do better read-ahead of data
Bruce Momjian's avatar
Bruce Momjian committed
305
* Experiment with multi-threaded backend [thread]
Bruce Momjian's avatar
Bruce Momjian committed
306
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
307
  when it is available
Bruce Momjian's avatar
Bruce Momjian committed
308
* Use mmap() rather than SYSV shared memory(?) [mmap]
Bruce Momjian's avatar
Bruce Momjian committed
309
* Improve Subplan list handling
Bruce Momjian's avatar
Bruce Momjian committed
310
* Allow Subplans to use efficient joins(hash, merge) with upper variable
Bruce Momjian's avatar
Bruce Momjian committed
311
* Improve dynamic memory allocation by introducing tuple-context memory
Bruce Momjian's avatar
Bruce Momjian committed
312
  allocation (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
313
* -Allow GUC configuration of maximum number of open files (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
314
* -Improve statistics storage in pg_class [performance] (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
315
* Add connection pooling [pool]
Bruce Momjian's avatar
Bruce Momjian committed
316
* Allow persistent backends [persistent]
Bruce Momjian's avatar
Bruce Momjian committed
317 318
* Create a transaction processor to aid in persistent connections and
  connection pooling
Bruce Momjian's avatar
Bruce Momjian committed
319
* Make blind writes go through the file descriptor cache
Bruce Momjian's avatar
Bruce Momjian committed
320
* Allow logging of query durations
Bruce Momjian's avatar
Bruce Momjian committed
321
* Add hash for evaluating GROUP BY aggregates
Bruce Momjian's avatar
Bruce Momjian committed
322
* -Read pg_hba.conf only on postmaster startup or SIGHUP (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
323
* Make secondary WAL page write()'s write only modified data
Bruce Momjian's avatar
Bruce Momjian committed
324
* Improve spinlock code [performance]
Bruce Momjian's avatar
Bruce Momjian committed
325 326 327 328
	o use SysV semaphores or queue of backends waiting on the lock
	o wakeup sleeper or sleep for less than one clock tick
	o spin for lock on multi-cpu machines, yield on single cpu machines
	o read/write locks
Bruce Momjian's avatar
Bruce Momjian committed
329

330 331
SOURCE CODE
-----------
Bruce Momjian's avatar
Bruce Momjian committed
332
* Add use of 'const' for variables in source tree
Bruce Momjian's avatar
Bruce Momjian committed
333
* Does Mariposa source contain any other bug fixes?
Bruce Momjian's avatar
Bruce Momjian committed
334
* -Convert remaining fprintf(stderr,...)/perror() to elog() (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
335
* Fix problems with libpq non-blocking/async code [async]
Bruce Momjian's avatar
Bruce Momjian committed
336
* -Merge global and template BKI files (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
337
* Fix username/password length limits in all areas, e.g. pg_passwd
Bruce Momjian's avatar
Bruce Momjian committed
338
* -Remove compile-time upper limit on number of backends (MAXBACKENDS) (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
339
* Make sure all block numbers are unsigned to increase maximum table size
Bruce Momjian's avatar
Bruce Momjian committed
340
* Use BlockNumber rather than int where appropriate
Bruce Momjian's avatar
Bruce Momjian committed
341
* Merge LockMethodCtl and LockMethodTable into one shared structure (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
342
* HOLDER/HOLDERTAB rename to PROCLOCK/PROCLOCKTAG (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
343
* Remove LockMethodTable.prio field, not used (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
344
* Add version file format stamp to heap and other table types
Bruce Momjian's avatar
Bruce Momjian committed
345
* -Make elog(LOG) in WAL its own output type, distinct from DEBUG (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
346
* Rename some /contrib modules from pg* to pg_*
Bruce Momjian's avatar
Bruce Momjian committed
347
* Move some things from /contrib into main tree, like fuzzystrmatch
Bruce Momjian's avatar
Bruce Momjian committed
348
* Remove warnings created by -Wcast-align
Bruce Momjian's avatar
Bruce Momjian committed
349
* Move platform-specific ps status display info from ps_status.c to ports
Bruce Momjian's avatar
Bruce Momjian committed
350
* Allow ps status display to work on Solaris/SVr4-based systems
Bruce Momjian's avatar
Bruce Momjian committed
351
* -Decide on spelling of indexes/indices (Peter E)
Bruce Momjian's avatar
Bruce Momjian committed
352
* -Add mention of VACUUM, log rotation to Administrator's Guide (Tom, Bruce)
353

354 355 356 357 358
---------------------------------------------------------------------------


Developers who have claimed items are:
--------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
359 360 361 362 363 364 365
* Billy is Billy G. Allie <Bill.Allie@mug.org>
* Bruce is Bruce Momjian<pgman@candle.pha.pa.us>
* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
* Edmund is Edmund Mergl <E.Mergl@bawue.de>
* Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
* Karel is Karel Zak <zakkr@zf.jcu.cz>
* Jan is Jan Wieck <wieck@sapserv.debis.de>
Bruce Momjian's avatar
Bruce Momjian committed
366
* Liam is Liam Stewart <liams@redhat.com>
Bruce Momjian's avatar
Bruce Momjian committed
367 368
* Marc is Marc Fournier <scrappy@hub.org>
* Mark is Mark Hollomon <mhh@mindspring.com>
Bruce Momjian's avatar
Bruce Momjian committed
369
* Marko is Marko Kreen <marko@l-t.ee>
Bruce Momjian's avatar
Bruce Momjian committed
370 371 372 373 374 375 376 377 378 379 380
* Michael is Michael Meskes <meskes@postgresql.org>
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
* Peter M is Peter T Mount <peter@retep.org.uk>
* Peter E is Peter Eisentraut<peter_e@gmx.net>
* Philip is Philip Warner <pjw@rhyme.com.au>
* Ross is Ross J. Reedstrom <reedstrm@wallace.ece.rice.edu>
* Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
* Stephan is Stephan Szabo <sszabo@megazone23.bigpanda.com>
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
* Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu>
* Tom is Tom Lane <tgl@sss.pgh.pa.us>
Bruce Momjian's avatar
Bruce Momjian committed
381
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.no>
Bruce Momjian's avatar
Bruce Momjian committed
382
* Vadim is Vadim B. Mikheev <vadim4o@email.com>