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

Commit a85b67d

Browse files
committed
Update TODO list.
1 parent 552bd96 commit a85b67d

File tree

2 files changed

+85
-9
lines changed

2 files changed

+85
-9
lines changed

doc/TODO

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
TODO list for PostgreSQL
22
========================
3-
Last updated: Thu Jan 27 22:38:49 EST 2000
3+
Last updated: Thu Jan 27 22:45:01 EST 2000
44

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

@@ -24,14 +24,11 @@ RESOURCES
2424

2525
PARSER
2626

27-
* Disallow inherited columns with the same name as new columns
2827
* -INSERT INTO ... SELECT with AS columns matching result columns problem
2928
* SELECT pg_class FROM pg_class generates strange error
3029
* Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
31-
* Do not allow bpchar column creation without length
3230
* -Select a[1] FROM test fails, it needs test.a[1](Tom)
3331
* -Array index references without table name cause problems [array](Tom)
34-
* Update table SET table.value = 3 fails(SQL standard says this is OK)
3532
* Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
3633
* SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
3734
* -INSERT ... SELECT ... GROUP BY groups by target columns not source columns(Tom)
@@ -43,9 +40,8 @@ PARSER
4340
* -CREATE TABLE x AS SELECT 1 UNION SELECT 2 fails
4441
* -CREATE TABLE test(col char(2) DEFAULT user) fails in length restriction
4542
* -mismatched types in CREATE TABLE ... DEFAULT causes problems [default]
46-
* SELECT ... UNION ... ORDER BY fails when sort expr not in result list
43+
* -SELECT ... UNION ... ORDER BY fails when sort expr not in result list
4744
* Be smarter about promoting types when UNION merges different data types
48-
* SELECT ... UNION ... GROUP BY fails if column types disagree
4945
* redesign INSERT ... SELECT to have two levels of target list
5046
* -select * from pg_class where oid in (0,-1)
5147
* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
@@ -120,7 +116,7 @@ TYPES
120116
* Add IPv6 capability to INET/CIDR types
121117
* Make a separate SERIAL type?
122118
* Store binary-compatible type information in the system
123-
* Allow user to define char1 column
119+
* -Allow user to define char1 column
124120
* Add support for & operator
125121
* Allow LOCALE on a per-column basis, default to ASCII
126122
* -Allow LOCALE to use indexes in regular expression searches(Tom)
@@ -218,7 +214,7 @@ MISC
218214
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
219215
* -Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
220216
* Overhaul bufmgr/lockmgr/transaction manager
221-
* Add PL/Perl(Mark Hollomon)
217+
* -Add PL/Perl(Mark Hollomon)
222218
* -Add option for postgres user have a password by default(Peter E)
223219
* Add configure test to check for C++ need for *.h and namespaces
224220
* Allow BLCKSZ <= 64k, not <= 32k
@@ -293,7 +289,7 @@ SOURCE CODE
293289
* -Make configure --enable-debug add -g on compile line
294290
* Does Mariposa source contain any other bug fixes?
295291
* Remove SET KSQO option if OR processing is improved(Tom)
296-
* Pre-generate lex and yacc output so not required for install
292+
* -Pre-generate lex and yacc output so not required for install
297293

298294
---------------------------------------------------------------------------
299295

doc/TODO.detail/inherit

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,3 +267,83 @@ misleading success response code is not my idea of proper behavior.
267267
regards, tom lane
268268

269269

270+
From owner-pgsql-hackers@hub.org Mon Jan 24 23:46:25 2000
271+
Received: from hub.org (hub.org [216.126.84.1])
272+
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA25453
273+
for <pgman@candle.pha.pa.us>; Mon, 24 Jan 2000 23:46:24 -0500 (EST)
274+
Received: from localhost (majordom@localhost)
275+
by hub.org (8.9.3/8.9.3) with SMTP id XAA81794;
276+
Mon, 24 Jan 2000 23:01:22 -0500 (EST)
277+
(envelope-from owner-pgsql-hackers)
278+
Received: by hub.org (bulk_mailer v1.5); Mon, 24 Jan 2000 22:59:46 -0500
279+
Received: (from majordom@localhost)
280+
by hub.org (8.9.3/8.9.3) id WAA80721
281+
for pgsql-hackers-outgoing; Mon, 24 Jan 2000 22:58:59 -0500 (EST)
282+
(envelope-from owner-pgsql-hackers@postgreSQL.org)
283+
Received: from sss2.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2])
284+
by hub.org (8.9.3/8.9.3) with ESMTP id WAA80619
285+
for <pgsql-hackers@postgreSQL.org>; Mon, 24 Jan 2000 22:58:33 -0500 (EST)
286+
(envelope-from tgl@sss.pgh.pa.us)
287+
Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1])
288+
by sss2.sss.pgh.pa.us (8.9.3/8.9.3) with ESMTP id WAA11576;
289+
Mon, 24 Jan 2000 22:57:12 -0500 (EST)
290+
To: Don Baccus <dhogaza@pacifier.com>
291+
cc: "Hiroshi Inoue" <Inoue@tpf.co.jp>, "Peter Eisentraut" <peter_e@gmx.net>,
292+
"PostgreSQL Development" <pgsql-hackers@postgreSQL.org>
293+
Subject: Re: [HACKERS] Happy column dropping
294+
In-reply-to: <3.0.1.32.20000124184137.01069490@mail.pacifier.com>
295+
References: <001001bf66d7$b531ba00$2801007e@tpf.co.jp> <001001bf66d7$b531ba00$2801007e@tpf.co.jp> <3.0.1.32.20000124184137.01069490@mail.pacifier.com>
296+
Comments: In-reply-to Don Baccus <dhogaza@pacifier.com>
297+
message dated "Mon, 24 Jan 2000 18:41:37 -0800"
298+
Date: Mon, 24 Jan 2000 22:57:12 -0500
299+
Message-ID: <11573.948772632@sss.pgh.pa.us>
300+
From: Tom Lane <tgl@sss.pgh.pa.us>
301+
Sender: owner-pgsql-hackers@postgreSQL.org
302+
Status: RO
303+
304+
Don Baccus <dhogaza@pacifier.com> writes:
305+
> Just a reality check for my learning of the internals. Out of curiousity
306+
> I coincidently have spent the last hour looking to see how add column's
307+
> implemented. It doesn't appear to do anything other than the new attribute
308+
> to the proper system table. heap_getattr() just returns null if you ask
309+
> for an attribute past the end of the tuple.
310+
311+
> This would appear to be (at least one reason) why you can't add a "not null"
312+
> constraint to a column you're adding to an existing relation, or set the
313+
> new column to some non-null default value.
314+
315+
> Correct? (again, to see if my eyeballs and brain are working in synch
316+
> tonight)
317+
318+
Yup, that's about the size of it. ADD COLUMN doesn't actually touch the
319+
table itself, so it can only add a column that's initially all NULLs.
320+
And even this depends on some uncomfortable assumptions about the
321+
robustness of heap_getattr(). I have always wondered whether it works
322+
if you ADD COLUMN a 33'rd column (or anything that is just past the
323+
next padding boundary for the null-values bitmap).
324+
325+
Another problem with it is seen when you do a recursive ADD COLUMN in
326+
an inheritance tree. The added column has the first free column number
327+
in each table, which generally means that it has different numbers in
328+
the children than in the parent. There are some kluges to make this
329+
sort-of-work for simple cases, but a lot of stuff fails unpleasantly
330+
--- Chris Bitmead can show you some scars from that, IIRC.
331+
332+
> Does your comment imply that it's planned to change this, i.e. actually
333+
> add the new column to each tuple in the relation rather than use the
334+
> existing, somewhat elegant hack?
335+
336+
That's what I would like to see: all the children should have the
337+
same column numbers for all columns that they inherit from the parent.
338+
339+
(Now, this would mean not only physically altering the tuples of
340+
the children, but also renumbering their added columns, which has
341+
implications on stored rules and triggers and so forth. It'd be
342+
painful, no doubt about it. Still, I'd rather pay the price in the
343+
seldom-used ADD COLUMN case than try to deal with out-of-sync column
344+
numbers in many other, more commonly exercised, code paths.)
345+
346+
regards, tom lane
347+
348+
************
349+

0 commit comments

Comments
 (0)