OSDN Git Service

Update TODO list.
authorBruce Momjian <bruce@momjian.us>
Tue, 21 Sep 1999 19:58:01 +0000 (19:58 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 21 Sep 1999 19:58:01 +0000 (19:58 +0000)
22 files changed:
doc/TODO
doc/TODO.detail/alpha
doc/TODO.detail/arrays
doc/TODO.detail/atttypmod [new file with mode: 0644]
doc/TODO.detail/cnfify
doc/TODO.detail/default [new file with mode: 0644]
doc/TODO.detail/flock
doc/TODO.detail/fsync
doc/TODO.detail/function [new file with mode: 0644]
doc/TODO.detail/inherit [new file with mode: 0644]
doc/TODO.detail/like [new file with mode: 0644]
doc/TODO.detail/limit
doc/TODO.detail/logging
doc/TODO.detail/memory
doc/TODO.detail/nulls
doc/TODO.detail/optimizer
doc/TODO.detail/outer
doc/TODO.detail/persistent
doc/TODO.detail/pg_shadow
doc/TODO.detail/primary
doc/TODO.detail/tcl_arrays
doc/TODO.detail/yacc

index 7754afd..f5c4b1f 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,6 +1,6 @@
 TODO list for PostgreSQL
 ========================
-Last updated:          Sat Sep 18 16:37:37 EDT 1999
+Last updated:          Tue Sep 21 15:54:14 EDT 1999
 
 Current maintainer:    Bruce Momjian (maillist@candle.pha.pa.us)
 
@@ -39,6 +39,8 @@ PARSER
   INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
 * CREATE TABLE x AS SELECT 1 UNION SELECT 2 fails
 * CREATE TABLE test(col char(2) DEFAULT user) fails in length restriction
+* mismatched types in CREATE TABLE ... DEFAULT causes problems
+       (see TODO.detail/default)
 * SELECT ... UNION ... ORDER BY fails when sort expr not in result list
 * Be smarter about promoting types when UNION merges different data types
 * SELECT ... UNION ... GROUP BY fails if column types disagree
@@ -128,6 +130,7 @@ INDEXES
 COMMANDS
 
 * ALTER TABLE ADD COLUMN to inherited table put column in wrong place
+       (see TODO.detail/inherit)
 * Add ALTER TABLE DROP/ALTER COLUMN feature
 * Allow CLUSTER on all tables at once, and improve CLUSTER
 * Generate error on CREATE OPERATOR of ~~, ~ and and ~*
@@ -135,9 +138,9 @@ COMMANDS
 * Auto-destroy sequence on DROP of table with SERIAL(Ryan)
 * Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
 * Allow INSERT/UPDATE of system-generated oid value for a row
-* Allow ESCAPE '\' at the end of LIKE for ANSI compliance
+* Allow ESCAPE '\' at the end of LIKE for ANSI compliance(see TODO.detail/like)
 * Rewrite the LIKE handling by rewriting the user string with the 
-  supplied ESCAPE
+  supplied ESCAPE(see TODO.detail/like)
 * Move LIKE index optimization handling to the optimizer
 * Allow RULE recompilation
 * Support UNION/INTERSECT/EXCEPT in sub-selects
@@ -181,7 +184,8 @@ MISC
 * Put sort files, large objects in their own directory
 * Do autocommit so always in a transaction block(?)
 * Show location of syntax error in query (see TODO.detail/yacc)
-* Redesign the function call interface to handle NULLs better(Jan)
+* Redesign the function call interface to handle NULLs better
+       (see TODO.detail/function)
 * Document/trigger/rule so changes to pg_shadow recreate pg_pwd
        (see TODO.detail/pg_shadow)
 * Missing optimizer selectivities for date, r-tree, etc.
@@ -253,7 +257,7 @@ MISC
   allocation(see TODO.detail/memory)
 * fix memory leak in cache code when non-existant table is referenced
 * In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
-* pass atttypmod through parser in more cases(Bruce)
+* pass atttypmod through parser in more cases(see TODO.detail/atttypmod)
 * remove duplicate type in/out functions for disk and net
 * change VACUUM ANALYZE to use btree comparison functions, not <,=,> calls
 * Allow persistent backends(see TODO.detail/persistent)
index 4c2a6d9..cc69cf1 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Fri May 14 16:00:46 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA02173
        for <maillist@candle.pha.pa.us>; Fri, 14 May 1999 16:00:44 -0400 (EDT)
-Received: from hub.org (hub.org [209.167.229.1]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id QAA02824 for <maillist@candle.pha.pa.us>; Fri, 14 May 1999 16:00:45 -0400 (EDT)
+Received: from hub.org (hub.org [209.167.229.1]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id QAA02824 for <maillist@candle.pha.pa.us>; Fri, 14 May 1999 16:00:45 -0400 (EDT)
 Received: from hub.org (hub.org [209.167.229.1])
        by hub.org (8.9.3/8.9.3) with ESMTP id PAA47798;
        Fri, 14 May 1999 15:57:54 -0400 (EDT)
index 5b26694..4600c5c 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Wed Nov 25 19:01:02 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA16399
        for <maillist@candle.pha.pa.us>; Wed, 25 Nov 1998 19:01:01 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id SAA05250 for <maillist@candle.pha.pa.us>; Wed, 25 Nov 1998 18:53:12 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id SAA05250 for <maillist@candle.pha.pa.us>; Wed, 25 Nov 1998 18:53:12 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.9.1) with SMTP id SAA17798;
        Wed, 25 Nov 1998 18:49:38 -0500 (EST)
diff --git a/doc/TODO.detail/atttypmod b/doc/TODO.detail/atttypmod
new file mode 100644 (file)
index 0000000..1527139
--- /dev/null
@@ -0,0 +1,56 @@
+From tgl@sss.pgh.pa.us Sun May 23 12:32:34 1999
+Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA23977
+       for <maillist@candle.pha.pa.us>; Sun, 23 May 1999 12:32:33 -0400 (EDT)
+Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
+       by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id MAA19926;
+       Sun, 23 May 1999 12:32:01 -0400 (EDT)
+To: Bruce Momjian <maillist@candle.pha.pa.us>
+cc: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
+Subject: Re: [HACKERS] DEFAULT fixed 
+In-reply-to: Your message of Sat, 22 May 1999 21:12:19 -0400 (EDT) 
+             <199905230112.VAA13489@candle.pha.pa.us> 
+Date: Sun, 23 May 1999 12:32:01 -0400
+Message-ID: <19923.927477121@sss.pgh.pa.us>
+From: Tom Lane <tgl@sss.pgh.pa.us>
+Status: ROr
+
+Bruce Momjian <maillist@candle.pha.pa.us> writes:
+>> It might be best to just bite the bullet and make the parser carry
+>> around both the type's OID and typmod at all times.
+
+> I will try to add it, but I must not that there are some cases where I
+> don't have access to the atttypmod of the result, so it may not be
+> possible to do it in every case.  Perhaps I should just leave this for
+> post 6.5, because we don't have any other bug reports on it.
+
+After further thought, I think this may be a more difficult and subtle
+issue than we've realized.  In the current state of the system, there
+are many places where you have a value that you can only know the type
+OID for, not atttypmod --- specifically, any intermediate expression
+result.  Barring reworking the entire function-call mechanism to pass
+atttypmod around, that's not going to be possible to change.
+
+The only context where you really know atttypmod is where you have
+just fetched a value out of a table column or are about to store a
+value into a table column.  When storing, you need to be prepared to
+coerce the given value to the right type if *either* type OID or
+atttypmod is different --- but, in general, you don't know atttypmod
+for the given value.  (In the cases I know of, you can deduce it by
+examining the value itself, but this requires type-specific knowledge.)
+
+So on the whole I think this is something that has to be dealt with
+at the point of storing data into a tuple.  Maybe we need a new
+fundamental operation for types that pay attention to atttypmod:
+"make this value match the typmod of the target column, which is
+thus-and-so".  Trying to attack the problem from the source side by
+propagating typmod all around the parser is probably doomed to failure,
+because there will be many contexts where there's no way to know it.
+
+Since you have a fix for the only symptom reported to date, I'm
+inclined to agree that we should leave well enough alone for now;
+there are other, bigger, problems that we need to address for 6.5.
+But I think we'll have to come back to this issue later.
+
+                       regards, tom lane
+
index 75727d5..023d63a 100644 (file)
@@ -364,7 +364,7 @@ From andreas.zeugswetter@telecom.at Mon Aug 31 06:31:13 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id GAA14231
        for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 06:31:12 -0400 (EDT)
-Received: from gandalf.telecom.at (gandalf.telecom.at [194.118.26.84]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id GAA21099 for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 06:23:41 -0400 (EDT)
+Received: from gandalf.telecom.at (gandalf.telecom.at [194.118.26.84]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id GAA21099 for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 06:23:41 -0400 (EDT)
 Received: from zeugswettera.user.lan.at (zeugswettera.user.lan.at [10.4.123.227]) by gandalf.telecom.at (A.B.C.Delta4/8.8.8) with SMTP id MAA38132; Mon, 31 Aug 1998 12:22:07 +0200
 Received: by zeugswettera.user.lan.at with Microsoft Mail
        id <01BDD4DA.C7F5B690@zeugswettera.user.lan.at>; Mon, 31 Aug 1998 12:27:55 +0200
@@ -864,7 +864,7 @@ From bga@mug.org Tue Sep  8 03:39:37 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA06237
        for <maillist@candle.pha.pa.us>; Tue, 8 Sep 1998 03:39:36 -0400 (EDT)
-Received: from bgalli.mug.org (bajor.mug.org [207.158.132.1]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id DAA03648 for <maillist@candle.pha.pa.us>; Tue, 8 Sep 1998 03:38:52 -0400 (EDT)
+Received: from bgalli.mug.org (bajor.mug.org [207.158.132.1]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id DAA03648 for <maillist@candle.pha.pa.us>; Tue, 8 Sep 1998 03:38:52 -0400 (EDT)
 Received: from localhost (bga@localhost) by bgalli.mug.org (8.8.7/SCO5) with SMTP id DAA02895 for <maillist@candle.pha.pa.us>; Tue, 8 Sep 1998 03:31:26 -0400 (EDT)
 Message-Id: <199809080731.DAA02895@bgalli.mug.org>
 X-Authentication-Warning: bgalli.mug.org: bga@localhost didn't use HELO protocol
@@ -930,7 +930,7 @@ From owner-pgsql-general@hub.org Thu Oct  1 14:00:57 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA12443
        for <maillist@candle.pha.pa.us>; Thu, 1 Oct 1998 14:00:56 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA07930 for <maillist@candle.pha.pa.us>; Thu, 1 Oct 1998 13:57:47 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA07930 for <maillist@candle.pha.pa.us>; Thu, 1 Oct 1998 13:57:47 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id NAA26913;
        Thu, 1 Oct 1998 13:56:29 -0400 (EDT)
@@ -1189,7 +1189,7 @@ From owner-pgsql-hackers@hub.org Fri Oct  2 19:28:09 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA23341
        for <maillist@candle.pha.pa.us>; Fri, 2 Oct 1998 19:28:08 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id SAA18003 for <maillist@candle.pha.pa.us>; Fri, 2 Oct 1998 18:21:37 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id SAA18003 for <maillist@candle.pha.pa.us>; Fri, 2 Oct 1998 18:21:37 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id SAA01250;
        Fri, 2 Oct 1998 18:08:02 -0400 (EDT)
@@ -1249,7 +1249,7 @@ From owner-pgsql-hackers@hub.org Sat Oct  3 23:32:35 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA06644
        for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 23:31:13 -0400 (EDT)
-Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id XAA26912 for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 23:14:01 -0400 (EDT)
+Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id XAA26912 for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 23:14:01 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id WAA04407;
        Sat, 3 Oct 1998 22:07:05 -0400 (EDT)
@@ -1337,7 +1337,7 @@ From taral@mail.utexas.edu Sat Oct  3 22:43:41 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA05961
        for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 22:42:18 -0400 (EDT)
-Received: from mail.utexas.edu (wb2-a.mail.utexas.edu [128.83.126.136]) by renoir.op.net (o1/$Revision: 1.3 $) with SMTP id WAA25111 for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 22:27:34 -0400 (EDT)
+Received: from mail.utexas.edu (wb2-a.mail.utexas.edu [128.83.126.136]) by renoir.op.net (o1/$Revision: 1.4 $) with SMTP id WAA25111 for <maillist@candle.pha.pa.us>; Sat, 3 Oct 1998 22:27:34 -0400 (EDT)
 Received: (qmail 25622 invoked by uid 0); 4 Oct 1998 02:26:21 -0000
 Received: from dial-42-9.ots.utexas.edu (HELO taral) (128.83.111.217)
   by umbs-smtp-2 with SMTP; 4 Oct 1998 02:26:21 -0000
@@ -1387,7 +1387,7 @@ From daveh@insightdist.com Mon Nov  9 13:31:07 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA00997
        for <maillist@candle.pha.pa.us>; Mon, 9 Nov 1998 13:31:00 -0500 (EST)
-Received: from u1.abs.net (root@u1.abs.net [207.114.0.131]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA26657 for <maillist@candle.pha.pa.us>; Mon, 9 Nov 1998 13:10:14 -0500 (EST)
+Received: from u1.abs.net (root@u1.abs.net [207.114.0.131]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA26657 for <maillist@candle.pha.pa.us>; Mon, 9 Nov 1998 13:10:14 -0500 (EST)
 Received: from insightdist.com (nobody@localhost)
        by u1.abs.net (8.9.0/8.9.0) with UUCP id MAA17710
        for maillist@candle.pha.pa.us; Mon, 9 Nov 1998 12:52:05 -0500 (EST)
diff --git a/doc/TODO.detail/default b/doc/TODO.detail/default
new file mode 100644 (file)
index 0000000..41d6627
--- /dev/null
@@ -0,0 +1,59 @@
+From tgl@sss.pgh.pa.us Sun May 23 18:59:22 1999
+Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA08491
+       for <maillist@candle.pha.pa.us>; Sun, 23 May 1999 18:59:21 -0400 (EDT)
+Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
+       by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id SAA27952;
+       Sun, 23 May 1999 18:58:53 -0400 (EDT)
+To: Bruce Momjian <maillist@candle.pha.pa.us>
+cc: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
+Subject: Re: [HACKERS] DEFAULT fixed 
+In-reply-to: Your message of Sat, 22 May 1999 21:12:19 -0400 (EDT) 
+             <199905230112.VAA13489@candle.pha.pa.us> 
+Date: Sun, 23 May 1999 18:58:52 -0400
+Message-ID: <27950.927500332@sss.pgh.pa.us>
+From: Tom Lane <tgl@sss.pgh.pa.us>
+Status: ROr
+
+Actually, it's not as fixed as all that...
+
+create table foo1 (a char(5) default '', b int4);
+insert into foo1 (b) values (334);
+select * from foo1;
+a    |  b
+-----+---
+     |334
+(1 row)
+
+Good, the basic case is fixed, but:
+
+create table foo2 (a char(5) default text '', b int4);
+insert into foo2 (b) values (334);
+select * from foo2;
+a| b
+-+--
+ |16
+(1 row)
+
+Ooops.
+
+What you seem to have done is twiddle the handling of DEFAULT clauses
+so that the value stored for the default expression is pre-coerced to the
+column type.  That's good as far as it goes, but it fails in cases where
+the stored value has to be of a different type.
+
+My guess is that what *really* ought to happen here is that
+transformInsertStmt should check the type of the value it's gotten from
+the default clause and apply coerce_type if necessary.
+
+Unless someone can come up with a less artificial example than the one
+above, I'm inclined to leave it alone for 6.5.  This is the same code
+area that will have to be redone to fix the INSERT ... SELECT problem
+I was chasing earlier today: coercion of the values produced by SELECT
+will have to wait until the tail end of transformInsertStmt, and we
+might as well make wrong-type default constants get fixed in the same
+place.  So I'm not eager to write some throwaway code to patch a problem
+that no one is likely to see in practice.  What's your feeling about it?
+
+                       regards, tom lane
+
index 6a6255d..c03f082 100644 (file)
@@ -118,7 +118,7 @@ From owner-pgsql-hackers@hub.org Sun Aug 30 13:01:10 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id NAA13785
        for <maillist@candle.pha.pa.us>; Sun, 30 Aug 1998 13:01:09 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA29386 for <maillist@candle.pha.pa.us>; Sun, 30 Aug 1998 12:58:24 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA29386 for <maillist@candle.pha.pa.us>; Sun, 30 Aug 1998 12:58:24 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id MAA11406; Sun, 30 Aug 1998 12:54:48 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sun, 30 Aug 1998 12:52:22 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id MAA11310 for pgsql-hackers-outgoing; Sun, 30 Aug 1998 12:52:20 -0400 (EDT)
@@ -278,7 +278,7 @@ From owner-pgsql-hackers@hub.org Mon Aug 31 11:31:19 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id LAA21195
        for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 11:31:13 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id LAA06827 for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 11:17:41 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id LAA06827 for <maillist@candle.pha.pa.us>; Mon, 31 Aug 1998 11:17:41 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id LAA24792; Mon, 31 Aug 1998 11:12:18 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Mon, 31 Aug 1998 11:10:31 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id LAA24742 for pgsql-hackers-outgoing; Mon, 31 Aug 1998 11:10:29 -0400 (EDT)
index aaa8d83..2b8293b 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-general@hub.org Fri Dec 18 06:31:23 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id GAA05554
        for <maillist@candle.pha.pa.us>; Fri, 18 Dec 1998 06:31:21 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id EAA21127 for <maillist@candle.pha.pa.us>; Fri, 18 Dec 1998 04:46:38 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id EAA21127 for <maillist@candle.pha.pa.us>; Fri, 18 Dec 1998 04:46:38 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.9.1) with SMTP id EAA01409;
        Fri, 18 Dec 1998 04:44:19 -0500 (EST)
diff --git a/doc/TODO.detail/function b/doc/TODO.detail/function
new file mode 100644 (file)
index 0000000..7ed6fa7
--- /dev/null
@@ -0,0 +1,97 @@
+From tgl@sss.pgh.pa.us Mon Jun 14 20:50:41 1999
+Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA19110
+       for <maillist@candle.pha.pa.us>; Mon, 14 Jun 1999 20:50:39 -0400 (EDT)
+Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
+       by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id UAA21506;
+       Mon, 14 Jun 1999 20:51:07 -0400 (EDT)
+To: Bruce Momjian <maillist@candle.pha.pa.us>
+cc: Roman.Hodek@informatik.uni-erlangen.de, olly@lfix.co.uk,
+        PostgreSQL-development <pgsql-hackers@postgreSQL.org>
+Subject: Cleaning up function interface (was Re: Patch for m68k architecture)
+In-reply-to: Your message of Mon, 14 Jun 1999 17:53:25 -0400 (EDT) 
+             <199906142153.RAA16276@candle.pha.pa.us> 
+Date: Mon, 14 Jun 1999 20:51:06 -0400
+Message-ID: <21504.929407866@sss.pgh.pa.us>
+From: Tom Lane <tgl@sss.pgh.pa.us>
+Status: RO
+
+Bruce Momjian <maillist@candle.pha.pa.us> writes:
+>> ANSI C says results are undefined if you call a function via pointer
+>> and the pointer is declared to return another type than the function
+>> actually returns. So m68k compilers conform to the standard here.
+
+> Yes, we admit that we break the standard with fmgr_ptr, because we
+> return a variety of values depending on what function they call.  It
+> appears the egcs optimization on the powerpc or alpha cause a problem
+> when optimization is -O2, but not -O.  We may see more platforms with
+> problems as optimizers get smarter.
+
+Seeing as how we also know that the function-call interface ought to be
+redesigned to handle NULLs better, maybe we should just bite the bullet
+and fix all of these problems at once by adopting a new standard
+interface for everything that can be called via fmgr.  It'd uglify the
+code, no doubt, but I think we are starting to see an accumulation of
+problems that justify doing something.
+
+Here is a straw-man proposal:
+
+        Datum function (bool  *resultnull,
+                        Datum *args,
+                        bool  *argnull,
+                        int    nargs)
+
+args[i] is the i'th parameter, or undefined (perhaps always 0?)
+when argnull[i] is true.  The function is responsible for setting
+*resultnull, and returns a Datum value if *resultnull is false.
+Most standard functions could ignore nargs since they'd know what it
+should be, but we ought to pass it for flexibility.
+
+A useful addition to this scheme would be for fmgr to preset *resultnull
+to the OR of the input argnull[] array just before calling the function.
+In the typical case where the function is "strict" (ie, result is NULL
+if any input is NULL), this would save the function from having to look
+at argnull[] at all; it'd just check *resultnull and immediately return
+if true.
+
+As an example, int4 addition goes from
+
+int32
+int4pl(int32 arg1, int32 arg2)
+{
+    return arg1 + arg2;
+}
+
+to
+
+Datum
+int4pl (bool *resultnull, Datum *args, bool *argnull, int nargs)
+{
+    if (*resultnull)
+        return (Datum) 0;        /* value doesn't really matter ... */
+    /* we can ignore argnull and nargs */
+
+    return Int32GetDatum(DatumGetInt32(args[0]) + DatumGetInt32(args[1]));
+}
+
+This is, of course, much uglier than the existing code, but we might be
+able to improve matters with some well-chosen macros for the boilerplate
+parts.  What we actually end up writing might look something like
+
+Datum
+int4pl (PG_FUNCTION_ARGS)
+{
+    PG_STRICT_FUNCTION(                        /* encapsulates null check */
+        PG_ARG0_INT32;
+        PG_ARG1_INT32;
+
+       PG_RESULT_INT32( arg0 + arg1 );
+    );
+}
+
+where the macros expand to things like "int32 arg0 = DatumGetInt32(args[0])"
+and "return Int32GetDatum( x )".  It'd be worth a little thought to
+try to set up a group of macros like that, I think.
+
+                       regards, tom lane
+
diff --git a/doc/TODO.detail/inherit b/doc/TODO.detail/inherit
new file mode 100644 (file)
index 0000000..c77ba11
--- /dev/null
@@ -0,0 +1,66 @@
+From owner-pgsql-hackers@hub.org Tue Jun  1 22:31:18 1999
+Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id WAA09988
+       for <maillist@candle.pha.pa.us>; Tue, 1 Jun 1999 22:31:17 -0400 (EDT)
+Received: from hub.org (hub.org [209.167.229.1]) by renoir.op.net (o1/$Revision: 1.1 $) with ESMTP id WAA18944 for <maillist@candle.pha.pa.us>; Tue, 1 Jun 1999 22:08:09 -0400 (EDT)
+Received: from hub.org (hub.org [209.167.229.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id WAA75604;
+       Tue, 1 Jun 1999 22:01:31 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 01 Jun 1999 22:01:11 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id WAA75519
+       for pgsql-hackers-outgoing; Tue, 1 Jun 1999 22:01:09 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+X-Authentication-Warning: hub.org: majordom set sender to owner-pgsql-hackers@postgreSQL.org using -f
+Received: from localhost.localdomain (h246.ozemail2.ozemail.com.au [203.108.14.246])
+       by hub.org (8.9.3/8.9.3) with ESMTP id WAA75452
+       for <pgsql-hackers@hub.org>; Tue, 1 Jun 1999 22:00:50 -0400 (EDT)
+       (envelope-from chris.bitmead@bigfoot.com)
+Received: from bigfoot.com (localhost [127.0.0.1])
+       by localhost.localdomain (8.8.7/8.8.7) with ESMTP id KAA04059
+       for <pgsql-hackers@hub.org>; Wed, 2 Jun 1999 10:50:11 +1000
+Message-ID: <37547FC3.40106A5E@bigfoot.com>
+Date: Wed, 02 Jun 1999 10:50:11 +1000
+From: Chris Bitmead <chris.bitmead@bigfoot.com>
+X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.6 i686)
+X-Accept-Language: en
+MIME-Version: 1.0
+To: pgsql-hackers@hub.org
+Subject: Re: [HACKERS] ALTER TABLE ADD COLUMN
+References: <199906011436.KAA23479@candle.pha.pa.us>
+Content-Type: text/plain; charset=us-ascii
+Content-Transfer-Encoding: 7bit
+Sender: owner-pgsql-hackers@postgreSQL.org
+Precedence: bulk
+Status: RO
+
+Bruce Momjian wrote:
+
+> Our TODO now has:
+> 
+>         * ALTER TABLE ADD COLUMN to inherited table put column in wrong place
+> 
+> I don't think any of us understand the issues on this one.
+
+Let me guess at the problem. When you add a column, it doesn't change
+all the records, therefore the column must be added at the end. This
+means that the columns will not be in the same order as if you had
+created them from scratch.
+
+There seem to be three solutions:
+a) Go to a much more sophisticated schema system, with versions and
+version numbers (fairly hard but desirable to fix other schema change
+problems). Then insert the column in the position it is supposed to be
+in.
+
+b) Fix the copy command to input and output the columns, not in the
+order they are in, but in the order they would be in on re-creation.
+
+c) make the copy command take arguments specifying the field names, like
+INSERT can do.
+
+I think it would be good if Postgres had all 3 features. Probably (b) is
+the least work.
+
+
diff --git a/doc/TODO.detail/like b/doc/TODO.detail/like
new file mode 100644 (file)
index 0000000..b8f0e8a
--- /dev/null
@@ -0,0 +1,49 @@
+From zalman@netcom.com Tue Mar 16 18:01:18 1999
+Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA24313
+       for <maillist@candle.pha.pa.us>; Tue, 16 Mar 1999 18:01:17 -0500 (EST)
+Received: from netcom15.netcom.com (zalman@netcom15.netcom.com [192.100.81.128]) by renoir.op.net (o1/$Revision: 1.1 $) with ESMTP id RAA15235 for <maillist@candle.pha.pa.us>; Tue, 16 Mar 1999 17:56:56 -0500 (EST)
+Received: (from zalman@localhost)
+       by netcom15.netcom.com (8.8.5-r-beta/8.8.5/(NETCOM v1.02)) id OAA28174;
+       Tue, 16 Mar 1999 14:55:33 -0800 (PST)
+From: Zalman Stern <zalman@netcom.com>
+Message-Id: <199903162255.OAA28174@netcom15.netcom.com>
+Subject: Re: [SQL] How match percent sign in SELECT using LIKE?
+To: maillist@candle.pha.pa.us (Bruce Momjian)
+Date: Tue, 16 Mar 1999 14:55:33 -0800 (PST)
+Cc: zalman@netcom.com, herouth@oumail.openu.ac.il, pgsql-sql@postgreSQL.org
+In-Reply-To: <199903162226.RAA20904@candle.pha.pa.us> from "Bruce Momjian" at Mar 16, 99 05:26:09 pm
+X-Mailer: ELM [version 2.4 PL25]
+MIME-Version: 1.0
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: 7bit
+Status: ROr
+
+Bruce Momjian wrote:
+> That is also an excellent idea.  Just convert their escape to \ inside
+> the parser.  Of course, they still have to use \\ to get a \, as in any
+> string.  Great idea.
+
+You can even make it fully compliant if you want. (There are of course
+backward compatibility problems. I'm not sure what the Postgres policy is
+on this.)
+
+- If the escape character is backslash, do nothing.
+- Otherwise, turn all backslashes in the string to double backslashes.
+- If the escape character is not set, stop here.
+- Turn all occurences of the escape character into a backslash except
+  where the escape character is doubled, where it should be made into a
+  single occurence.
+(Optionally, if "\n" is just an 'n' character, you can handle double
+occurences of the escape character by turning the first one into a
+backslash.)
+
+Probably the best bet for PostgreSQL programmers is to always code Like
+clauses with an ESCAPE '\' (or however its written).
+
+I really wish they'd chosen a character other than underscore for the
+"match one" wildcard... Is there any standard practice for seperating words
+in table names?
+
+-Z-
+
index 7be7abc..5b8ecfe 100644 (file)
@@ -301,7 +301,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 09:01:01 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id JAA24574
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 09:01:00 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id HAA17762 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 07:47:57 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id HAA17762 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 07:47:57 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id HAA09214;
        Wed, 14 Oct 1998 07:04:59 -0400 (EDT)
@@ -485,7 +485,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 11:02:04 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA25519
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 11:02:02 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id JAA24583 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 09:46:21 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id JAA24583 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 09:46:21 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id IAA17022;
        Wed, 14 Oct 1998 08:59:20 -0400 (EDT)
@@ -599,7 +599,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 11:02:00 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA25510
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 11:01:59 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id KAA28854 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 10:40:56 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id KAA28854 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 10:40:56 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id KAA21542;
        Wed, 14 Oct 1998 10:03:45 -0400 (EDT)
@@ -665,7 +665,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 11:01:52 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA25504
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 11:01:51 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id KAA00198 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 10:57:15 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id KAA00198 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 10:57:15 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id KAA22877;
        Wed, 14 Oct 1998 10:19:47 -0400 (EDT)
@@ -893,7 +893,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 13:55:58 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA29300
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:55:56 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA14245 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:49:19 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA14245 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:49:19 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id NAA13110;
        Wed, 14 Oct 1998 13:25:55 -0400 (EDT)
@@ -983,7 +983,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 13:55:59 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA29303
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:55:58 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA13463 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:39:05 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA13463 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:39:05 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id NAA11655;
        Wed, 14 Oct 1998 13:13:32 -0400 (EDT)
@@ -1119,7 +1119,7 @@ From wieck@sapserv.debis.de Wed Oct 14 13:55:53 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA29290
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:55:51 -0400 (EDT)
-Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA14370 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:51:19 -0400 (EDT)
+Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA14370 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 13:51:19 -0400 (EDT)
 Received: by dsh.de; id TAA03418; Wed, 14 Oct 1998 19:50:18 +0200 (MET DST)
 Received: from dshmail.dsh.de(53.47.15.3) by neptun.dsh.de via smap (3.2)
        id xma003369; Wed, 14 Oct 98 19:49:51 +0200
@@ -1186,7 +1186,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 16:31:07 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA01119
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 16:31:05 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id PAA22534 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 15:29:50 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id PAA22534 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 15:29:50 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id PAA26335;
        Wed, 14 Oct 1998 15:05:26 -0400 (EDT)
@@ -1357,7 +1357,7 @@ From owner-pgsql-hackers@hub.org Wed Oct 14 17:31:23 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA01591
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:31:21 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id RAA02744 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:26:53 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id RAA02744 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:26:53 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id RAA05601;
        Wed, 14 Oct 1998 17:03:21 -0400 (EDT)
@@ -1492,7 +1492,7 @@ From owner-pgsql-hackers@hub.org Thu Oct 15 00:01:10 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id AAA06040
        for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 00:01:04 -0400 (EDT)
-Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id XAA29020 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 23:57:58 -0400 (EDT)
+Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id XAA29020 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 23:57:58 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id WAA02215;
        Wed, 14 Oct 1998 22:39:07 -0400 (EDT)
@@ -1570,7 +1570,7 @@ From owner-pgsql-hackers@hub.org Thu Oct 15 10:01:17 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA13960
        for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 10:01:15 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id JAA20266 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 09:12:21 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id JAA20266 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 09:12:21 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id IAA26142;
        Thu, 15 Oct 1998 08:19:49 -0400 (EDT)
@@ -1703,7 +1703,7 @@ From owner-pgsql-hackers@hub.org Thu Oct 15 14:32:34 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA19803
        for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 14:32:31 -0400 (EDT)
-Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA10847 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 13:38:16 -0400 (EDT)
+Received: from hub.org (root@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA10847 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 13:38:16 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id MAA22772;
        Thu, 15 Oct 1998 12:07:20 -0400 (EDT)
@@ -1982,7 +1982,7 @@ From Inoue@tpf.co.jp Thu Oct 15 20:31:01 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA26050
        for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 20:31:00 -0400 (EDT)
-Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id UAA12888 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 20:10:03 -0400 (EDT)
+Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id UAA12888 for <maillist@candle.pha.pa.us>; Thu, 15 Oct 1998 20:10:03 -0400 (EDT)
 Received: from cadzone ([126.0.1.40])
           by sd.tpf.co.jp (2.0 Build 2131 (Berkeley 8.8.4)/8.8.4) with SMTP
    id JAA02574; Fri, 16 Oct 1998 09:00:34 +0900
@@ -2061,7 +2061,7 @@ From owner-pgsql-hackers@hub.org Fri Oct 16 04:01:07 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id EAA02029
        for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 04:01:04 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id DAA05509 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 03:43:53 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id DAA05509 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 03:43:53 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id CAA11278;
        Fri, 16 Oct 1998 02:00:01 -0400 (EDT)
@@ -2304,7 +2304,7 @@ From Inoue@tpf.co.jp Fri Oct 16 03:31:02 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA01767
        for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 03:31:00 -0400 (EDT)
-Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id DAA04551 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 03:13:40 -0400 (EDT)
+Received: from sd.tpf.co.jp (sd.tpf.co.jp [210.161.239.34]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id DAA04551 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 03:13:40 -0400 (EDT)
 Received: from cadzone ([126.0.1.40])
           by sd.tpf.co.jp (2.0 Build 2131 (Berkeley 8.8.4)/8.8.4) with SMTP
    id QAA02680; Fri, 16 Oct 1998 16:04:09 +0900
@@ -2417,7 +2417,7 @@ From wieck@sapserv.debis.de Fri Oct 16 05:01:03 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id FAA02500
        for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 05:01:02 -0400 (EDT)
-Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id EAA06270 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 04:13:59 -0400 (EDT)
+Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id EAA06270 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 04:13:59 -0400 (EDT)
 Received: by dsh.de; id KAA11635; Fri, 16 Oct 1998 10:12:45 +0200 (MET DST)
 Received: from dshmail.dsh.de(53.47.15.3) by neptun.dsh.de via smap (3.2)
        id xma011343; Fri, 16 Oct 98 10:12:15 +0200
@@ -2493,7 +2493,7 @@ From owner-pgsql-hackers@hub.org Fri Oct 16 12:02:27 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA13063
        for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 12:02:23 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA18435 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 12:01:46 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA18435 for <maillist@candle.pha.pa.us>; Fri, 16 Oct 1998 12:01:46 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id LAA24469;
        Fri, 16 Oct 1998 11:28:54 -0400 (EDT)
@@ -2702,7 +2702,7 @@ From oleg@sai.msu.su Sun Oct 18 14:01:49 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA01739
        for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 14:01:48 -0400 (EDT)
-Received: from ra.sai.msu.su (ra.sai.msu.su [158.250.29.2]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA23532 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 13:51:14 -0400 (EDT)
+Received: from ra.sai.msu.su (ra.sai.msu.su [158.250.29.2]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA23532 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 13:51:14 -0400 (EDT)
 Received: from ra (ra [158.250.29.2])
        by ra.sai.msu.su (8.9.1/8.9.1) with SMTP id UAA17832;
        Sun, 18 Oct 1998 20:45:25 +0300 (MSK)
@@ -2773,7 +2773,7 @@ From owner-pgsql-hackers@hub.org Sun Oct 18 14:31:12 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id OAA02288
        for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 14:31:10 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id OAA24844 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 14:15:35 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id OAA24844 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 14:15:35 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id OAA26655;
        Sun, 18 Oct 1998 14:00:03 -0400 (EDT)
@@ -2949,7 +2949,7 @@ From owner-pgsql-hackers@hub.org Sun Oct 18 19:08:47 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA00573
        for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 19:08:46 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id QAA01305 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 16:14:30 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id QAA01305 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 16:14:30 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id PAA06110;
        Sun, 18 Oct 1998 15:55:20 -0400 (EDT)
@@ -3045,7 +3045,7 @@ From owner-pgsql-hackers@hub.org Sun Oct 18 19:08:39 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA00557
        for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 19:08:37 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id QAA03555 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 16:56:03 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id QAA03555 for <maillist@candle.pha.pa.us>; Sun, 18 Oct 1998 16:56:03 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id QAA10374;
        Sun, 18 Oct 1998 16:36:26 -0400 (EDT)
@@ -3261,7 +3261,7 @@ From owner-pgsql-hackers@hub.org Mon Oct 19 07:31:10 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id HAA05591
        for <maillist@candle.pha.pa.us>; Mon, 19 Oct 1998 07:31:09 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id HAA13574 for <maillist@candle.pha.pa.us>; Mon, 19 Oct 1998 07:12:57 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id HAA13574 for <maillist@candle.pha.pa.us>; Mon, 19 Oct 1998 07:12:57 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id GAA13957;
        Mon, 19 Oct 1998 06:25:09 -0400 (EDT)
@@ -3344,7 +3344,7 @@ From owner-pgsql-hackers@hub.org Tue Oct 20 06:01:49 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id GAA02483
        for <maillist@candle.pha.pa.us>; Tue, 20 Oct 1998 06:01:48 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id FAA07799 for <maillist@candle.pha.pa.us>; Tue, 20 Oct 1998 05:51:19 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id FAA07799 for <maillist@candle.pha.pa.us>; Tue, 20 Oct 1998 05:51:19 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id FAA00108;
        Tue, 20 Oct 1998 05:17:58 -0400 (EDT)
@@ -3936,7 +3936,7 @@ From owner-pgsql-hackers@hub.org Thu Oct 22 11:33:41 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA01724
        for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 11:33:31 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id LAA12702 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 11:25:02 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id LAA12702 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 11:25:02 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.8.8) with SMTP id KAA11023;
        Thu, 22 Oct 1998 10:22:13 -0400 (EDT)
@@ -4089,7 +4089,7 @@ From wieck@sapserv.debis.de Thu Oct 22 11:01:05 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA21185
        for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 11:01:00 -0400 (EDT)
-Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id KAA09646 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 10:44:36 -0400 (EDT)
+Received: from dsh.de (firewall-user@neptun.sns-felb.debis.de [53.122.101.2]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id KAA09646 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 10:44:36 -0400 (EDT)
 Received: by dsh.de; id QAA19394; Thu, 22 Oct 1998 16:43:42 +0200 (MET DST)
 Received: from dshmail.dsh.de(53.47.15.3) by neptun.dsh.de via smap (3.2)
        id xma017268; Thu, 22 Oct 98 16:39:44 +0200
@@ -4891,7 +4891,7 @@ From owner-pgsql-hackers@hub.org Thu Oct 22 13:12:34 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA01350
        for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 13:12:29 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA17808 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 12:35:22 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA17808 for <maillist@candle.pha.pa.us>; Thu, 22 Oct 1998 12:35:22 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.8.8) with SMTP id KAA14887;
        Thu, 22 Oct 1998 10:49:09 -0400 (EDT)
index e4f9b22..b450e72 100644 (file)
@@ -93,7 +93,7 @@ From owner-pgsql-hackers@hub.org Wed Dec 16 15:46:41 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id PAA00521
        for <maillist@candle.pha.pa.us>; Wed, 16 Dec 1998 15:46:40 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id PAA08772 for <maillist@candle.pha.pa.us>; Wed, 16 Dec 1998 15:10:01 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id PAA08772 for <maillist@candle.pha.pa.us>; Wed, 16 Dec 1998 15:10:01 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.9.1) with SMTP id PAA01254;
        Wed, 16 Dec 1998 15:06:56 -0500 (EST)
index c7199ea..afae0eb 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Thu Nov 26 08:31:13 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id IAA24423
        for <maillist@candle.pha.pa.us>; Thu, 26 Nov 1998 08:31:08 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id IAA04554 for <maillist@candle.pha.pa.us>; Thu, 26 Nov 1998 08:04:30 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id IAA04554 for <maillist@candle.pha.pa.us>; Thu, 26 Nov 1998 08:04:30 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.1/8.9.1) with SMTP id HAA03761;
        Thu, 26 Nov 1998 07:56:37 -0500 (EST)
@@ -758,7 +758,7 @@ From owner-pgsql-hackers@hub.org Sat Mar 20 12:01:44 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA24855
        for <maillist@candle.pha.pa.us>; Sat, 20 Mar 1999 12:01:43 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id LAA11985 for <maillist@candle.pha.pa.us>; Sat, 20 Mar 1999 11:58:48 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id LAA11985 for <maillist@candle.pha.pa.us>; Sat, 20 Mar 1999 11:58:48 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id LAA12367;
        Sat, 20 Mar 1999 11:57:17 -0500 (EST)
@@ -835,7 +835,7 @@ From tgl@sss.pgh.pa.us Sun Mar 21 16:01:46 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA00139
        for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 16:01:45 -0500 (EST)
-Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id PAA27737 for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 15:52:38 -0500 (EST)
+Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id PAA27737 for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 15:52:38 -0500 (EST)
 Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
        by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id PAA14946;
        Sun, 21 Mar 1999 15:50:20 -0500 (EST)
@@ -925,7 +925,7 @@ From owner-pgsql-hackers@hub.org Sun Mar 21 16:01:49 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id QAA00149
        for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 16:01:48 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id PAA27950 for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 15:56:07 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id PAA27950 for <maillist@candle.pha.pa.us>; Sun, 21 Mar 1999 15:56:07 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id PAA39413;
        Sun, 21 Mar 1999 15:54:51 -0500 (EST)
@@ -1031,7 +1031,7 @@ From owner-pgsql-hackers@hub.org Wed Mar 24 19:10:53 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id TAA00906
        for <maillist@candle.pha.pa.us>; Wed, 24 Mar 1999 19:10:52 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA24258 for <maillist@candle.pha.pa.us>; Wed, 24 Mar 1999 13:09:47 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA24258 for <maillist@candle.pha.pa.us>; Wed, 24 Mar 1999 13:09:47 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id NAA60743;
        Wed, 24 Mar 1999 13:07:26 -0500 (EST)
index 63c7b2a..968f315 100644 (file)
@@ -61,7 +61,7 @@ From owner-pgsql-general@hub.org Sun Oct 11 17:31:08 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA20043
        for <maillist@candle.pha.pa.us>; Sun, 11 Oct 1998 17:31:02 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id RAA03069 for <maillist@candle.pha.pa.us>; Sun, 11 Oct 1998 17:10:34 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id RAA03069 for <maillist@candle.pha.pa.us>; Sun, 11 Oct 1998 17:10:34 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id QAA10856;
        Sun, 11 Oct 1998 16:57:34 -0400 (EDT)
index b24c22d..1a93a88 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Mon Mar 22 18:43:41 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA23978
        for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 18:43:39 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id SAA06472 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 18:36:44 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id SAA06472 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 18:36:44 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id SAA92604;
        Mon, 22 Mar 1999 18:34:23 -0500 (EST)
@@ -228,7 +228,7 @@ From owner-pgsql-hackers@hub.org Mon Mar 22 20:31:11 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id UAA00802
        for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 20:31:09 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id UAA13231 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 20:15:20 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id UAA13231 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 20:15:20 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id UAA01981;
        Mon, 22 Mar 1999 20:14:04 -0500 (EST)
@@ -335,7 +335,7 @@ From owner-pgsql-hackers@hub.org Mon Mar 22 23:31:00 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id XAA03384
        for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 23:30:58 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id XAA25586 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 23:18:25 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id XAA25586 for <maillist@candle.pha.pa.us>; Mon, 22 Mar 1999 23:18:25 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id XAA17955;
        Mon, 22 Mar 1999 23:17:24 -0500 (EST)
@@ -725,7 +725,7 @@ From owner-pgsql-hackers@hub.org Tue Mar 23 12:31:05 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA17491
        for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:31:04 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA08839 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:08:14 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA08839 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:08:14 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id MAA93649;
        Tue, 23 Mar 1999 12:04:57 -0500 (EST)
@@ -881,7 +881,7 @@ From tgl@sss.pgh.pa.us Tue Mar 23 12:31:02 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA17484
        for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:31:01 -0500 (EST)
-Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA09042 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:10:55 -0500 (EST)
+Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [206.210.65.6]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA09042 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:10:55 -0500 (EST)
 Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1])
        by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id MAA24474;
        Tue, 23 Mar 1999 12:09:52 -0500 (EST)
@@ -927,7 +927,7 @@ From owner-pgsql-hackers@hub.org Tue Mar 23 12:31:03 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id MAA17488
        for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:31:02 -0500 (EST)
-Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA09987 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:21:34 -0500 (EST)
+Received: from hub.org (majordom@hub.org [209.47.145.100]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA09987 for <maillist@candle.pha.pa.us>; Tue, 23 Mar 1999 12:21:34 -0500 (EST)
 Received: from localhost (majordom@localhost)
        by hub.org (8.9.2/8.9.1) with SMTP id MAA95155;
        Tue, 23 Mar 1999 12:18:33 -0500 (EST)
index a7b593c..70d310b 100644 (file)
@@ -2,7 +2,7 @@ From lockhart@alumni.caltech.edu Thu Jan  7 13:31:08 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA07771
        for <maillist@candle.pha.pa.us>; Thu, 7 Jan 1999 13:31:06 -0500 (EST)
-Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id NAA14597 for <maillist@candle.pha.pa.us>; Thu, 7 Jan 1999 13:27:37 -0500 (EST)
+Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id NAA14597 for <maillist@candle.pha.pa.us>; Thu, 7 Jan 1999 13:27:37 -0500 (EST)
 Received: from alumni.caltech.edu (localhost [127.0.0.1])
        by golem.jpl.nasa.gov (8.8.5/8.8.5) with ESMTP id SAA13416;
        Thu, 7 Jan 1999 18:26:56 GMT
@@ -71,7 +71,7 @@ From lockhart@alumni.caltech.edu Mon Feb 22 02:01:13 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id CAA22073
        for <maillist@candle.pha.pa.us>; Mon, 22 Feb 1999 02:01:12 -0500 (EST)
-Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id BAA26054 for <maillist@candle.pha.pa.us>; Mon, 22 Feb 1999 01:57:00 -0500 (EST)
+Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id BAA26054 for <maillist@candle.pha.pa.us>; Mon, 22 Feb 1999 01:57:00 -0500 (EST)
 Received: from alumni.caltech.edu (localhost [127.0.0.1])
        by golem.jpl.nasa.gov (8.8.5/8.8.5) with ESMTP id GAA04715;
        Mon, 22 Feb 1999 06:56:36 GMT
@@ -157,7 +157,7 @@ From lockhart@alumni.caltech.edu Mon Mar  1 13:01:08 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id NAA21672
        for <maillist@candle.pha.pa.us>; Mon, 1 Mar 1999 13:01:06 -0500 (EST)
-Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id MAA12756 for <maillist@candle.pha.pa.us>; Mon, 1 Mar 1999 12:14:16 -0500 (EST)
+Received: from golem.jpl.nasa.gov (IDENT:root@hectic-2.jpl.nasa.gov [128.149.68.204]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id MAA12756 for <maillist@candle.pha.pa.us>; Mon, 1 Mar 1999 12:14:16 -0500 (EST)
 Received: from alumni.caltech.edu (localhost [127.0.0.1])
        by golem.jpl.nasa.gov (8.8.5/8.8.5) with ESMTP id RAA09406;
        Mon, 1 Mar 1999 17:10:49 GMT
@@ -191,7 +191,7 @@ From lockhart@alumni.caltech.edu Mon Mar  8 21:55:02 1999
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id VAA15978
        for <maillist@candle.pha.pa.us>; Mon, 8 Mar 1999 21:54:57 -0500 (EST)
-Received: from golem.jpl.nasa.gov (IDENT:root@hectic-1.jpl.nasa.gov [128.149.68.203]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id VAA15837 for <maillist@candle.pha.pa.us>; Mon, 8 Mar 1999 21:48:33 -0500 (EST)
+Received: from golem.jpl.nasa.gov (IDENT:root@hectic-1.jpl.nasa.gov [128.149.68.203]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id VAA15837 for <maillist@candle.pha.pa.us>; Mon, 8 Mar 1999 21:48:33 -0500 (EST)
 Received: from alumni.caltech.edu (localhost [127.0.0.1])
        by golem.jpl.nasa.gov (8.8.5/8.8.5) with ESMTP id CAA06996;
        Tue, 9 Mar 1999 02:46:40 GMT
index 806df35..0ea7b8b 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Mon May 11 11:31:09 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id LAA03006
        for <maillist@candle.pha.pa.us>; Mon, 11 May 1998 11:31:07 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id LAA01663 for <maillist@candle.pha.pa.us>; Mon, 11 May 1998 11:24:42 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id LAA01663 for <maillist@candle.pha.pa.us>; Mon, 11 May 1998 11:24:42 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id LAA21841; Mon, 11 May 1998 11:15:25 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Mon, 11 May 1998 11:15:12 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id LAA21683 for pgsql-hackers-outgoing; Mon, 11 May 1998 11:15:09 -0400 (EDT)
index 9613369..1804c5f 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Sun Aug  2 20:01:13 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id UAA15937
        for <maillist@candle.pha.pa.us>; Sun, 2 Aug 1998 20:01:11 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id TAA01026 for <maillist@candle.pha.pa.us>; Sun, 2 Aug 1998 19:33:53 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id TAA01026 for <maillist@candle.pha.pa.us>; Sun, 2 Aug 1998 19:33:53 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id TAA19878; Sun, 2 Aug 1998 19:30:59 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sun, 02 Aug 1998 19:28:23 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id TAA19534 for pgsql-hackers-outgoing; Sun, 2 Aug 1998 19:28:22 -0400 (EDT)
index 9492dbb..ee01c0f 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-hackers@hub.org Fri Sep  4 00:47:06 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id AAA01047
        for <maillist@candle.pha.pa.us>; Fri, 4 Sep 1998 00:47:05 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id XAA02044 for <maillist@candle.pha.pa.us>; Thu, 3 Sep 1998 23:11:07 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id XAA02044 for <maillist@candle.pha.pa.us>; Thu, 3 Sep 1998 23:11:07 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id XAA27418; Thu, 3 Sep 1998 23:06:16 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Thu, 03 Sep 1998 23:04:11 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id XAA27185 for pgsql-hackers-outgoing; Thu, 3 Sep 1998 23:04:09 -0400 (EDT)
@@ -84,7 +84,7 @@ From owner-pgsql-hackers@hub.org Sat Sep  5 02:01:13 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id CAA14437
        for <maillist@candle.pha.pa.us>; Sat, 5 Sep 1998 02:01:11 -0400 (EDT)
-Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id BAA09928 for <maillist@candle.pha.pa.us>; Sat, 5 Sep 1998 01:48:32 -0400 (EDT)
+Received: from hub.org (hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id BAA09928 for <maillist@candle.pha.pa.us>; Sat, 5 Sep 1998 01:48:32 -0400 (EDT)
 Received: from localhost (majordom@localhost) by hub.org (8.8.8/8.7.5) with SMTP id BAA18282; Sat, 5 Sep 1998 01:43:16 -0400 (EDT)
 Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sat, 05 Sep 1998 01:41:40 +0000 (EDT)
 Received: (from majordom@localhost) by hub.org (8.8.8/8.7.5) id BAA18241 for pgsql-hackers-outgoing; Sat, 5 Sep 1998 01:41:38 -0400 (EDT)
@@ -157,3 +157,551 @@ valid attnum from pg_index->indkey -:(
 Vadim
 
 
+From owner-pgsql-hackers@hub.org Tue Sep 21 05:31:11 1999
+Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id FAA07543
+       for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 05:31:09 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id FAA19587 for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 05:12:03 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id EAA55119;
+       Tue, 21 Sep 1999 04:48:48 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 21 Sep 1999 04:45:33 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id EAA54532
+       for pgsql-hackers-outgoing; Tue, 21 Sep 1999 04:44:35 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+Received: from orion.SAPserv.Hamburg.dsh.de (Tpolaris2.sapham.debis.de [53.2.131.8])
+       by hub.org (8.9.3/8.9.3) with SMTP id EAA54496
+       for <pgsql-hackers@postgreSQL.org>; Tue, 21 Sep 1999 04:44:13 -0400 (EDT)
+       (envelope-from wieck@debis.com)
+Received: by orion.SAPserv.Hamburg.dsh.de 
+       for pgsql-hackers@postgreSQL.org 
+       id m11TLQP-0003kLC; Tue, 21 Sep 99 10:37 MET DST
+Message-Id: <m11TLQP-0003kLC@orion.SAPserv.Hamburg.dsh.de>
+From: wieck@debis.com (Jan Wieck)
+Subject: [HACKERS] Re: Referential Integrity In  PostgreSQL
+To: pgsql-hackers@postgreSQL.org (PostgreSQL HACKERS)
+Date: Tue, 21 Sep 1999 10:37:21 +0200 (MET DST)
+Reply-To: wieck@debis.com (Jan Wieck)
+X-Mailer: ELM [version 2.4 PL25]
+Content-Type: text
+Sender: owner-pgsql-hackers@postgreSQL.org
+Precedence: bulk
+Status: RO
+
+>
+> Hi , Jan
+>
+> my name is Max .
+
+Hi Max,
+
+>
+> I have contributed to SPI interface ,
+> that with external Trigger try to make
+> a referential integrity.
+>
+> If I can Help , in something ,
+> I'm here .
+>
+
+    You're welcome.
+
+    I've  CC'd  the  hackers list because we might get some ideas
+    from there too (and to  surface  once  in  a  while  -  Bruce
+    already missed me).
+
+    Currently  I'm  very  busy  for  serious work so I don't find
+    enough  spare  time  to  start  on  such  a  big  change   to
+    PostgreSQL.   But  I'd like to give you an overview of what I
+    have in mind so far so you can decide if you're able to help.
+
+    Referential integrity (RI) is based on constraints defined in
+    the schema of a database. There are some different  types  of
+    constraints:
+
+    1.  Uniqueness constraints.
+
+    2.  Foreign key constraints that ensure that a key value used
+        in  an  attribute  exists  in   another   relation.   One
+        constraint  must ensure you're unable to INSERT/UPDATE to
+        a value that doesn't  exist,  another  one  must  prevent
+        DELETE  on  a  referenced  key item or that it is changed
+        during UPDATE.
+
+    3.  Cascading deletes that let rows referring to a key follow
+        on DELETE silently.
+
+    Even  if  not  defined in the standard (AFAIK) there could be
+    others like letting references automatically follow on UPDATE
+    to a key value.
+
+    All constraints can be enabled and/or default to be deferred.
+    That means, that the RI checks aren't performed when they are
+    triggerd.  Instead,  they're checked at transaction end or if
+    explicitly invoked by some special statement.  This is really
+    important  because  someone  must  be able to setup cyclic RI
+    checks that could never be satisfied if the checks  would  be
+    performed  immediately.  The  major  problem  on  this is the
+    amount of data affected until the checks must  be  performed.
+    The number of statements executed, that trigger such deferred
+    constraints,   shouldn't   be   limited.   And   one   single
+    INSERT/UPDATE/DELETE could affect thousands of rows.
+
+    Due  to these problems I thought, it might not be such a good
+    idea to remember CTID's or the like to get back OLD/NEW  rows
+    at the time the constraints are checked. Instead I planned to
+    misuse the rule system for it. Unfortunately, the rule system
+    has  damned  tricky problems itself when it comes to having-,
+    distinct and other clauses and extremely  on  aggregates  and
+    subselects. These problems would have to get fixed first.  So
+    it's a solution that cannot be implemented right now.
+
+    Fallback to CTID remembering though. There are  problems  too
+    :-(.   Let's  enhance  the  trigger mechanism with a deferred
+    feature. First this requires two additional  bool  attributes
+    in  the  pg_trigger  relation  that  tell  if this trigger is
+    deferrable and if it is deferred by default.  While at it  we
+    should  add another bool that tells if the trigger is enabled
+    (ALTER TRIGGER {ENABLE|DISABLE} trigger).
+
+    Second we  need  an  internal  list  of  triggers,  that  are
+    currently DEFINED AS DEFERRED. Either because they default to
+    it, or the user explicitly asked to deferr it.
+
+    Third we need an internal  list  of  triggers  that  must  be
+    invoked later because at the time an event occured where they
+    should have been triggered, they appeared in the  other  list
+    and  their  execution  is  delayed  until  transaction end or
+    explicit execution. This list must remember the  OID  of  the
+    trigger   to  invoke  (to  identify  the  procedure  and  the
+    arguments), the relation that  caused  the  trigger  and  the
+    CTID's of the OLD and NEW row.
+
+    That  last  list  could  grow  extremely!  Think of a trigger
+    that's executing commands over SPI  which  in  turn  activate
+    deferred  triggers.  Since  the order of trigger execution is
+    very  important  for  RI,  I  can't   see   any   chance   to
+    simplify/condense  this  information.  Thus it is 16 bytes at
+    least per deferred trigger call (2 OID's plus  2  CTID's).  I
+    think one or more temp files would fit best for this.
+
+    A last tricky point is if one of a bunch of deferred triggers
+    is explicitly called for execution. At this time, the entries
+    for  it  in  the  temp  file(s) must get processed and marked
+    executed (maybe by overwriting  the  triggers  OID  with  the
+    invalid  OID)  while  other  trigger events still have to get
+    recorded.
+
+    Needless to say that reading thousands of those entries  just
+    to find a few isn't good on performance. But better have this
+    special case slow that dealing with hundreds of temp files or
+    other overhead slowing down the usual case where ALL deferred
+    triggers get called at transaction end.
+
+    Trigger invocation is simple now - fetch the OLD and NEW rows
+    by  CTID  and  execute  the  trigger  as  done by the trigger
+    manager. Oh - well - vacuum shouldn't touch  relations  where
+    deferred   triggers  are  outstanding.   Might  require  some
+    special lock entry - Vadim?
+
+    Did I miss something?
+
+
+Jan
+
+--
+
+#======================================================================#
+# It's easier to get forgiveness for being wrong than for being right. #
+# Let's break this rule - forgive me.                                  #
+#========================================= wieck@debis.com (Jan Wieck) #
+
+************
+
+
+From owner-pgsql-hackers@hub.org Tue Sep 21 08:31:03 1999
+Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id IAA09071
+       for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 08:31:02 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id IAA25991 for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 08:04:59 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id HAA82019;
+       Tue, 21 Sep 1999 07:48:14 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 21 Sep 1999 07:47:30 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id HAA81906
+       for pgsql-hackers-outgoing; Tue, 21 Sep 1999 07:46:38 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+Received: from orion.SAPserv.Hamburg.dsh.de (Tpolaris2.sapham.debis.de [53.2.131.8])
+       by hub.org (8.9.3/8.9.3) with SMTP id HAA81888
+       for <hackers@postgreSQL.org>; Tue, 21 Sep 1999 07:46:26 -0400 (EDT)
+       (envelope-from wieck@debis.com)
+Received: by orion.SAPserv.Hamburg.dsh.de 
+       for hackers@postgreSQL.org 
+       id m11TOGd-0003kwC; Tue, 21 Sep 99 13:39 MET DST
+Message-Id: <m11TOGd-0003kwC@orion.SAPserv.Hamburg.dsh.de>
+From: wieck@debis.com (Jan Wieck)
+Subject: Re: [HACKERS] Re: Referential Integrity In  PostgreSQL
+To: andreas.zeugswetter@telecom.at (Andreas Zeugswetter)
+Date: Tue, 21 Sep 1999 13:39:27 +0200 (MET DST)
+Cc: hackers@postgresql.org
+Reply-To: wieck@debis.com (Jan Wieck)
+In-Reply-To: <37E74EB9.44F9766E@telecom.at> from "Andreas Zeugswetter" at Sep 21, 99 11:24:09 am
+X-Mailer: ELM [version 2.4 PL25]
+Content-Type: text
+Sender: owner-pgsql-hackers@postgresql.org
+Precedence: bulk
+Status: RO
+
+>
+> > Oh - well - vacuum shouldn't touch  relations  where
+> > deferred   triggers  are  outstanding.   Might  require  some
+> > special lock entry - Vadim?
+>
+> All modified data will be in this same still open transaction.
+> Therefore no relevant data can be removed by vacuum anyway.
+
+    I expect this, but I really need to be sure that not even the
+    location of the tuple in the heap will change. I need to find
+    the tuples at the time the deferred triggers must be executed
+    via heap_fetch() by their CTID!
+
+>
+> It is my understanding, that the RI check is performed on the newest
+> available (committed) data (+ modified data from my own tx).
+> E.g. a primary key that has been removed by another transaction after
+> my begin work will lead to an RI violation if referenced as foreign key.
+
+    Absolutely right. The function that will  fire  the  deferred
+    triggers  must  switch to READ COMMITTED isolevel while doing
+    so.
+
+    What I'm not sure about is which snapshot to use to  get  the
+    OLD  tuples  (outdated  in  this  transaction  by  a previous
+    command). Vadim?
+
+
+Jan
+
+--
+
+#======================================================================#
+# It's easier to get forgiveness for being wrong than for being right. #
+# Let's break this rule - forgive me.                                  #
+#========================================= wieck@debis.com (Jan Wieck) #
+
+
+
+************
+
+
+From owner-pgsql-hackers@hub.org Tue Sep 21 10:45:40 1999
+Received: from hub.org (hub.org [216.126.84.1])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id KAA10993
+       for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 10:45:39 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id KAA22590;
+       Tue, 21 Sep 1999 10:36:16 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 21 Sep 1999 10:35:37 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id KAA22200
+       for pgsql-hackers-outgoing; Tue, 21 Sep 1999 10:34:47 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+Received: from sunpine.krs.ru (SunPine.krs.ru [195.161.16.37])
+       by hub.org (8.9.3/8.9.3) with ESMTP id KAA22048
+       for <hackers@postgreSQL.org>; Tue, 21 Sep 1999 10:33:38 -0400 (EDT)
+       (envelope-from vadim@krs.ru)
+Received: from krs.ru (dune.krs.ru [195.161.16.38])
+       by sunpine.krs.ru (8.8.8/8.8.8) with ESMTP id WAA27122;
+       Tue, 21 Sep 1999 22:33:22 +0800 (KRSS)
+Message-ID: <37E79730.CC415030@krs.ru>
+Date: Tue, 21 Sep 1999 22:33:20 +0800
+From: Vadim Mikheev <vadim@krs.ru>
+Organization: OJSC Rostelecom (Krasnoyarsk)
+X-Mailer: Mozilla 4.5 [en] (X11; I; FreeBSD 3.0-RELEASE i386)
+X-Accept-Language: ru, en
+MIME-Version: 1.0
+To: Jan Wieck <wieck@debis.com>
+CC: Andreas Zeugswetter <andreas.zeugswetter@telecom.at>,
+        hackers@postgreSQL.org
+Subject: Re: [HACKERS] Re: Referential Integrity In  PostgreSQL
+References: <m11TOGd-0003kwC@orion.SAPserv.Hamburg.dsh.de>
+Content-Type: text/plain; charset=us-ascii
+Content-Transfer-Encoding: 7bit
+Sender: owner-pgsql-hackers@postgreSQL.org
+Precedence: bulk
+Status: RO
+
+Jan Wieck wrote:
+> 
+> > It is my understanding, that the RI check is performed on the newest
+> > available (committed) data (+ modified data from my own tx).
+> > E.g. a primary key that has been removed by another transaction after
+> > my begin work will lead to an RI violation if referenced as foreign key.
+> 
+>     Absolutely right. The function that will  fire  the  deferred
+>     triggers  must  switch to READ COMMITTED isolevel while doing
+                                ^^^^^^^^^^^^^^
+>     so.
+
+NO!
+What if one transaction deleted PK, another one inserted FK
+and now both performe RI check? Both transactions _must_
+use DIRTY READs to notice that RI violated by another
+in-progress transaction and wait for concurrent transaction...
+
+BTW, using triggers to check _each_ modified tuple
+(i.e. run Executor for each modified tuple) is bad for
+performance. We could implement direct support for
+standard RI constraints.
+
+Using rules (statement level triggers) for INSERT...SELECT,
+UPDATE and DELETE queries would be nice! Actually, RI constraint
+checks need in very simple queries (i.e. without distinct etc)
+and the only we would have to do is
+
+>     What I'm not sure about is which snapshot to use to  get  the
+>     OLD  tuples  (outdated  in  this  transaction  by  a previous
+>     command). Vadim?
+
+1. Add CommandId to Snapshot.
+2. Use Snapshot->CommandId instead of global CurrentScanCommandId.
+3. Use Snapshots with different CommandId-s to get OLD/NEW
+   versions.
+
+But I agreed that the size of parsetrees may be big and for
+COPY...FROM/INSERTs we should remember IDs of modified
+tuples. Well. Please remember that I implement WAL right
+now, already have 1000 lines of code and hope to run first
+tests after writing additional ~200 lines -:)
+We could read modified tuple IDs from WAL...
+
+Vadim
+
+************
+
+
+From owner-pgsql-hackers@hub.org Tue Sep 21 11:18:19 1999
+Received: from hub.org (hub.org [216.126.84.1])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id LAA11537
+       for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 11:18:18 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id LAA27395;
+       Tue, 21 Sep 1999 11:04:42 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 21 Sep 1999 11:03:56 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id LAA27106
+       for pgsql-hackers-outgoing; Tue, 21 Sep 1999 11:02:50 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+Received: from orion.SAPserv.Hamburg.dsh.de (Tpolaris2.sapham.debis.de [53.2.131.8])
+       by hub.org (8.9.3/8.9.3) with SMTP id LAA27041
+       for <hackers@postgreSQL.org>; Tue, 21 Sep 1999 11:02:34 -0400 (EDT)
+       (envelope-from wieck@debis.com)
+Received: by orion.SAPserv.Hamburg.dsh.de 
+       for hackers@postgreSQL.org 
+       id m11TRKP-0003kLC; Tue, 21 Sep 99 16:55 MET DST
+Message-Id: <m11TRKP-0003kLC@orion.SAPserv.Hamburg.dsh.de>
+From: wieck@debis.com (Jan Wieck)
+Subject: Re: [HACKERS] Re: Referential Integrity In  PostgreSQL
+To: vadim@krs.ru (Vadim Mikheev)
+Date: Tue, 21 Sep 1999 16:55:33 +0200 (MET DST)
+Cc: wieck@debis.com, andreas.zeugswetter@telecom.at, hackers@postgreSQL.org
+Reply-To: wieck@debis.com (Jan Wieck)
+In-Reply-To: <37E79730.CC415030@krs.ru> from "Vadim Mikheev" at Sep 21, 99 10:33:20 pm
+X-Mailer: ELM [version 2.4 PL25]
+Content-Type: text
+Sender: owner-pgsql-hackers@postgreSQL.org
+Precedence: bulk
+Status: RO
+
+>
+> Jan Wieck wrote:
+> >
+> > > It is my understanding, that the RI check is performed on the newest
+> > > available (committed) data (+ modified data from my own tx).
+> > > E.g. a primary key that has been removed by another transaction after
+> > > my begin work will lead to an RI violation if referenced as foreign key.
+> >
+> >     Absolutely right. The function that will  fire  the  deferred
+> >     triggers  must  switch to READ COMMITTED isolevel while doing
+>                                 ^^^^^^^^^^^^^^
+> >     so.
+>
+> NO!
+> What if one transaction deleted PK, another one inserted FK
+> and now both performe RI check? Both transactions _must_
+> use DIRTY READs to notice that RI violated by another
+> in-progress transaction and wait for concurrent transaction...
+
+    Oh - I see - yes.
+
+>
+> BTW, using triggers to check _each_ modified tuple
+> (i.e. run Executor for each modified tuple) is bad for
+> performance. We could implement direct support for
+> standard RI constraints.
+
+    As I want to implement it, there would be not much difference
+    between a regular trigger invocation and a deferred one.   If
+    that causes a performance problem, I think we should speed up
+    the trigger call mechanism in general instead  of  not  using
+    triggers.
+
+>
+> Using rules (statement level triggers) for INSERT...SELECT,
+> UPDATE and DELETE queries would be nice! Actually, RI constraint
+> checks need in very simple queries (i.e. without distinct etc)
+> and the only we would have to do is
+>
+> >     What I'm not sure about is which snapshot to use to  get  the
+> >     OLD  tuples  (outdated  in  this  transaction  by  a previous
+> >     command). Vadim?
+>
+> 1. Add CommandId to Snapshot.
+> 2. Use Snapshot->CommandId instead of global CurrentScanCommandId.
+> 3. Use Snapshots with different CommandId-s to get OLD/NEW
+>    versions.
+>
+> But I agreed that the size of parsetrees may be big and for
+> COPY...FROM/INSERTs we should remember IDs of modified
+> tuples. Well. Please remember that I implement WAL right
+> now, already have 1000 lines of code and hope to run first
+> tests after writing additional ~200 lines -:)
+> We could read modified tuple IDs from WAL...
+
+    Not  only on COPY. One regular INSERT/UPDATE/DELETE statement
+    can actually fire thousands of trigger calls right now. These
+    triggers  normally  use  SPI to execute their own queries. If
+    such a trigger now  uses  a  query  that  in  turn  causes  a
+    deferred  constraint,  we  might  have  to  save thousands of
+    deferred querytrees - impossible mission.
+
+    That's  IMHO  a  clear  drawback  against  using  rules   for
+    deferrable RI.
+
+    What  I'm  currently  doing  is  clearly encapsulated in some
+    functions in commands/trigger.c (except for  some  additional
+    attributes in pg_trigger).  If it later turns out that we can
+    combine the information required into WAL, I  think  we  have
+    time  enough  to  do  so  and  shouldn't  really care if v6.6
+    doesn't have it already combined.
+
+
+Jan
+
+--
+
+#======================================================================#
+# It's easier to get forgiveness for being wrong than for being right. #
+# Let's break this rule - forgive me.                                  #
+#========================================= wieck@debis.com (Jan Wieck) #
+
+
+
+************
+
+
+From owner-pgsql-hackers@hub.org Tue Sep 21 15:30:29 1999
+Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
+       by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id PAA14590
+       for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 15:30:28 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id PAA09192 for <maillist@candle.pha.pa.us>; Tue, 21 Sep 1999 15:06:09 -0400 (EDT)
+Received: from hub.org (hub.org [216.126.84.1])
+       by hub.org (8.9.3/8.9.3) with ESMTP id OAA73126;
+       Tue, 21 Sep 1999 14:56:15 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@hub.org)
+Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Tue, 21 Sep 1999 14:54:47 +0000 (EDT)
+Received: (from majordom@localhost)
+       by hub.org (8.9.3/8.9.3) id OAA72607
+       for pgsql-hackers-outgoing; Tue, 21 Sep 1999 14:53:51 -0400 (EDT)
+       (envelope-from owner-pgsql-hackers@postgreSQL.org)
+Received: from orion.SAPserv.Hamburg.dsh.de (Tpolaris2.sapham.debis.de [53.2.131.8])
+       by hub.org (8.9.3/8.9.3) with SMTP id OAA72516
+       for <pgsql-hackers@postgreSQL.org>; Tue, 21 Sep 1999 14:52:56 -0400 (EDT)
+       (envelope-from wieck@debis.com)
+Received: by orion.SAPserv.Hamburg.dsh.de 
+       for pgsql-hackers@postgreSQL.org 
+       id m11TUvX-0003kLC; Tue, 21 Sep 99 20:46 MET DST
+Message-Id: <m11TUvX-0003kLC@orion.SAPserv.Hamburg.dsh.de>
+From: wieck@debis.com (Jan Wieck)
+Subject: [HACKERS] RI question
+To: pgsql-hackers@postgreSQL.org (PostgreSQL HACKERS)
+Date: Tue, 21 Sep 1999 20:46:06 +0200 (MET DST)
+Reply-To: wieck@debis.com (Jan Wieck)
+X-Mailer: ELM [version 2.4 PL25]
+Content-Type: text
+Sender: owner-pgsql-hackers@postgreSQL.org
+Precedence: bulk
+Status: RO
+
+Uh oh,
+
+    I  think  deferred  RI constraints must only fire the actions
+    that remain after all commands during the entire  transaction
+    are  condensed  to  the  total  minimum  required to get that
+    state, because deferred  RI  must  only  check  what  VISIBLY
+    happened during the transaction.
+
+    Thinking    on    the    tuple    level,    a   sequence   of
+    INSERT,UPDATE,UPDATE must fire only one INSERT  trigger,  but
+    with the values of the last UPDATE. An UPDATE,DELETE sequence
+    is  in  fact  a  DELETE  of  the  original   tuple   and   an
+    INSERT,UPDATE,DELETE sequence is nothing.
+
+    That  means that the recording mechnism of the trigger events
+    must be very smart on UPDATE and DELETE  events,  looking  at
+    the  x_min of the old tuple if that resulted from the current
+    transaction. If  so,  follow  the  events  backward,  disable
+    previous  ones  and  change the new event into what it really
+    has to be.
+
+    But some problems remain unsolvable by this:
+
+    - PK has an ON DELETE CASCADE for FK
+    - BEGIN
+    - DELETE PK
+    - INSERT same PK
+    - COMMIT.
+
+    This really shouldn't invoke the cascading delete, because at
+    COMMIT  the  PK  still  is there.  Same for a constraint that
+    forbids deletion of a PK while referenced  by  FK.  Therefore
+    the deferred event recorder must check on INSERT any previous
+    DELETES for the same relation if the key does match and  drop
+    both  deferred  triggers  if  so.  Therefore it needs to know
+    which   attributes   build   the   PK   of   that    relation
+    (<relname>_pkey guaranteed?).
+
+    Well,  I think that's finally the death of RI over rules. The
+    code managing those rules  during  CREATE/ALTER  TABLE  would
+    become  totally  unmaintainable.  And  (sorry Vadim) it's the
+    death of SLT for this too because this event tracking must be
+    done on the tuple level.
+
+    It  complicated  the  trigger  approach too, but IMHO not too
+    bad. Anyway,  some  co-developer(s)  doing  the  parser-  and
+    utility-statement  stuff  (SET CONSTRAINTS ... etc.) would be
+    great.
+
+    Volunteers?
+
+
+Jan
+
+--
+
+#======================================================================#
+# It's easier to get forgiveness for being wrong than for being right. #
+# Let's break this rule - forgive me.                                  #
+#========================================= wieck@debis.com (Jan Wieck) #
+
+
+
+************
+
+
index 25f5da5..5075f39 100644 (file)
@@ -2,7 +2,7 @@ From owner-pgsql-patches@hub.org Wed Oct 14 17:31:26 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA01594
        for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:31:24 -0400 (EDT)
-Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.3 $) with ESMTP id RAA01745 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:12:28 -0400 (EDT)
+Received: from hub.org (majordom@hub.org [209.47.148.200]) by renoir.op.net (o1/$Revision: 1.4 $) with ESMTP id RAA01745 for <maillist@candle.pha.pa.us>; Wed, 14 Oct 1998 17:12:28 -0400 (EDT)
 Received: from localhost (majordom@localhost)
        by hub.org (8.8.8/8.8.8) with SMTP id RAA06607;
        Wed, 14 Oct 1998 17:10:43 -0400 (EDT)
index aa3e5a3..66c3821 100644 (file)
@@ -2,7 +2,7 @@ From selkovjr@mcs.anl.gov Sat Jul 25 05:31:05 1998
 Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
        by candle.pha.pa.us (8.8.5/8.8.5) with ESMTP id FAA16564
        for <maillist@candle.pha.pa.us>; Sat, 25 Jul 1998 05:31:03 -0400 (EDT)
-Received: from antares.mcs.anl.gov (mcs.anl.gov [140.221.9.6]) by renoir.op.net (o1/$Revision: 1.2 $) with SMTP id FAA01775 for <maillist@candle.pha.pa.us>; Sat, 25 Jul 1998 05:28:22 -0400 (EDT)
+Received: from antares.mcs.anl.gov (mcs.anl.gov [140.221.9.6]) by renoir.op.net (o1/$Revision: 1.3 $) with SMTP id FAA01775 for <maillist@candle.pha.pa.us>; Sat, 25 Jul 1998 05:28:22 -0400 (EDT)
 Received: from mcs.anl.gov (wit.mcs.anl.gov [140.221.5.148]) by antares.mcs.anl.gov (8.6.10/8.6.10)  with ESMTP
        id EAA28698 for <maillist@candle.pha.pa.us>; Sat, 25 Jul 1998 04:27:05 -0500
 Sender: selkovjr@mcs.anl.gov