Skip to content

Commit be38f75

Browse files
committed
Update TODO list.
1 parent 8f50694 commit be38f75

File tree

3 files changed

+205
-86
lines changed

3 files changed

+205
-86
lines changed

doc/TODO.detail/function

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,3 +528,89 @@ Jan
528528
************
529529

530530

531+
From owner-pgsql-hackers@hub.org Thu Sep 23 11:01:06 1999
532+
Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
533+
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA16162
534+
for <maillist@candle.pha.pa.us>; Thu, 23 Sep 1999 11:01:04 -0400 (EDT)
535+
Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$ Revision: 1.18 $) with ESMTP id KAA28544 for <maillist@candle.pha.pa.us>; Thu, 23 Sep 1999 10:45:54 -0400 (EDT)
536+
Received: from hub.org (hub.org [216.126.84.1])
537+
by hub.org (8.9.3/8.9.3) with ESMTP id KAA52943;
538+
Thu, 23 Sep 1999 10:20:51 -0400 (EDT)
539+
(envelope-from owner-pgsql-hackers@hub.org)
540+
Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Thu, 23 Sep 1999 10:19:58 +0000 (EDT)
541+
Received: (from majordom@localhost)
542+
by hub.org (8.9.3/8.9.3) id KAA52472
543+
for pgsql-hackers-outgoing; Thu, 23 Sep 1999 10:19:03 -0400 (EDT)
544+
(envelope-from owner-pgsql-hackers@postgreSQL.org)
545+
Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2])
546+
by hub.org (8.9.3/8.9.3) with ESMTP id KAA52431
547+
for <pgsql-hackers@postgresql.org>; Thu, 23 Sep 1999 10:18:47 -0400 (EDT)
548+
(envelope-from tgl@sss.pgh.pa.us)
549+
Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
550+
by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id KAA13253;
551+
Thu, 23 Sep 1999 10:18:02 -0400 (EDT)
552+
To: wieck@debis.com (Jan Wieck)
553+
cc: pgsql-hackers@postgreSQL.org
554+
Subject: Re: [HACKERS] Progress report: buffer refcount bugs and SQL functions
555+
In-reply-to: Your message of Thu, 23 Sep 1999 03:19:39 +0200 (MET DST)
556+
<m11TxXw-0003kLC@orion.SAPserv.Hamburg.dsh.de>
557+
Date: Thu, 23 Sep 1999 10:18:01 -0400
558+
Message-ID: <13251.938096281@sss.pgh.pa.us>
559+
From: Tom Lane <tgl@sss.pgh.pa.us>
560+
Sender: owner-pgsql-hackers@postgreSQL.org
561+
Precedence: bulk
562+
Status: RO
563+
564+
wieck@debis.com (Jan Wieck) writes:
565+
> Tom Lane wrote:
566+
>> What I am wondering, though, is whether this addition is actually
567+
>> necessary, or is it a bug that the functions aren't run to completion
568+
>> in the first place?
569+
570+
> I've said some time (maybe too long) ago, that SQL functions
571+
> returning tuple sets are broken in general.
572+
573+
Indeed they are. Try this on for size (using the regression database):
574+
575+
SELECT p.name, p.hobbies.equipment.name FROM person p;
576+
SELECT p.hobbies.equipment.name, p.name FROM person p;
577+
578+
You get different result sets!?
579+
580+
The problem in this example is that ExecTargetList returns the isDone
581+
flag from the last targetlist entry, regardless of whether there are
582+
incomplete iterations in previous entries. More generally, the buffer
583+
leak problem that I started with only occurs if some Iter nodes are not
584+
run to completion --- but execQual.c has no mechanism to make sure that
585+
they have all reached completion simultaneously.
586+
587+
What we really need to make functions-returning-sets work properly is
588+
an implementation somewhat like aggregate functions. We need to make
589+
a list of all the Iter nodes present in a targetlist and cycle through
590+
the values returned by each in a methodical fashion (run the rightmost
591+
through its full cycle, then advance the next-to-rightmost one value,
592+
run the rightmost through its cycle again, etc etc). Also there needs
593+
to be an understanding of the hierarchy when an Iter appears in the
594+
arguments of another Iter's function. (You cycle the upper one for
595+
*each* set of arguments created by cycling its sub-Iters.)
596+
597+
I am not particularly interested in working on this feature right now,
598+
since AFAIK it's a Berkeleyism not found in SQL92. What I've done
599+
is to hack ExecTargetList so that it behaves semi-sanely when there's
600+
more than one Iter at the top level of the target list --- it still
601+
doesn't really give the right answer, but at least it will keep
602+
generating tuples until all the Iters are done at the same time.
603+
It happens that that's enough to give correct answers for the examples
604+
shown in the misc regress test. Even when it fails to generate all
605+
the possible combinations, there will be no buffer leaks.
606+
607+
So, I'm going to declare victory and go home ;-). We ought to add a
608+
TODO item along the lines of
609+
* Functions returning sets don't really work right
610+
in hopes that someone will feel like tackling this someday.
611+
612+
regards, tom lane
613+
614+
************
615+
616+

doc/TODO.detail/functions

Lines changed: 0 additions & 86 deletions
This file was deleted.

doc/TODO.detail/null

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
From owner-pgsql-general@hub.org Fri Oct 9 18:22:09 1998
2+
Received: from hub.org (majordom@hub.org [209.47.148.200])
3+
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA04220
4+
for <maillist@candle.pha.pa.us>; Fri, 9 Oct 1998 18:22:08 -0400 (EDT)
5+
Received: from localhost (majordom@localhost)
6+
by hub.org (8.8.8/8.8.8) with SMTP id SAA26960;
7+
Fri, 9 Oct 1998 18:18:29 -0400 (EDT)
8+
(envelope-from owner-pgsql-general@hub.org)
9+
Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Fri, 09 Oct 1998 18:18:07 +0000 (EDT)
10+
Received: (from majordom@localhost)
11+
by hub.org (8.8.8/8.8.8) id SAA26917
12+
for pgsql-general-outgoing; Fri, 9 Oct 1998 18:18:04 -0400 (EDT)
13+
(envelope-from owner-pgsql-general@postgreSQL.org)
14+
X-Authentication-Warning: hub.org: majordom set sender to owner-pgsql-general@postgreSQL.org using -f
15+
Received: from gecko.statsol.com (gecko.statsol.com [198.11.51.133])
16+
by hub.org (8.8.8/8.8.8) with ESMTP id SAA26904
17+
for <pgsql-general@postgresql.org>; Fri, 9 Oct 1998 18:17:46 -0400 (EDT)
18+
(envelope-from statsol@statsol.com)
19+
Received: from gecko (gecko [198.11.51.133])
20+
by gecko.statsol.com (8.9.0/8.9.0) with SMTP id SAA00557
21+
for <pgsql-general@postgresql.org>; Fri, 9 Oct 1998 18:18:00 -0400 (EDT)
22+
Date: Fri, 9 Oct 1998 18:18:00 -0400 (EDT)
23+
From: Steve Doliov <statsol@statsol.com>
24+
X-Sender: statsol@gecko
25+
To: pgsql-general@postgreSQL.org
26+
Subject: Re: [GENERAL] Making NULLs visible.
27+
Message-ID: <Pine.GSO.3.96.981009181716.545B-100000@gecko>
28+
MIME-Version: 1.0
29+
Content-Type: TEXT/PLAIN; charset=US-ASCII
30+
Sender: owner-pgsql-general@postgreSQL.org
31+
Precedence: bulk
32+
Status: RO
33+
34+
On Fri, 9 Oct 1998, Bruce Momjian wrote:
35+
36+
> [Charset iso-8859-1 unsupported, filtering to ASCII...]
37+
> > > Yes, \ always outputs as \\, excepts someone changed it last week, and I
38+
> > > am requesting a reversal. Do you like the \N if it is unique?
39+
> >
40+
> > Well, it's certainly clear, but could be confused with \n (newline). Can we
41+
> > have \0 instead?
42+
>
43+
> Yes, but it is uppercase. \0 looks like an octal number to me, and I
44+
> think we even output octals sometimes, don't we?
45+
>
46+
47+
my first suggestion may have been hare-brained, but why not just make the
48+
specifics of the output user-configurable. So if the user chooses \0, so
49+
be it, if the user chooses \N so be it, if the user likes NULL so be it.
50+
but the option would only have one value per database at any given point
51+
in time. so database x could use \N on tuesday and NULL on wednesday, but
52+
database x could never have two references to the characters(s) used to
53+
represent a null value.
54+
55+
steve
56+
57+
58+
59+
60+
From owner-pgsql-general@hub.org Sun Oct 11 17:31:08 1998
61+
Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
62+
by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA20043
63+
for <maillist@candle.pha.pa.us>; Sun, 11 Oct 1998 17:31:02 -0400 (EDT)
64+
Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$ Revision: 1.18 $) with ESMTP id RAA03069 for <maillist@candle.pha.pa.us>; Sun, 11 Oct 1998 17:10:34 -0400 (EDT)
65+
Received: from localhost (majordom@localhost)
66+
by hub.org (8.8.8/8.8.8) with SMTP id QAA10856;
67+
Sun, 11 Oct 1998 16:57:34 -0400 (EDT)
68+
(envelope-from owner-pgsql-general@hub.org)
69+
Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sun, 11 Oct 1998 16:53:35 +0000 (EDT)
70+
Received: (from majordom@localhost)
71+
by hub.org (8.8.8/8.8.8) id QAA10393
72+
for pgsql-general-outgoing; Sun, 11 Oct 1998 16:53:34 -0400 (EDT)
73+
(envelope-from owner-pgsql-general@postgreSQL.org)
74+
X-Authentication-Warning: hub.org: majordom set sender to owner-pgsql-general@postgreSQL.org using -f
75+
Received: from mail1.panix.com (mail1.panix.com [166.84.0.212])
76+
by hub.org (8.8.8/8.8.8) with ESMTP id QAA10378
77+
for <pgsql-general@postgreSQL.org>; Sun, 11 Oct 1998 16:53:28 -0400 (EDT)
78+
(envelope-from tomg@admin.nrnet.org)
79+
Received: from mailhost.nrnet.org (root@mailhost.nrnet.org [166.84.192.39])
80+
by mail1.panix.com (8.8.8/8.8.8/PanixM1.3) with ESMTP id QAA16311
81+
for <pgsql-general@postgreSQL.org>; Sun, 11 Oct 1998 16:53:24 -0400 (EDT)
82+
Received: from admin.nrnet.org (uucp@localhost)
83+
by mailhost.nrnet.org (8.8.7/8.8.4) with UUCP
84+
id QAA16345 for pgsql-general@postgreSQL.org; Sun, 11 Oct 1998 16:28:47 -0400
85+
Received: from localhost (tomg@localhost)
86+
by admin.nrnet.org (8.8.7/8.8.7) with SMTP id QAA11569
87+
for <pgsql-general@postgreSQL.org>; Sun, 11 Oct 1998 16:28:41 -0400
88+
Date: Sun, 11 Oct 1998 16:28:41 -0400 (EDT)
89+
From: Thomas Good <tomg@admin.nrnet.org>
90+
To: pgsql-general@postgreSQL.org
91+
Subject: Re: [GENERAL] Making NULLs visible.
92+
In-Reply-To: <Pine.GSO.3.96.981009181716.545B-100000@gecko>
93+
Message-ID: <Pine.LNX.3.96.981011161908.11556A-100000@admin.nrnet.org>
94+
MIME-Version: 1.0
95+
Content-Type: TEXT/PLAIN; charset=US-ASCII
96+
Sender: owner-pgsql-general@postgreSQL.org
97+
Precedence: bulk
98+
Status: RO
99+
100+
Watching all this go by...as a guy who has to move alot of data
101+
from legacy dbs to postgres, I've gotten used to \N being a null.
102+
103+
My vote, if I were allowed to cast one, would be to have one null
104+
and that would be the COPY command null. I have no difficulty
105+
distinguishing a null from a newline...
106+
107+
At the pgsql command prompt I would find seeing \N rather reassuring.
108+
I've seen alot of these little guys.
109+
110+
---------- Sisters of Charity Medical Center ----------
111+
Department of Psychiatry
112+
----
113+
Thomas Good <tomg@q8.nrnet.org>
114+
Coordinator, North Richmond C.M.H.C. Information Systems
115+
75 Vanderbilt Ave, Quarters 8 Phone: 718-354-5528
116+
Staten Island, NY 10304 Fax: 718-354-5056
117+
118+
119+

0 commit comments

Comments
 (0)