OSDN Git Service
Tom Lane [Thu, 9 Jan 2003 00:58:41 +0000 (00:58 +0000)]
Add missing pg_proc entry for interval_scale(). The lack of this entry
causes interval rounding not to work as expected in 7.3, for example
SELECT '18:17:15.6'::interval(0) does not round the value.
I did not force initdb, but one is needed to install the added row.
Bruce Momjian [Wed, 8 Jan 2003 23:34:22 +0000 (23:34 +0000)]
Remove 'const' from secure_write, to prevent compiler warning.
Tom Lane [Wed, 8 Jan 2003 23:32:29 +0000 (23:32 +0000)]
Guard against stopping when numberTuples=0 and counter wraps around.
Bruce Momjian [Wed, 8 Jan 2003 23:18:25 +0000 (23:18 +0000)]
The second was that renegotiation was just plain broken. I can't
believe I didn't notice this before -- once 64k was sent to/from the
server the client would crash. Basicly, in 7.3 the server SSL code set
the initial state to "about to renegotiate" without actually starting
the renegotiation. In addition, the server and client didn't properly
handle the SSL_ERROR_WANT_(READ|WRITE) error. This is fixed in the
second patch.
Nathan Mueller
Bruce Momjian [Wed, 8 Jan 2003 22:56:58 +0000 (22:56 +0000)]
I was playing around with 7.3.1 and found some more SSL problems. The
first, that I missed when checking over 7.3.1, was that the client
method was switched to SSLv23 along with the server. The SSLv23 client
method does SSLv2 by default, but can also understand SSLv3. In our
situation the SSLv2 backwords compatibility is really only needed on the
server. This is the first patch.
The last thing is that I found a way for the server to understand SSLv2
HELLO messages (sent by pre-7.3 clients) but then get them to talk
SSLv3. This is the last one.
Nathan Mueller
Bruce Momjian [Wed, 8 Jan 2003 22:54:06 +0000 (22:54 +0000)]
Fix dumping of DEFERRABLE/INITIALLY DEFERRED:
> The big problem is that while pg_dump's dump_trigger() looks at
> tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look
> at tginitdeferred, and therefore doesn't record the requirement as part
> of ALTER TABLE ADD CONSTRAINT.
pg_get_constraintdef should probably be looking at condeferrable and
condeferred in the pg_constraint row it's looking at. Maybe something
like the attached.
(Added, output only non-default values.)
Stephan Szabo
Bruce Momjian [Wed, 8 Jan 2003 22:29:23 +0000 (22:29 +0000)]
Updated deferred trigger patch.
Neil Conway
Bruce Momjian [Wed, 8 Jan 2003 22:28:32 +0000 (22:28 +0000)]
This trivial patch implements disabled, deferred triggers, per my
proposal on -hackers a couple days ago. The 'tgenabled' status of the
trigger is consulted when the trigger is added to the deferred queue
(i.e. when the event occurs that fires the trigger), not when the
deferred event is executed.
No regression tests, as another bug prevents them (the pg_trigger row
for a trigger is only loaded once per session, so any changes to it are
not noticed unless the client disconnects and reconnects).
Neil Conway
Bruce Momjian [Wed, 8 Jan 2003 22:26:34 +0000 (22:26 +0000)]
Enhanced error/help message for pg_controldata.
Serguei Mokhov
Tom Lane [Wed, 8 Jan 2003 22:06:23 +0000 (22:06 +0000)]
Reconsider old decision to try to constant-fold default and constraint
expressions before they are stored. This seems like not such a hot idea,
particularly now that the constant-folder will try to inline SQL functions.
Tom Lane [Wed, 8 Jan 2003 21:40:39 +0000 (21:40 +0000)]
Repair bug noticed by Deepak Bhole: a shell type should have a dependency
on its namespace, so that it will go away if the schema is dropped.
Bruce Momjian [Wed, 8 Jan 2003 21:33:27 +0000 (21:33 +0000)]
Fix pgpass to work with PQconnectDB().
Backpatch to 7.3.X.
Report from ljb.
Tom Lane [Wed, 8 Jan 2003 19:41:40 +0000 (19:41 +0000)]
Fix for bug #866. 7.3 contains new logic for avoiding redundant calls to
the index AM when we know we are fetching a unique row. However, this
logic did not consider the possibility that it would be asked to fetch
backwards. Also fix mark/restore to work correctly in this scenario.
Bruce Momjian [Wed, 8 Jan 2003 16:21:53 +0000 (16:21 +0000)]
Only set the database name if we find a match in the services file.
D'Arcy J.M. Cain [Wed, 8 Jan 2003 13:42:16 +0000 (13:42 +0000)]
Correction to last patch. As per the DB-API spec, we need to return None
here, not -1.
Bruce Momjian [Wed, 8 Jan 2003 06:14:51 +0000 (06:14 +0000)]
Add:
> o Allow fastpast to pass values in portable format
Tom Lane [Wed, 8 Jan 2003 00:22:27 +0000 (00:22 +0000)]
Code review for FETCH/MOVE 0 changes. Improve documentation, do the
right thing with the destination when FETCH 0 can't return a row,
don't try to stuff LONG_MAX into an int value.
Tom Lane [Tue, 7 Jan 2003 22:32:10 +0000 (22:32 +0000)]
SendFunctionResult should take care to detoast varlena results.
Tom Lane [Tue, 7 Jan 2003 22:23:17 +0000 (22:23 +0000)]
Fix various places where global s/NOTICE/WARNING/ was applied with too
much enthusiasm.
Bruce Momjian [Tue, 7 Jan 2003 22:18:43 +0000 (22:18 +0000)]
Upgrade to my2pg 1.9
Bruce Momjian [Tue, 7 Jan 2003 22:17:14 +0000 (22:17 +0000)]
Upgrade to even newer ora2pg 2.0.
Bruce Momjian [Tue, 7 Jan 2003 22:15:56 +0000 (22:15 +0000)]
Upgrade to ora2pg 1.10. Backpatch to 7.3.X.
Tom Lane [Tue, 7 Jan 2003 21:42:38 +0000 (21:42 +0000)]
Update for new we-always-have-getopt_long approach.
Tom Lane [Tue, 7 Jan 2003 20:56:07 +0000 (20:56 +0000)]
Apply the proper version of Christopher Kings-Lynne's describe patch
(ie, the one with describe-schema support). Minor code review.
Adjust display of casts to use standard type names.
Bruce Momjian [Tue, 7 Jan 2003 20:29:30 +0000 (20:29 +0000)]
Add connection service file.
Bruce Momjian [Tue, 7 Jan 2003 18:48:13 +0000 (18:48 +0000)]
Silence compiler warning caused by removal of netinet/in.h
Bruce Momjian [Tue, 7 Jan 2003 18:46:52 +0000 (18:46 +0000)]
Document that psql \encoding doesn't see SET CLIENT_ENCODING changes.
Bruce Momjian [Tue, 7 Jan 2003 15:12:17 +0000 (15:12 +0000)]
Fix missing tab in file.
Bruce Momjian [Tue, 7 Jan 2003 06:43:20 +0000 (06:43 +0000)]
Small syntax cleanup.
Bruce Momjian [Tue, 7 Jan 2003 06:37:51 +0000 (06:37 +0000)]
Check for sockaddr_in6 for IPv6 code, rather than ip6.h.
Bruce Momjian [Tue, 7 Jan 2003 04:25:29 +0000 (04:25 +0000)]
Document libpq service capability, and add sample file.
Tom Lane [Tue, 7 Jan 2003 01:19:12 +0000 (01:19 +0000)]
Tweak mdnblocks() to avoid doing lseek() on segments that it has
previously determined not to be the last segment of a relation.
This reduces the expected cost to one seek, rather than one seek per
segment. We can get away with this because truncation of a relation
will cause a relcache flush and so the md.c file descriptor will be
closed; when it is re-opened we will re-determine the last segment.
Bruce Momjian [Mon, 6 Jan 2003 22:48:16 +0000 (22:48 +0000)]
Enable IPv6 libpq 'hostaddr' addresses. Update docs.
Peter Eisentraut [Mon, 6 Jan 2003 18:53:25 +0000 (18:53 +0000)]
Use our own version of getopt_long() if the OS doesn't have one.
Peter Eisentraut [Mon, 6 Jan 2003 09:58:36 +0000 (09:58 +0000)]
Fix for systems that don't have INET_ADDRSTRLEN.
Bruce Momjian [Mon, 6 Jan 2003 06:07:20 +0000 (06:07 +0000)]
Update comments on IPv6 #define.
Bruce Momjian [Mon, 6 Jan 2003 06:06:04 +0000 (06:06 +0000)]
Add test for netinet/ip6.h and getaddrinfo, to enable IPv6.
Bruce Momjian [Mon, 6 Jan 2003 05:46:18 +0000 (05:46 +0000)]
Update ipv6 comment, move configure test to the right place
Bruce Momjian [Mon, 6 Jan 2003 05:33:45 +0000 (05:33 +0000)]
Add prototype for getaddrinfo().
Bruce Momjian [Mon, 6 Jan 2003 03:18:27 +0000 (03:18 +0000)]
Enable IPv6 connections to the server, and add pg_hba.conf IPv6 entries
if the OS supports it. Code will still compile on non-IPv6-aware
machines (feature added by Bruce).
Nigel Kukard
Tom Lane [Mon, 6 Jan 2003 01:20:40 +0000 (01:20 +0000)]
Add note explaining that a mergejoinable equality operator is now
required if a datatype is to be accepted by GROUP BY, DISTINCT, or
ORDER BY. This is documentation for code changes made pursuant to
pgsql-hackers discussion around 29-Nov-02.
Tom Lane [Mon, 6 Jan 2003 00:31:45 +0000 (00:31 +0000)]
ALTER DOMAIN OWNER, from Rod Taylor.
Peter Eisentraut [Sun, 5 Jan 2003 13:45:47 +0000 (13:45 +0000)]
Revert rpath-mangling patch. See discussion on -patches around Nov 29 for
the rationale.
Tom Lane [Sun, 5 Jan 2003 00:56:40 +0000 (00:56 +0000)]
Fix inherited UPDATE for cases where child column numbering doesn't
match parent table. This used to work, but was broken in 7.3 by
rearrangement of code that handles targetlist sorting. Add a regression
test to catch future breakage.
Tom Lane [Sat, 4 Jan 2003 00:46:08 +0000 (00:46 +0000)]
Partial code review for ALTER DOMAIN patch. Incorporates Rod Taylor's
patches of 9-Dec (permissions fix) and 13-Dec (performance) as well as
a partial fix for locking issues: concurrent DROP COLUMN should not
create trouble anymore. But concurrent DROP TABLE is still a risk, and
there is no protection at all against creating a column of a domain while
we are altering the domain.
Hiroshi Inoue [Fri, 3 Jan 2003 18:05:02 +0000 (18:05 +0000)]
Adjust lo type in contrib during pg_restore so that pg_restore could
reload the type.
Bruce Momjian [Thu, 2 Jan 2003 23:22:49 +0000 (23:22 +0000)]
flockfile/funlockfile is POSIX, so NetBSD has them too --- use them.
Tom Lane [Thu, 2 Jan 2003 19:29:22 +0000 (19:29 +0000)]
Enforces NOT NULL constraints to be applied against new PRIMARY KEY
columns in DefineIndex. So, ALTER TABLE ... PRIMARY KEY will now
automatically add the NOT NULL constraint. It appeared the alter_table
regression test wanted this to occur, as after the change the regression
test better matched in inline 'fails'/'succeeds' comments.
Rod Taylor
Bruce Momjian [Thu, 2 Jan 2003 06:00:33 +0000 (06:00 +0000)]
Fix BSD/OS thread file locking bug in new fseeko code.
Backpatch to 7.3.X.
Tom Lane [Wed, 1 Jan 2003 21:57:05 +0000 (21:57 +0000)]
fastpath code neglected to check whether user has privileges to call the
target function. Also, move SetQuerySnapshot() call to avoid assert
failure when a fastpath call is attempted in an aborted transaction.
Tom Lane [Wed, 1 Jan 2003 20:35:39 +0000 (20:35 +0000)]
Awhile back I wrote that freebsd.h was probably broken in the places where
it diverged from netbsd.h and openbsd.h. This has now been confirmed.
Accordingly, make all three exactly alike.
Bruce Momjian [Wed, 1 Jan 2003 19:04:07 +0000 (19:04 +0000)]
Update:
< * Have DEFAULT dependency track use of sequence, for DROP DEFAULT check
> * Disallow changing default expression of a SERIAL column
Bruce Momjian [Tue, 31 Dec 2002 18:06:03 +0000 (18:06 +0000)]
Add:
> * Have DEFAULT dependency track use of sequence, for DROP DEFAULT check
Hiroshi Inoue [Tue, 31 Dec 2002 10:22:03 +0000 (10:22 +0000)]
Add casts between lo and oid.
Tom Lane [Mon, 30 Dec 2002 22:10:54 +0000 (22:10 +0000)]
Adjust Tcl-related code to compile cleanly with Tcl 8.4 (add const modifiers as
needed). Some desultory const-ification of SPI interface to support this.
Bruce Momjian [Mon, 30 Dec 2002 21:07:26 +0000 (21:07 +0000)]
Attached is a patch to provide makefiles, etc. to allow the compilation
of the libpq interface static and dynamic libraries with the freely
downloadable Borland C++ compiler version 5.5 and/or C++ Builder.
Lester Godwin
Tom Lane [Mon, 30 Dec 2002 19:45:17 +0000 (19:45 +0000)]
Code review for transaction-safe-TRUNCATE patch: minor cleanups.
Tom Lane [Mon, 30 Dec 2002 18:42:17 +0000 (18:42 +0000)]
Code review for CLUSTER ALL patch. Fix bogus locking, incorrect transaction
stop/start nesting, other infelicities.
Tom Lane [Mon, 30 Dec 2002 17:19:54 +0000 (17:19 +0000)]
Make use of TCL_INCLUDE_SPEC if available (it's new in Tcl 8.4, too bad
it took 'em this long to realize it's needed...)
Bruce Momjian [Mon, 30 Dec 2002 15:31:51 +0000 (15:31 +0000)]
Cause FETCH 1 to return the current cursor row, or zero if at
beginning/end of cursor.
Have MOVE return 0/1 depending on cursor position.
Matches SQL spec.
Pass cursor counter from parser as a long rather than int.
Doc updates.
Tom Lane [Mon, 30 Dec 2002 15:21:23 +0000 (15:21 +0000)]
Better solution to integer overflow problem in hash batch-number
computation: reduce the bucket number mod nbatch. This changes the
association between original bucket numbers and batches, but that
doesn't matter. Minor other cleanups in hashjoin code to help
centralize decisions.
Bruce Momjian [Mon, 30 Dec 2002 05:06:50 +0000 (05:06 +0000)]
Add missing slash to python install path.
Bruce Momjian [Mon, 30 Dec 2002 04:48:57 +0000 (04:48 +0000)]
Add:
> * Allow infinite dates just like infinite timestamps
Tom Lane [Mon, 30 Dec 2002 02:18:29 +0000 (02:18 +0000)]
Point does not return a center of lseg.
Kenji Sugita
Tom Lane [Sun, 29 Dec 2002 22:28:50 +0000 (22:28 +0000)]
Adjust hash table sizing algorithm to avoid integer overflow in
ExecHashJoinGetBatch(). Fixes core dump on large hash joins, as in
example from Rae Stiening.
Bruce Momjian [Sun, 29 Dec 2002 03:56:35 +0000 (03:56 +0000)]
Clean up quoting in configure.in. configure did not change.
Tom Lane [Fri, 27 Dec 2002 20:06:19 +0000 (20:06 +0000)]
Deliver better error message when a relation name is used in an expression.
Per report from Ian Barwick.
Tom Lane [Fri, 27 Dec 2002 17:10:45 +0000 (17:10 +0000)]
Remove overenthusiastic free'ing of comment dependencies; could lead to
core dump in pg_dump when dumping views having comments. See bug #855.
Bruce Momjian [Fri, 27 Dec 2002 14:10:29 +0000 (14:10 +0000)]
Small fix in documentation and some examples of usage. Please, apply to
7.3 and current CVS
Oleg Bartunov
Bruce Momjian [Fri, 27 Dec 2002 14:06:34 +0000 (14:06 +0000)]
Trivial patch to increase max_fsm_pages as per earlier discussion.
Philip Warner
Bruce Momjian [Fri, 27 Dec 2002 05:56:53 +0000 (05:56 +0000)]
Added:
> * Two-phase commit to implement distributed transactions
Tom Lane [Thu, 26 Dec 2002 23:38:42 +0000 (23:38 +0000)]
Clamp the output of estimate_hash_bucketsize() to a sane range;
per example from Bruno Wolff in which it produced a silly result.
Tom Lane [Thu, 26 Dec 2002 22:37:42 +0000 (22:37 +0000)]
Don't try to free executor state of an InitPlan early --- this breaks
EXPLAIN ANALYZE. (Premature optimization is the root of all evil?)
Bruce Momjian [Tue, 24 Dec 2002 22:06:53 +0000 (22:06 +0000)]
Add developer organizations:
< * Bruce is Bruce Momjian <pgman@candle.pha.pa.us>
< * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au>
< * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
> * Bruce is Bruce Momjian <pgman@candle.pha.pa.us> of Software Research Assoc.
> * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au> of
> Family Health Network
> * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net> of The Cain Gang Ltd.
460,
461c461,462
< * Fernando Nasser <fnasser@redhat.com>
< * Gavin Sherry <swm@linuxworld.com.au>
> * Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
464,
466c465,467
< * Jan is Jan Wieck <wieck@sapserv.debis.de>
< * Liam is Liam Stewart <liams@redhat.com>
< * Marc is Marc Fournier <scrappy@hub.org>
> * Jan is Jan Wieck <JanWieck@Yahoo.com> of PeerDirect Corp.
> * Liam is Liam Stewart <liams@redhat.com> of Red Hat
> * Marc is Marc Fournier <scrappy@hub.org> of PostgreSQL, Inc.
468,
469c469
< * Marko is Marko Kreen <marko@l-t.ee>
< * Michael is Michael Meskes <meskes@postgresql.org>
> * Michael is Michael Meskes <meskes@postgresql.org> of Credativ
472c472
< * Peter M is Peter T Mount <peter@retep.org.uk>
> * Peter M is Peter T Mount <peter@retep.org.uk> of Retep Software
474c474
< * Philip is Philip Warner <pjw@rhyme.com.au>
> * Philip is Philip Warner <pjw@rhyme.com.au> of Albatross Consulting Pty. Ltd.
477d476
< * Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
479,
483c478,481
< * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
< * Thomas is Thomas Lockhart <lockhart@fourpalms.org>
< * Tom is Tom Lane <tgl@sss.pgh.pa.us>
< * TomH is Tom I Helbekkmo <tih@Hamartun.Priv.no>
< * Vadim is Vadim B. Mikheev <vadim4o@email.com>
> * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
> * Thomas is Thomas Lockhart <lockhart@fourpalms.org> of Jet Propulsion Labratory
> * Tom is Tom Lane <tgl@sss.pgh.pa.us> of Red Hat
> * Vadim is Vadim B. Mikheev <vadim4o@email.com> of Sector Data
Bruce Momjian [Mon, 23 Dec 2002 22:19:00 +0000 (22:19 +0000)]
Update SSL error message for improper permissions. Backpatch to 7.3.X.
Dave Cramer [Mon, 23 Dec 2002 16:12:36 +0000 (16:12 +0000)]
case sensitive updates by Kris Jurka
Tom Lane [Sat, 21 Dec 2002 22:45:09 +0000 (22:45 +0000)]
pg_dump should consider information_schema to be a system schema.
Also, tweak -C option (emit CREATE DATABASE command) to emit encoding
name rather than encoding number, for consistency with pg_dumpall
and better cross-version portability.
Tom Lane [Sat, 21 Dec 2002 01:07:07 +0000 (01:07 +0000)]
Fix possible buffer overrun in \d command: substr(..., 128) produces
a result of at most 128 chars, but that could be more than 128 bytes.
Also ensure we don't try to pfree uninitialized pointers during error
cleanup.
Dave Cramer [Fri, 20 Dec 2002 14:10:34 +0000 (14:10 +0000)]
mike beachy's patch for statement handling
Dave Cramer [Fri, 20 Dec 2002 13:15:53 +0000 (13:15 +0000)]
patch for null table in getPrimaryKeys
Bruce Momjian [Fri, 20 Dec 2002 00:24:00 +0000 (00:24 +0000)]
Update 7.3.1 to give proper attribution to pg_dump item.
Tom Lane [Thu, 19 Dec 2002 23:25:01 +0000 (23:25 +0000)]
Cause planner to include costs of InitPlans in startup cost of parent
plan node. Not sure why this oversight has persisted so long ...
Bruce Momjian [Thu, 19 Dec 2002 19:30:24 +0000 (19:30 +0000)]
pgindent fe-connect.c --- done to make IPv6 patch easier to apply.
Bruce Momjian [Wed, 18 Dec 2002 20:40:24 +0000 (20:40 +0000)]
MVCC doc improvements:
> I'm not objecting to improving the text. I am objecting to deleting it
> outright...
Ok, fair enough. I've attached a revised version of the patch -- let me
know you think it needs further improvements.
Neil Conway
Bruce Momjian [Wed, 18 Dec 2002 20:38:48 +0000 (20:38 +0000)]
Update Russian FAQ. Update all FAQ's for 7.3.X branch.
Bruce Momjian [Wed, 18 Dec 2002 20:07:32 +0000 (20:07 +0000)]
Update RELEASE checklist.
Tom Lane [Wed, 18 Dec 2002 19:01:25 +0000 (19:01 +0000)]
Add some items to development-branch release notes.
PostgreSQL Daemon [Wed, 18 Dec 2002 13:15:15 +0000 (13:15 +0000)]
From the SSL_CTX_new man page:
"SSLv23_method(void), SSLv23_server_method(void), SSLv23_client_method(void)
A TLS/SSL connection established with these methods will understand the SSLv2,
SSLv3, and TLSv1 protocol. A client will send out SSLv2 client hello messages
and will indicate that it also understands SSLv3 and TLSv1. A server will
understand SSLv2, SSLv3, and TLSv1 client hello messages. This is the best
choice when compatibility is a concern."
This will maintain backwards compatibility for those us that don't use
TLS connections ...
Bruce Momjian [Wed, 18 Dec 2002 04:56:30 +0000 (04:56 +0000)]
*** empty log message ***
Bruce Momjian [Wed, 18 Dec 2002 04:46:17 +0000 (04:46 +0000)]
incorporates latest changes in the English original.
Ian Barwick
Bruce Momjian [Wed, 18 Dec 2002 04:39:48 +0000 (04:39 +0000)]
Stamp 7.3.1
Bruce Momjian [Wed, 18 Dec 2002 02:06:23 +0000 (02:06 +0000)]
Stamp 7.3.1.
Tom Lane [Wed, 18 Dec 2002 00:14:47 +0000 (00:14 +0000)]
Update EvalPlanQual() to work with new executor memory management method.
It doesn't leak memory anymore ...
Tom Lane [Wed, 18 Dec 2002 00:14:24 +0000 (00:14 +0000)]
Prevent core dump when ExecMarkPos is called before any tuples have been
retrieved. This cannot happen in ordinary execution, but it can happen
under EvalPlanQual().
Bruce Momjian [Tue, 17 Dec 2002 17:41:30 +0000 (17:41 +0000)]
Improvement to CREATE TRIGGER and catalog documentation.
Neil Conway
Tom Lane [Tue, 17 Dec 2002 15:51:59 +0000 (15:51 +0000)]
Skip unnecessary plan-copying now that plan trees are read-only in the
executor.
Tom Lane [Tue, 17 Dec 2002 15:45:01 +0000 (15:45 +0000)]
Fix typo.
Tom Lane [Tue, 17 Dec 2002 01:18:35 +0000 (01:18 +0000)]
To suppress memory leakage in long-lived Lists, lremove() should pfree
the cons cell it's deleting from the list. Do this, and fix a few callers
that were bogusly assuming it wouldn't free the cons cell.
Tom Lane [Mon, 16 Dec 2002 21:30:30 +0000 (21:30 +0000)]
Fix GEQO to work again in CVS tip, by being more careful about memory
allocation in best_inner_indexscan(). While at it, simplify GEQO's
interface to the main planner --- make_join_rel() offers exactly the
API it really wants, whereas calling make_rels_by_clause_joins() and
make_rels_by_clauseless_joins() required jumping through hoops.
Rewrite gimme_tree for clarity (sometimes iteration is much better than
recursion), and approximately halve GEQO's runtime by recognizing that
tours of the forms (a,b,c,d,...) and (b,a,c,d,...) are equivalent
because of symmetry in make_join_rel().
Tom Lane [Mon, 16 Dec 2002 19:08:25 +0000 (19:08 +0000)]
Document that zero-column tables are allowed (and non-standard).