TODO 15.4 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:		Fri Sep 28 11:31:14 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
95 96

VIEWS
Bruce Momjian's avatar
Bruce Momjian committed
97

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

103
INDEXES
Bruce Momjian's avatar
Bruce Momjian committed
104 105

* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
106
  fails index can't store constant parameters
Bruce Momjian's avatar
Bruce Momjian committed
107
* Add FILLFACTOR to index creation
Bruce Momjian's avatar
Bruce Momjian committed
108
* Order duplicate index entries by tid for faster heap lookups
Bruce Momjian's avatar
Bruce Momjian committed
109
* -Re-enable partial indexes
Bruce Momjian's avatar
Bruce Momjian committed
110
* -Prevent pg_attribute from having duplicate oids for indexes (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
111 112
* Allow inherited tables to inherit index, UNIQUE constraint, and primary
  key, foreign key  [inheritance]
Bruce Momjian's avatar
Bruce Momjian committed
113 114 115
* 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
116
* Allow DELETE/UPDATE on inherited table
Bruce Momjian's avatar
Bruce Momjian committed
117
* Add UNIQUE capability to non-btree indexes
Bruce Momjian's avatar
Bruce Momjian committed
118
* Certain indexes will not shrink, e.g. oid indexes with many inserts
Bruce Momjian's avatar
Bruce Momjian committed
119
* Have UPDATE/DELETE clean out indexes
Bruce Momjian's avatar
Bruce Momjian committed
120 121
* Add btree index support for reltime, tinterval, regproc
* Add rtree index support for line, lseg, path, point
Bruce Momjian's avatar
Bruce Momjian committed
122 123 124
* 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
125
* Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
Bruce Momjian's avatar
Bruce Momjian committed
126
  float4, numeric/decimal too [optimizer]
Bruce Momjian's avatar
Bruce Momjian committed
127
* -Use indexes with CIDR '<<' (contains) operator
Bruce Momjian's avatar
Bruce Momjian committed
128 129
* 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
130
* -Gather more accurate dispersion statistics using indexes (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
131 132
* 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
133
* Add bitmap indexes [performance]
Bruce Momjian's avatar
Bruce Momjian committed
134
* Improve handling of index scans for NULL
Bruce Momjian's avatar
Bruce Momjian committed
135
* Allow GIST indexes to handle NULLs
Bruce Momjian's avatar
Bruce Momjian committed
136 137 138

SYSTEM TABLES

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

COMMANDS
Bruce Momjian's avatar
Bruce Momjian committed
147

148
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
Bruce Momjian's avatar
Bruce Momjian committed
149
* -Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
150 151
* Allow RULE recompilation
* Add BETWEEN ASYMMETRIC/SYMMETRIC
Bruce Momjian's avatar
Bruce Momjian committed
152
* -Change LIMIT val,val to offset,limit to match MySQL (Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
153
* Allow LIMIT/OFFSET to use expressions
Bruce Momjian's avatar
Bruce Momjian committed
154
* Allow PL/PgSQL's RAISE function to take expressions
Bruce Momjian's avatar
Bruce Momjian committed
155
* Change PL/PgSQL to use palloc() instead of malloc()
Bruce Momjian's avatar
Bruce Momjian committed
156
* -Allow GRANT/REVOKE to handle multiple user/group names
Bruce Momjian's avatar
Bruce Momjian committed
157
* -Allow CREATEUSER/CREATEDB ordering in CREATE/ALTER USER (Vince)
Bruce Momjian's avatar
Bruce Momjian committed
158
* Disallow TRUNCATE on tables that are involved in referential constraints
Bruce Momjian's avatar
Bruce Momjian committed
159
* ALTER
Bruce Momjian's avatar
Bruce Momjian committed
160 161
	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
162
	  [inheritance]
Bruce Momjian's avatar
Bruce Momjian committed
163 164 165 166 167 168
	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
169
	o ALTER TABLE table ADD COLUMN column SERIAL doesn't create sequence
Bruce Momjian's avatar
Bruce Momjian committed
170
* CLUSTER
Bruce Momjian's avatar
Bruce Momjian committed
171 172 173 174
	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
175
* COPY
Bruce Momjian's avatar
Bruce Momjian committed
176 177
	o Allow specification of column names
	o Allow dump/load of CSV format
Bruce Momjian's avatar
Bruce Momjian committed
178
* CURSOR
Bruce Momjian's avatar
Bruce Momjian committed
179 180 181 182
	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
183
* INSERT
Bruce Momjian's avatar
Bruce Momjian committed
184 185 186 187
	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
188 189
	o Allow INSERT/UPDATE ... RETURNING new.col or old.col, handle
	  RULE cases (Philip)
Bruce Momjian's avatar
Bruce Momjian committed
190
* SHOW/SET
Bruce Momjian's avatar
Bruce Momjian committed
191 192 193 194 195 196 197
	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
198
	  ANALYZE, and CLUSTER
Bruce Momjian's avatar
Bruce Momjian committed
199
	o Add SHOW command to see locale
Bruce Momjian's avatar
Bruce Momjian committed
200

201 202
CLIENTS

Bruce Momjian's avatar
Bruce Momjian committed
203 204
* -Make NULL's come out at the beginning or end depending on the
  ORDER BY direction (Tom)
Bruce Momjian's avatar
Bruce Momjian committed
205
* Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
Bruce Momjian's avatar
Bruce Momjian committed
206
  or multiple SELECTS to avoid bad system catalog entries
Bruce Momjian's avatar
Bruce Momjian committed
207 208 209
* 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
210
* -Fix libpq to properly handle socket failures under native MS Win32
Bruce Momjian's avatar
Bruce Momjian committed
211
* JDBC
Bruce Momjian's avatar
Bruce Momjian committed
212 213 214 215 216 217
	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
218

Bruce Momjian's avatar
Bruce Momjian committed
219 220 221
REFERENTIAL INTEGRITY

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

Bruce Momjian's avatar
Bruce Momjian committed
233
DEPENDENCY CHECKING
Bruce Momjian's avatar
Bruce Momjian committed
234

Bruce Momjian's avatar
Bruce Momjian committed
235 236
* Add pg_depend table for dependency recording; use sysrelid, oid,
  depend_sysrelid, depend_oid, name
Bruce Momjian's avatar
Bruce Momjian committed
237
* Auto-destroy sequence on DROP of table with SERIAL; perhaps a separate
Bruce Momjian's avatar
Bruce Momjian committed
238 239 240
  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
241
* Automatically drop constraints/functions when object is dropped
Bruce Momjian's avatar
Bruce Momjian committed
242 243 244
* Make constraints clearer in dump file
* Make foreign keys easier to identify

Bruce Momjian's avatar
Bruce Momjian committed
245 246 247 248
TRANSACTIONS

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

252 253 254
EXOTIC FEATURES

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

Bruce Momjian's avatar
Bruce Momjian committed
264
MISCELLANEOUS
265

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

Bruce Momjian's avatar
Bruce Momjian committed
272

Bruce Momjian's avatar
Bruce Momjian committed
273 274
PERFORMANCE
-----------
275

Bruce Momjian's avatar
Bruce Momjian committed
276
FSYNC
277

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

283 284
CACHE

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

Bruce Momjian's avatar
Bruce Momjian committed
289 290 291 292 293
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
294 295
* -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
296 297 298
* Add LAZY VACUUM (Vadim)

MISCELLANEOUS
299

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

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

349 350 351 352 353
---------------------------------------------------------------------------


Developers who have claimed items are:
--------------------------------------
Bruce Momjian's avatar
Bruce Momjian committed
354 355 356 357 358 359 360
* 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
361
* Liam is Liam Stewart <liams@redhat.com>
Bruce Momjian's avatar
Bruce Momjian committed
362 363
* Marc is Marc Fournier <scrappy@hub.org>
* Mark is Mark Hollomon <mhh@mindspring.com>
Bruce Momjian's avatar
Bruce Momjian committed
364
* Marko is Marko Kreen <marko@l-t.ee>
Bruce Momjian's avatar
Bruce Momjian committed
365 366 367 368 369 370 371 372 373 374 375
* 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
376
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.no>
Bruce Momjian's avatar
Bruce Momjian committed
377
* Vadim is Vadim B. Mikheev <vadim4o@email.com>