TODO 11.6 KB
Newer Older
B
Bruce Momjian 已提交
1
====================================================
B
Bruce Momjian 已提交
2
TODO list (FAQ) for PostgreSQL
B
Bruce Momjian 已提交
3
====================================================
B
Bruce Momjian 已提交
4
last updated:		Sun Jul 13 23:13:24 EDT 1997
M
Marc G. Fournier 已提交
5 6 7

current maintainer:	Bruce Momjian (maillist@candle.pha.pa.us)

B
Bruce Momjian 已提交
8
The most recent version of this document can be viewed at
B
Bruce Momjian 已提交
9
the postgreSQL WWW site, http://www.postgreSQL.org.
B
Bruce Momjian 已提交
10

B
Bruce Momjian 已提交
11
THE CHANGES FOR 6.1 and 6.1.1 APPEAR AT THE END OF THIS DOCUMENT
B
Bruce Momjian 已提交
12 13 14 15 16

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>
B
Bruce Momjian 已提交
17
	Daniel is Daniel Kalchev <daniel@digsys.bg>
B
Bruce Momjian 已提交
18 19 20
	Darren is Darren King <darrenk@insightdist.com>
	Edmund is Edmund Mergl <E.Mergl@bawue.de>
	Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
B
Bruce Momjian 已提交
21
	Gerhard is Gerhard Reithofer <gerhardr@tech-edv.co.at>
B
Bruce Momjian 已提交
22
	Igor is Igor <igor@sba.miami.edu>
B
Bruce Momjian 已提交
23
	Jun is Jun Kuwamura <juk@rccm.co.jp>
B
Bruce Momjian 已提交
24 25
	Kurt is "Kurt J. Lidl" <lidl@va.pubnix.com>
 	Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
B
Bruce Momjian 已提交
26 27 28 29 30 31
	Oleg is Oleg Bartunov <oleg@sai.msu.su>
	Paul is Paul M. Aoki <aoki@CS.Berkeley.EDU>
	Raymond is Raymond Toy <toy@rtp.ericsson.se>
	Soo-Ho Ok <shok@detc.dongeui-tc.ac.kr>
	Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
	Sven is Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
B
Bruce Momjian 已提交
32
	Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
B
Bruce Momjian 已提交
33
	Thomas is Thomas Lockhart <tgl@mythos.jpl.nasa.gov>
B
Bruce Momjian 已提交
34 35
	Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
	Vivek is Vivek Khera <khera@kci.kciLink.com>
M
Marc G. Fournier 已提交
36 37 38

RELIABILITY
-----------
B
Bruce Momjian 已提交
39 40 41 42
-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
M
Marc G. Fournier 已提交
43
Fix all NULL features
B
Bruce Momjian 已提交
44
	allow psql to print nulls meaningfully
B
Bruce Momjian 已提交
45
Fix compile and security of Kerberos/GSSAPI code (Daniel Kalchev?)
B
Bruce Momjian 已提交
46
Dropping a table twice causes corruption, drop/create not rollback-able
B
Bruce Momjian 已提交
47 48
COUNT on VIEW always returns zero (maybe because there is no oid for views?)
CREATE VIEW requires super-user priviledge
49 50 51
SELECT a[1] FROM test fails, it needs test.a[1]
INSERT INTO ... SELECT DISTINCT ... generates error on DISTINCT
pg_database.datdba is oid, should be int4
B
Bruce Momjian 已提交
52 53
can lo_export()/lo_import() read/write anywhere, causing a security problem?
Fix UPDATE key_table SET keyval=max(reftab.NUM)+1 WHERE tblname='reftab'
B
Bruce Momjian 已提交
54
SELECT COUNT(*) FROM TAB1, TAB2 fails
B
Bruce Momjian 已提交
55
Tables that start with xinv confused to be large objects
B
Bruce Momjian 已提交
56 57 58
Two and three dimmensional arrays display improperly, missing {}
Add GROUP BY and HAVING to INSERT INTO table SELECT * FROM table2
Make timestamp type recognize DateStyle(Tom)
M
Marc G. Fournier 已提交
59 60 61

ENHANCEMENTS
------------
B
Bruce Momjian 已提交
62
Add full ANSI SQL capabilities (Stefan)
B
Bruce Momjian 已提交
63 64 65
	add subselects, possibility using temporary SQL functions
	Implement HAVING clause
	Implement EXISTS qualifier
66
	column constraints (using rules), PRIMARY KEY during table creation
B
Bruce Momjian 已提交
67
	add DEFAULT, RESTRAINT, and CHECK capabilities
M
Marc G. Fournier 已提交
68
	report "Not implemented" if valid syntax is supplied
69
	add NOT NULL to CREATE statement
B
Bruce Momjian 已提交
70
	add OUTER joins, left and right
M
Marc G. Fournier 已提交
71 72 73 74 75 76 77
	make VIEWs updateable where possible
	add UNIONS, INTERSECTS, SUBTRACTS
	add temporary tables
	add assertions
	add domains
	add sql3 recursive unions
	add the concept of dataspaces
B
Bruce Momjian 已提交
78
	allow conversion type casts on SELECT target fields
M
Marc G. Fournier 已提交
79
Allow compression of large fields or a compressed field type
B
Bruce Momjian 已提交
80
Fix the rules system(Jan?,Soo-Ho)
M
Marc G. Fournier 已提交
81 82
	robust
	making INSTEAD rules work
B
Bruce Momjian 已提交
83
	add CONSTRAINT
M
Marc G. Fournier 已提交
84
Full set of text operations and functions
B
Bruce Momjian 已提交
85
	word searches, concat,max() on text, char
B
Bruce Momjian 已提交
86
Replace table-level locking with row or page-level locking(Vadim)
M
Marc G. Fournier 已提交
87 88 89
Large objects
	overwriting blocks has problems
	there are other problems, too.
B
Bruce Momjian 已提交
90 91
	Fix large object mapping scheme
	not to stuff everything as files in a single directory
M
Marc G. Fournier 已提交
92
Better interface for adding to pg_group
B
Bruce Momjian 已提交
93
Make MONEY/DECIMAL have a defined precision
B
Bruce Momjian 已提交
94 95
Add support for tables >2G, or test current version
Incorporate the PERL PG95 interface library into source tree(Edmund)
M
Marc G. Fournier 已提交
96
Threaded version of the server or libpq
B
Bruce Momjian 已提交
97
Allow libpq to cancel query requests
M
Marc G. Fournier 已提交
98
Add REGEX internationalization
B
Bruce Momjian 已提交
99 100 101 102
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.
B
Bruce Momjian 已提交
103 104 105 106 107
remove time-travel feature(Vadim)
reduce system column overhead(Vadmin)
remove pg_time table(Vadim)
allow row re-use without vacuum, maybe?(Vadim)
can't vacuum large objects
B
Bruce Momjian 已提交
108
can't reduce index file size with vacuum
B
Bruce Momjian 已提交
109
Remove restriction that ORDER BY field must be in SELECT list(?)
B
Bruce Momjian 已提交
110 111 112 113 114
Allow queries about owner of datbases, tables like:
        SELECT u.usesysid FROM postgres.pg_user u;
Add word index for text fields, maybe with trigrams, i.e.:
    ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
Allow readline-type or editor command editing of multi-line SQL commands
B
Bruce Momjian 已提交
115 116 117 118 119 120 121
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
Add STDDEV/VARIANCE() function for standard deviation computation/variance
B
Bruce Momjian 已提交
122
Add table/column/function discription table indexed by oid
B
Bruce Momjian 已提交
123
add pg_type attribute to identify types that need length (bpchar, varchar)
124
add UNIQUE capability to non-btree indexes
B
Bruce Momjian 已提交
125 126
make pg_dumpall preserve table ownership, not just database ownership
make large objects have their own reltype
B
Bruce Momjian 已提交
127 128
make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
certain indexes will not shrink, i.e. oid indexes with many inserts
B
Bruce Momjian 已提交
129 130
make NULL's come out at the beginning or end depending on the ORDER BY direction
change the library/backend interface to use network byte order
B
Bruce Momjian 已提交
131 132 133 134

PERFORMANCE
-----------
Optimizing disjunctive queries
B
Bruce Momjian 已提交
135
Fix bushy-plans (Martin)
B
Bruce Momjian 已提交
136 137 138 139 140 141 142 143 144 145
Other optimizer bugs
Is fsync use optimized?
Multi-representational types, a la Illustra. For example, have a
       text type that is stored in-tuple when less than 8K and in large
       objects, when greater than 8K.
Use indexes in ORDER BY
Profile engine in INSERT's and other operations
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
B
Bruce Momjian 已提交
146
Add FILLFACTOR to index creation
B
Bruce Momjian 已提交
147
Allow indexes to be used with OR clauses(Vadim)
B
Bruce Momjian 已提交
148
Change pg_attribute.attnvals name to attdispursion and change type float4
B
Bruce Momjian 已提交
149
	update pg_statistic table to remove operator column
M
Marc G. Fournier 已提交
150 151 152

DOCUMENTATION
-------------
B
Bruce Momjian 已提交
153
Update usermanual source(many)
B
Bruce Momjian 已提交
154 155
remove time-travel in documentation(Bruce)
added features used in grammer but not in docs, like :: and CAST
B
Bruce Momjian 已提交
156
add DECLARE manual page
B
Bruce Momjian 已提交
157
update libpq++ manual page
M
Marc G. Fournier 已提交
158 159 160

PORTABILITY
-----------
B
Bruce Momjian 已提交
161
 
B
Bruce Momjian 已提交
162

B
Bruce Momjian 已提交
163 164 165 166 167 168 169 170 171
---------------------------------------------------------------------------

                     CHANGES IN THE 6.1.1 RELEASE

Changes in this release
-----------------------
fix for SET with options (Thomas)
allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
new psql \connect option allows changing usernames without chaning databases
B
Bruce Momjian 已提交
172
fix for initdb --debug option(Yoshihiko Ichikawa)
B
Bruce Momjian 已提交
173 174
lextest cleanup(Bruce)
hash fixes(Vadim)
B
Bruce Momjian 已提交
175 176 177 178
fix date/time month boundary arithmetic(Thomas)
fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
timestamp overhauled to use standard functions(Thomas)
other code cleanup in date/time routines(Thomas)
B
Bruce Momjian 已提交
179 180 181 182 183 184 185 186 187
psql's \d now case-insensitive(Bruce)
psql's backslash commands can now have trailing semicolon(Bruce)
fix memory leak in psql when using \g(Bruce)
major fix for endian handling of communication to server(Thomas, Tatsuo)
Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
allow underscores in usernames(Bruce)
pg_dumpall now returns proper status, portability fix(Bruce)


B
Bruce Momjian 已提交
188 189
---------------------------------------------------------------------------

B
Bruce Momjian 已提交
190
                      CHANGES IN THE 6.1 RELEASE
B
Bruce Momjian 已提交
191

192 193 194 195 196 197 198 199 200 201
Bug Fixes
---------
packet length checking in library routines
lock manager priority patch
check for under/over flow of float8(Bruce)
multi-table join fix(Vadim)
SIGPIPE crash fix(Darren)
large object fixes(Sven)
allow btree indexes to handle NULLs(Vadim)
timezone fixes(D'Arcy)
B
Bruce Momjian 已提交
202
select SUM(x) can return NULL on no rows(Thomas)
203 204 205 206 207 208 209
internal optimizer, executor bug fixes(Vadim)
fix problem where inner loop in < or <= has no rows(Vadim)
prevent re-commuting join index clauses(Vadim)
fix join clauses for multiple tables(Vadim)
fix hash, hashjoin for arrays(Vadim)
fix btree for abstime type(Vadim)
large object fixes(Raymond)
B
Bruce Momjian 已提交
210 211 212 213 214 215 216 217 218 219 220
fix buffer leak in hash indices (Vadim)
fix rtree for use in inner scan (Vadim)
fix gist for use in inner scan, cleanups (Vadim, Andrea)
avoid unnecessary local buffers allocation (Vadim, Massimo)
fix local buffers leak in transaction aborts (Vadim)
fix file manager memmory leaks, cleanups (Vadim, Massimo)
fix storage manager memmory leaks (Vadim)
fix btree duplicates handling (Vadim)
fix deleted tuples re-incarnation caused by vacuum (Vadim)
fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
B
Bruce Momjian 已提交
221 222
SELECT on two tables where zero or one table in WHERE and target
 	clause returns no rows(Vadim)
223 224 225

Enhancements
------------
B
Bruce Momjian 已提交
226 227 228 229
attribute optimization statistics(Bruce)
much faster new btree bulk load code(Paul)
BTREE UNIQUE added to bulk load code(Vadim) 
new lock debug code(Massimo)
230
massive changes to libpg++(Leo)
B
Bruce Momjian 已提交
231 232 233 234 235 236 237 238 239 240 241 242 243
new GEQO optimizer speeds table multi-table optimization(Martin)
new WARN message for non-unique insert into unique key(Marc)
update x=-3, no spaces, now valid(Bruce)
remove case-sensitive identifier handling(Bruce,Thomas,Dan)
debug backend now pretty-prints tree(Darren)
new Oracle character functions(Edmund)
new plaintext password functions(Dan)
no such class or insufficient privilege changed to distinct messages(Dan)
new ANSI timestamp function(Dan)
new ANSI Time and Date types (Thomas)
move large chunks of data in backend(Martin)
multi-column btree indexes(Vadim)
new SET var TO value command(Martin)
B
Bruce Momjian 已提交
244
update transaction status on reads(Dan)
B
Bruce Momjian 已提交
245 246 247 248 249 250
new locale settings for character types(Oleg)
new SEQUENCE serial number generator(Vadim)
GROUP BY function now possible(Vadim)
re-organize regression test(Thomas,Marc)
new optimizer operation weights(Vadim)
new psql \z grant/permit option(Marc)
B
Bruce Momjian 已提交
251
new MONEY data type(D'Arcy,Thomas)
B
Bruce Momjian 已提交
252 253 254 255
tcp socket communication speed improved(Vadim)
new VACUUM option for attribute statistics, and for certain columns (Vadim)
many geometric type improvements(Thomas,Keith)
additional regression tests(Thomas)
B
Bruce Momjian 已提交
256
new datestyle variable(Thomas,Vadim,Martin)
B
Bruce Momjian 已提交
257 258 259
more comparison operators for sorting types(Thomas)
new conversion functions(Thomas)
new more compact btree format(Vadim)
260
allow pg_dumpall to preserve database ownership(Bruce)
B
Bruce Momjian 已提交
261 262 263 264 265 266 267 268 269
new SET GEQO=# and R_PLANS variable(Vadim)
old (!GEQO) optimizer can use right-sided plans (Vadim)
typechecking improvement in SQL parser(Bruce)
new SET, SHOW, RESET commands(Thomas,Vadim)
new \connect database USER option
new destroydb -i option (Igor)
new \dt and \di psql commands (Darren)
SELECT "\n" now escapes newline (A. Duursma)
new geometry conversion functions from old format (Thomas)
B
Bruce Momjian 已提交
270
Improve optimizer plan choice(Vadim)
B
Bruce Momjian 已提交
271

272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
Source tree changes
-------------------
new configuration script(Marc)
readline configuration option added(Marc)
OS-specific configuration options removed(Marc)
new OS-specific template files(Marc)
no more need to edit Makefile.global(Marc)
re-arrange include files(Marc)
nextstep patches (Gregor Hoffleit)
removed WIN32-specific code(Bruce)
removed postmaster -e option, now only postgres -e option (Bruce)
merge duplicate library code in front/backends(Martin)
now works with eBones, international Kerberos(Jun)
more shared library support
c++ include file cleanup(Bruce)
warn about buggy flex(Bruce)
B
Bruce Momjian 已提交
288
DG-UX, Ultrix, Irix, AIX portability fixes