1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-15 19:21:59 +03:00
Commit Graph

151 Commits

Author SHA1 Message Date
166b5c1def Another round of planner/optimizer work. This is just restructuring and
code cleanup; no major improvements yet.  However, EXPLAIN does produce
more intuitive outputs for nested loops with indexscans now...
2000-01-09 00:26:47 +00:00
6f9ff92cc0 Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp 1999-11-23 20:07:06 +00:00
86ef36c907 New NameStr macro to convert Name to Str. No need for var.data anymore.
Fewer calls to nameout.

Better use of RelationGetRelationName.
1999-11-07 23:08:36 +00:00
bd272cace6 Mega-commit to make heap_open/heap_openr/heap_close take an
additional argument specifying the kind of lock to acquire/release (or
'NoLock' to do no lock processing).  Ensure that all relations are locked
with some appropriate lock level before being examined --- this ensures
that relevant shared-inval messages have been processed and should prevent
problems caused by concurrent VACUUM.  Fix several bugs having to do with
mismatched increment/decrement of relation ref count and mismatched
heap_open/close (which amounts to the same thing).  A bogus ref count on
a relation doesn't matter much *unless* a SI Inval message happens to
arrive at the wrong time, which is probably why we got away with this
sloppiness for so long.  Repair missing grab of AccessExclusiveLock in
DROP TABLE, ALTER/RENAME TABLE, etc, as noted by Hiroshi.
Recommend 'make clean all' after pulling this update; I modified the
Relation struct layout slightly.
Will post further discussion to pghackers list shortly.
1999-09-18 19:08:25 +00:00
b399805e22 Eliminate elog()'s hardwired limit on length of an error message.
This change seems necessary in conjunction with long queries, and it
cleans up some bogosity in connection with long EXPLAIN texts anyway.
Note that current libpq will accept any length error message (at least
until it runs out of memory); prior versions have a limit of 8K, but
will cleanly discard excess error text, so there shouldn't be any
big compatibility problems with old clients.
1999-09-11 19:06:42 +00:00
130e372b5d Minor improvements to stringinfo package to make it more
robust, since it's about to get used much more heavily.
1999-08-31 01:28:37 +00:00
ed3f69168f EXPLAIN didn't know about 'Materialize' plan nodes. 1999-08-16 23:47:23 +00:00
158fd5f1c4 > > Prevent sorting if result is already sorted
> >
> > was implemented by Jan Wieck.
> > His work is for ascending order cases.
> >
> > Here is a patch to prevent sorting also in descending
> > order cases.
> > Because I had already changed _bt_first() to position
> > backward correctly before v6.5,this patch would work.
> >
Hiroshi Inoue
Inoue@tpf.co.jp
1999-08-09 06:20:27 +00:00
3406901a29 Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
c62b8a68bf Fix incorrect declaration of rtentry as 'ResTarget' where it
should be 'RangeTblEntry' ; explain.c had copied the erroneous code.
1999-07-17 19:01:21 +00:00
a71802e12e Final cleanup. 1999-07-16 05:00:38 +00:00
a9591ce66a Change #include's to use <> and "" as appropriate. 1999-07-15 23:04:24 +00:00
2e6b1e63a3 Remove unused #includes in *.c files. 1999-07-15 22:40:16 +00:00
285610e9ea Explain didn't handle inheritance correctly (it didn't
manipulate rtable the same way executor does).
1999-06-17 23:45:32 +00:00
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
0b69d8a27c Rearrange top-level rewrite operations so that EXPLAIN works
on queries involving UNION, EXCEPT, INTERSECT.
1999-05-09 23:31:47 +00:00
95cc41b81d Revise backend libpq interfaces so that messages to the frontend
can be generated in a buffer and then sent to the frontend in a single
libpq call.  This solves problems with NOTICE and ERROR messages generated
in the middle of a data message or COPY OUT operation.
1999-04-25 03:19:27 +00:00
fc08814e00 Rename explain's "size" to "rows". 1999-04-23 21:23:49 +00:00
344dfc0b0f Remove Tee code, move to _deadcode. 1999-03-23 16:51:04 +00:00
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
318e593f03 Rename Temp to Noname for noname tables. 1999-02-09 17:03:14 +00:00
eeff2c94be Fixed nodeToString() to put out "<>" for NULL strings again.
More cleanups to appendStringInfo() usage in node/outfuncs.c.

Jan
1998-12-18 14:45:09 +00:00
9396802f14 more cleanups...of note, appendStringInfo now performs like sprintf(),
where you state a format and arguments.  the old behavior required
each appendStringInfo to have to have a sprintf() before it if any
formatting was required.

Also shortened several instances where there were multiple appendStringInfo()
calls in a row, doing nothing more then adding one more word to the String,
instead of doing them all in one call.
1998-12-14 08:11:17 +00:00
7c3b7d2744 Initial attempt to clean up the code...
Switch sprintf() to snprintf()
Remove any/all #if 0 -or- #ifdef NOT_USED -or- #ifdef FALSE sections of
	code
1998-12-14 05:19:16 +00:00
34680930d5 Fix using indices in OR.
EXPLAIN all indices used.
1998-11-22 10:48:45 +00:00
39792e5b01 EXPLAIN VERBOSE had a very high probability of triggering
a backend core dump, because it was concatenating a potentially long
string onto another string that didn't necessarily have enough room.
Shame, shame.
1998-11-08 19:38:34 +00:00
524f4b2d10 The patch does 2 things:
Fixes  a  bug  in  the rule system that caused a crashing
        backend when a join-view with calculated column  is  used
        in subselect.

        Modifies  EXPLAIN to explain rewritten queries instead of
        the plain SeqScan on a view. Rules can produce very  deep
MORE

Jan.
1998-10-21 16:21:29 +00:00
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
d9be0ff432 MergeSort was sometimes called mergejoin and was confusing. Now
it is now only mergejoin.
1998-08-04 16:44:31 +00:00
7db9ea5c1e EXPLAIN VERBOSE prints the plan, and now pretty-prints the plan to
the postmaster log file.
1998-08-04 15:00:28 +00:00
f71b671bd5 Make EXPLAIN show output more clearly. 1998-08-04 04:50:15 +00:00
9e964f90fb Fix explain for union and inheritance. Rename Append structure
members to be clearer.  Fix cost computation for these.
1998-07-15 14:54:39 +00:00
5e202d8586 show the index used in an explain
From: Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
1998-04-27 16:57:09 +00:00
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
13637df458 Support for subselects. 1998-02-13 03:21:30 +00:00
a544b605e2 Change some mallocs to palloc. 1997-12-29 05:13:57 +00:00
4a5b781d71 Break parser functions into smaller files, group together. 1997-11-25 22:07:18 +00:00
3f365ba0fc Inline memset() as MemSet(). 1997-09-18 20:22:58 +00:00
59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
b99c63cfc0 Now that names are null terminated, no need to do all that NAMEDATALEN stuff. 1997-08-18 20:53:48 +00:00
0762deacec Print 'Group' as name of Group plan. 1997-04-05 06:42:32 +00:00
3a02ccfa1d Change EXPLAIN options to just use VERBOSE. 1997-01-16 14:56:59 +00:00
765dd2a4c0 explain change 1996-12-29 19:31:16 +00:00
4415e481ef Improved EXPLAIN option handling. 1996-12-29 00:53:20 +00:00
e5fbe3017c pname=NULL -> pname="" (stringinfo.c:appendStringInfo doesn't like NULL). 1996-12-03 05:50:11 +00:00
7385619f14 Clean it up so that it compiles 1996-11-06 08:21:43 +00:00
510ebf75a1 Another first pass at cleaning up the #includes 1996-11-03 23:57:43 +00:00
f36b2560a4 Major code cleanups from D'arcy (-Wall -Werror) 1996-10-23 07:42:13 +00:00