]> granicus.if.org Git - postgresql/log
postgresql
24 years agoClean up some problems in error recovery --- elog() was pretty broken
Tom Lane [Mon, 22 Nov 1999 02:06:31 +0000 (02:06 +0000)]
Clean up some problems in error recovery --- elog() was pretty broken
for the case of errors in backend startup, and proc_exit's method for
coping with errors during proc_exit was *completely* busted.  Fixed per
discussions on pghackers around 11/6/99.

24 years agoCome to think of it, DropBuffers() could have the same problem as
Tom Lane [Mon, 22 Nov 1999 02:03:21 +0000 (02:03 +0000)]
Come to think of it, DropBuffers() could have the same problem as
ReleaseRelationBuffers --- need to wait if anyone is trying to flush
out that buffer.

24 years agoReleaseRelationBuffers() failed to check for I/O in progress on a buffer
Tom Lane [Mon, 22 Nov 1999 01:19:42 +0000 (01:19 +0000)]
ReleaseRelationBuffers() failed to check for I/O in progress on a buffer
it wants to release.  This leads to a race condition: does the backend
that's trying to flush the buffer do so before the one that's deleting the
relation does so?  Usually no problem, I expect, but on occasion this could
lead to hard-to-reproduce complaints from md.c, especially mdblindwrt.

24 years agoCombine index_info and find_secondary_indexes into a single routine that
Tom Lane [Sun, 21 Nov 1999 23:25:47 +0000 (23:25 +0000)]
Combine index_info and find_secondary_indexes into a single routine that
returns a list of RelOptInfos, eliminating the need for static state
in index_info.  That static state was a direct cause of coredumps; if
anything decided to elog(ERROR) partway through an index_info search of
pg_index, the next query would try to close a scan pointer that was
pointing at no-longer-valid memory.  Another example of the reasons to
avoid static state variables...

24 years agoindex_destroy() must grab exclusive access to the parent table
Tom Lane [Sun, 21 Nov 1999 20:01:10 +0000 (20:01 +0000)]
index_destroy() must grab exclusive access to the parent table
of the index it wants to destroy.  This ensures that no other backend is
actively scanning or updating that index.  Getting exclusive access on
the index alone is NOT sufficient, because the executor is rather
cavalier about getting locks on indexes --- see ExecOpenIndices().
It might be better to grab index locks in the executor, but I'm not
sure the extra lockmanager traffic is really worth it just to make
index_destroy cleaner.

24 years agoClean up comments.
Tom Lane [Sun, 21 Nov 1999 19:56:12 +0000 (19:56 +0000)]
Clean up comments.

24 years agoChange backend-side COPY to write files with permissions 644 not 666
Tom Lane [Sun, 21 Nov 1999 04:16:17 +0000 (04:16 +0000)]
Change backend-side COPY to write files with permissions 644 not 666
(whoever thought world-writable files were a good default????).  Modify
the pg_pwd code so that pg_pwd is created with 600 permissions.  Modify
initdb so that permissions on a pre-existing PGDATA directory are not
blindly accepted: if the dir is already there, it does chmod go-rwx
to be sure that the permissions are OK and the dir actually is owned
by postgres.

24 years agoRepair problem exposed by Jan's new parallel-regression-test scaffold:
Tom Lane [Sun, 21 Nov 1999 01:58:22 +0000 (01:58 +0000)]
Repair problem exposed by Jan's new parallel-regression-test scaffold:
inval.c thought it could safely use the catcache to look up the OIDs of
system relations.  Not good, considering that inval.c could be called
during catcache loading, if a shared-inval message arrives.  Rip out the
lookup logic and instead use the known OIDs from pg_class.h.

24 years agoTweak run_check.sh so it prints the name of each test in a parallel group
Tom Lane [Sun, 21 Nov 1999 01:53:39 +0000 (01:53 +0000)]
Tweak run_check.sh so it prints the name of each test in a parallel group
as that test finishes --- helps to give the impression that something is
happening...

24 years agoMy latest fixes to gram.y cause CREATE TABLE t (f1 bool default 1 < 2)
Tom Lane [Sat, 20 Nov 1999 21:41:31 +0000 (21:41 +0000)]
My latest fixes to gram.y cause CREATE TABLE t (f1 bool default 1 < 2)
to be accepted, but constraints regress test was expecting it to fail.

24 years agoFix problems with CURRENT_DATE and related functions being used in
Tom Lane [Sat, 20 Nov 1999 21:39:36 +0000 (21:39 +0000)]
Fix problems with CURRENT_DATE and related functions being used in
table defaults or rules: translate them to a function call so that
parse_coerce doesn't reduce them to a date or time constant immediately.
Also, eliminate a lot of redundancy in the expression grammar by
defining a new nonterminal com_expr, which contains all the productions
that can be shared by a_expr and b_expr.

24 years agoFix a couple of portability problems in Jan's first-cut parallel test
Tom Lane [Sat, 20 Nov 1999 20:21:31 +0000 (20:21 +0000)]
Fix a couple of portability problems in Jan's first-cut parallel test
script.  This is way cool...

24 years agoNew parallel regression test shell and related things.
Jan Wieck [Fri, 19 Nov 1999 18:51:52 +0000 (18:51 +0000)]
New parallel regression test shell and related things.

Jan

24 years agoFix for arm32 and fix for dbname with dash.
Bruce Momjian [Thu, 18 Nov 1999 21:47:41 +0000 (21:47 +0000)]
Fix for arm32 and fix for dbname with dash.

24 years agoChanged pg_rewrite attributes ev_qual and ev_action to the new
Jan Wieck [Thu, 18 Nov 1999 13:56:30 +0000 (13:56 +0000)]
Changed pg_rewrite attributes ev_qual and ev_action to the new
compressed lztext data type.

Jan

24 years agoFix problem with temp tables shown in regression test by Jan.
Bruce Momjian [Wed, 17 Nov 1999 23:51:21 +0000 (23:51 +0000)]
Fix problem with temp tables shown in regression test by Jan.

24 years agoSome minor corrections to the LZ compression. In fact I wanted to
Jan Wieck [Wed, 17 Nov 1999 22:18:46 +0000 (22:18 +0000)]
Some minor corrections to the LZ compression. In fact I wanted to
HAVE the required OID's first.

Jan

24 years agoThe new LZ compression and an lztext data type based on it.
Jan Wieck [Wed, 17 Nov 1999 21:21:51 +0000 (21:21 +0000)]
The new LZ compression and an lztext data type based on it.

Jan

24 years agoFix lookup of temp table names that I missed yesterday.
Bruce Momjian [Tue, 16 Nov 1999 16:55:28 +0000 (16:55 +0000)]
Fix lookup of temp table names that I missed yesterday.

24 years agoModify elog() logic so that it won't try to longjmp(Warn_restart) before
Tom Lane [Tue, 16 Nov 1999 06:13:36 +0000 (06:13 +0000)]
Modify elog() logic so that it won't try to longjmp(Warn_restart) before
Warn_restart has been set by the backend main loop.  This means that
elog(ERROR) or elog(FATAL) in the postmaster or during backend startup
now have well-defined behavior: proc_exit() rather than coredump.
In the case of elog() inside the postmaster, I think that proc_exit()
is probably not enough --- don't we want our child backends to be
forced to quit too?  But I don't understand Vadim's recent changes in
this area, so I'll leave it to him to look over and tweak if needed.

24 years agoCommit to make clearer distinction for temp names and real names.
Bruce Momjian [Tue, 16 Nov 1999 04:14:03 +0000 (04:14 +0000)]
Commit to make clearer distinction for temp names and real names.
Thanks to Tom Lane for ideas.

24 years agoTree dividing is not appropriate in Rtree.
Tatsuo Ishii [Mon, 15 Nov 1999 09:59:00 +0000 (09:59 +0000)]
Tree dividing is not appropriate in Rtree.
This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp).

24 years agoClean up possible memory leakage in nodeSubplan
Tom Lane [Mon, 15 Nov 1999 03:28:07 +0000 (03:28 +0000)]
Clean up possible memory leakage in nodeSubplan

24 years agoImplement subselects in target lists. Also, relax requirement that
Tom Lane [Mon, 15 Nov 1999 02:00:15 +0000 (02:00 +0000)]
Implement subselects in target lists.  Also, relax requirement that
subselects can only appear on the righthand side of a binary operator.
That's still true for quantified predicates like x = ANY (SELECT ...),
but a subselect that delivers a single result can now appear anywhere
in an expression.  This is implemented by changing EXPR_SUBLINK sublinks
to represent just the (SELECT ...) expression, without any 'left hand
side' or combining operator --- so they're now more like EXISTS_SUBLINK.
To handle the case of '(x, y, z) = (SELECT ...)', I added a new sublink
type MULTIEXPR_SUBLINK, which acts just like EXPR_SUBLINK used to.
But the grammar will only generate one for a multiple-left-hand-side
row expression.

24 years agoUpdate sanity_check regress test to pass now that pg_index
Tom Lane [Mon, 15 Nov 1999 01:48:41 +0000 (01:48 +0000)]
Update sanity_check regress test to pass now that pg_index
and pg_amop have indexes.

24 years agoFix typo so it actually compiles...
Tom Lane [Sun, 14 Nov 1999 19:01:04 +0000 (19:01 +0000)]
Fix typo so it actually compiles...

24 years agoAdd recreate index notice to vacuum error.
Bruce Momjian [Sun, 14 Nov 1999 17:27:01 +0000 (17:27 +0000)]
Add recreate index notice to vacuum error.

24 years agoTweak make rules for parse.h and fmgr.h to avoid bug in old
Tom Lane [Sun, 14 Nov 1999 17:12:42 +0000 (17:12 +0000)]
Tweak make rules for parse.h and fmgr.h to avoid bug in old
versions of gmake.

24 years agoAdd index recreation suggestion to end of world error message.
Bruce Momjian [Sun, 14 Nov 1999 16:22:59 +0000 (16:22 +0000)]
Add index recreation suggestion to end of world error message.

24 years agoUpdate TODO list.
Bruce Momjian [Sun, 14 Nov 1999 05:11:02 +0000 (05:11 +0000)]
Update TODO list.

24 years agoFix for psql control-d and .psqlrc that I broke. Fix for \dT with
Bruce Momjian [Sat, 13 Nov 1999 19:16:47 +0000 (19:16 +0000)]
Fix for psql control-d and .psqlrc that I broke.  Fix for \dT with
descriptions enabled.

24 years agoThe \p\g fix didn't turn out to be so bad. It even works in other
Bruce Momjian [Sat, 13 Nov 1999 02:04:54 +0000 (02:04 +0000)]
The \p\g fix didn't turn out to be so bad. It even works in other
circumstances:
=> select * from foo\x\t\pset border 0 \p\g\\select * from bar;

Also the release prep update so the sql_help.h is generated before
packaging.

Peter.

24 years agoUpdate NT readme with new name.
Bruce Momjian [Fri, 12 Nov 1999 17:05:08 +0000 (17:05 +0000)]
Update NT readme with new name.

24 years agoFix ExecSubPlan to handle nulls per the SQL spec --- it didn't combine
Tom Lane [Fri, 12 Nov 1999 06:39:34 +0000 (06:39 +0000)]
Fix ExecSubPlan to handle nulls per the SQL spec --- it didn't combine
nulls with non-nulls using proper three-valued boolean logic.  Also clean
up ExecQual to make it clearer that ExecQual *does* follow the SQL spec
for boolean nulls.  See '[BUGS] (null) != (null)' thread around 10/26/99
for more detail.

24 years agoUpdate for documentation in libpq changes.
Bruce Momjian [Thu, 11 Nov 1999 21:52:28 +0000 (21:52 +0000)]
Update for documentation in libpq changes.

24 years agoIn the spirit of TODO item
Bruce Momjian [Thu, 11 Nov 1999 00:10:14 +0000 (00:10 +0000)]
In the spirit of TODO item
* Add use of 'const' for varibles in source tree
(which is misspelled, btw.)
I went through the front-end libpq code and did so. This affects in
particular the various accessor functions (such as PQdb() and
PQgetvalue()) as well as, by necessity, the internal helpers they use.

I have been really thorough in that regard, perhaps some people will find
it annoying that things like
char * foo = PQgetvalue(res, 0, 0)
will generate a warning. On the other hand it _should_ generate one. This
is no real compatibility break, although a few clients will have to be
fixed to suppress warnings. (Which again would be in the spirit of the
above TODO.)

In addition I replaced some int's by size_t's and removed some warnings
(and generated some new ones -- grmpf!). Also I rewrote PQoidStatus (so it
actually honors the const!) and supplied a new function PQoidValue that
returns a proper Oid type. This is only front-end stuff, none of the
communicaton stuff was touched.

The psql patch also adds some new consts to honor the new libpq situation,
as well as fixes a fatal condition that resulted when using the -V
(--version) option and there is no database listening.

So, to summarize, the psql you should definitely put in (with or without
the libpq). If you think I went too far with the const-mania in libpq, let
me know and I'll make adjustments. If you approve it, I will also update
the docs.

        -Peter

--
Peter Eisentraut                  Sernanders vaeg 10:115

24 years agoCleanup of psql \copyright
Bruce Momjian [Wed, 10 Nov 1999 01:22:37 +0000 (01:22 +0000)]
Cleanup of psql \copyright

25 years agopsql makefile fix from Keith Parks
Bruce Momjian [Mon, 8 Nov 1999 15:59:59 +0000 (15:59 +0000)]
psql makefile fix from Keith Parks

25 years agoNew NameStr macro to convert Name to Str. No need for var.data anymore.
Bruce Momjian [Sun, 7 Nov 1999 23:08:36 +0000 (23:08 +0000)]
New NameStr macro to convert Name to Str.  No need for var.data anymore.

Fewer calls to nameout.

Better use of RelationGetRelationName.

25 years agoexit recursion fix from Massimo
Bruce Momjian [Sat, 6 Nov 1999 19:46:57 +0000 (19:46 +0000)]
exit recursion fix from Massimo

25 years agoFix for recusive exit call from Massimo.
Bruce Momjian [Sat, 6 Nov 1999 17:01:29 +0000 (17:01 +0000)]
Fix for recusive exit call from Massimo.

25 years agoUpdate TODO list.
Bruce Momjian [Sat, 6 Nov 1999 16:55:05 +0000 (16:55 +0000)]
Update TODO list.

25 years agoSort help file names, from Peter Eisentraut
Bruce Momjian [Sat, 6 Nov 1999 16:49:06 +0000 (16:49 +0000)]
Sort help file names, from Peter Eisentraut

25 years agoAdd Linux ARM.
Bruce Momjian [Sat, 6 Nov 1999 01:55:44 +0000 (01:55 +0000)]
Add Linux ARM.

25 years agoUpdate psql banner
Bruce Momjian [Fri, 5 Nov 1999 18:21:09 +0000 (18:21 +0000)]
Update psql banner

25 years agoUpdate TODO list.
Bruce Momjian [Fri, 5 Nov 1999 16:38:54 +0000 (16:38 +0000)]
Update TODO list.

25 years agoUpdate psql display.
Bruce Momjian [Fri, 5 Nov 1999 15:44:57 +0000 (15:44 +0000)]
Update psql display.

25 years agoenvironment variable set by MULTIBYTE startup code should be
Tom Lane [Fri, 5 Nov 1999 06:43:45 +0000 (06:43 +0000)]
environment variable set by MULTIBYTE startup code should be
stored in malloc'd space, not in a static variable.  Otherwise environment
variable list is corrupted if libpq is dynamically unlinked...

25 years agoUpdate \? display.
Bruce Momjian [Fri, 5 Nov 1999 02:12:59 +0000 (02:12 +0000)]
Update \? display.

25 years agoMake pager on by default.
Bruce Momjian [Fri, 5 Nov 1999 01:38:58 +0000 (01:38 +0000)]
Make pager on by default.

25 years agoClean up \? psql display.
Bruce Momjian [Fri, 5 Nov 1999 01:25:39 +0000 (01:25 +0000)]
Clean up \? psql display.

25 years agoUpdate TODO list.
Bruce Momjian [Fri, 5 Nov 1999 01:04:59 +0000 (01:04 +0000)]
Update TODO list.

25 years agoUpdate man pages for new banner.
Bruce Momjian [Fri, 5 Nov 1999 00:57:39 +0000 (00:57 +0000)]
Update man pages for new banner.

25 years agopsql banner cleanup
Bruce Momjian [Fri, 5 Nov 1999 00:12:52 +0000 (00:12 +0000)]
psql banner cleanup

25 years agoclean up startup banner
Bruce Momjian [Fri, 5 Nov 1999 00:10:03 +0000 (00:10 +0000)]
clean up startup banner

25 years agoFix EOF/control-D display in psql.
Bruce Momjian [Thu, 4 Nov 1999 23:26:02 +0000 (23:26 +0000)]
Fix EOF/control-D display in psql.

25 years agoUpdate to psql, run pgindent.
Bruce Momjian [Thu, 4 Nov 1999 23:17:33 +0000 (23:17 +0000)]
Update to psql, run pgindent.

25 years agopsql cleanup
Bruce Momjian [Thu, 4 Nov 1999 23:14:30 +0000 (23:14 +0000)]
psql cleanup

25 years agoUpdate psql with man pages and new version of help.
Bruce Momjian [Thu, 4 Nov 1999 22:07:57 +0000 (22:07 +0000)]
Update psql with man pages and new version of help.

25 years agoMajor psql overhaul by Peter Eisentraut.
Bruce Momjian [Thu, 4 Nov 1999 21:56:02 +0000 (21:56 +0000)]
Major psql overhaul by Peter Eisentraut.

25 years agoautoconf
Bruce Momjian [Thu, 4 Nov 1999 21:48:36 +0000 (21:48 +0000)]
autoconf

25 years agoImprove getopt and readline support, from Peter Eisentraut.
Bruce Momjian [Thu, 4 Nov 1999 21:46:40 +0000 (21:46 +0000)]
Improve getopt and readline support, from Peter Eisentraut.

25 years agoUpdate bsdi for bsd/os 4.1
Bruce Momjian [Thu, 4 Nov 1999 16:22:23 +0000 (16:22 +0000)]
Update bsdi for bsd/os 4.1

25 years agoMake it possible to execute crashed CREATE/DROP commands again.
Hiroshi Inoue [Thu, 4 Nov 1999 08:01:09 +0000 (08:01 +0000)]
Make it possible to execute crashed CREATE/DROP commands again.
Now indexes of pg_class and pg_type are unique indexes
and guarantee the uniqueness of correponding attributes.
heap_create() was changed to take another boolean parameter
which allows to postpone the creation of disk file.
The name of rd_nonameunlinked was changed to rd_unlinked.
It is used generally(not only for noname relations) now.
Requires initdb.

25 years ago*** empty log message ***
Michael Meskes [Tue, 2 Nov 1999 19:03:34 +0000 (19:03 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Michael Meskes [Tue, 2 Nov 1999 12:11:53 +0000 (12:11 +0000)]
*** empty log message ***

25 years agoupdate for pgaccess
Bruce Momjian [Tue, 2 Nov 1999 00:05:29 +0000 (00:05 +0000)]
update for pgaccess

25 years agoautoconf
Bruce Momjian [Mon, 1 Nov 1999 23:59:45 +0000 (23:59 +0000)]
autoconf

25 years agoUpdate pgaccess
Bruce Momjian [Mon, 1 Nov 1999 23:55:00 +0000 (23:55 +0000)]
Update pgaccess

25 years agoautoconf
Bruce Momjian [Mon, 1 Nov 1999 23:51:55 +0000 (23:51 +0000)]
autoconf

25 years agoUpdate for pgaccess 0.98.
Bruce Momjian [Mon, 1 Nov 1999 23:48:27 +0000 (23:48 +0000)]
Update for pgaccess 0.98.

25 years agoUpdate for 6.5.3.
Bruce Momjian [Mon, 1 Nov 1999 16:20:46 +0000 (16:20 +0000)]
Update for 6.5.3.

25 years agoEliminate RewritePreprocessQuery, which was taking an
Tom Lane [Mon, 1 Nov 1999 05:18:31 +0000 (05:18 +0000)]
Eliminate RewritePreprocessQuery, which was taking an
unreasonable amount of time to clean up after a vanished parser problem.
Don't call fireRIRonSubselect when we know there are no subselects,
either.

25 years agoEliminate some unbelievably cheesy code in _copyConst().
Tom Lane [Mon, 1 Nov 1999 05:15:13 +0000 (05:15 +0000)]
Eliminate some unbelievably cheesy code in _copyConst().
Apparently, back in the dim reaches of prehistory, the parser couldn't
be trusted to label Const nodes with the correct constbyval value ...
and someone preferred to patch around this in copyObject rather than
fix the problem at the source.  The problem is long gone, but the hack
lingered on.  Until now.

25 years agoInline check for full buffer in appendStringInfoChar.
Tom Lane [Mon, 1 Nov 1999 05:10:32 +0000 (05:10 +0000)]
Inline check for full buffer in appendStringInfoChar.

25 years agoDon't call ExecOpenIndices if pg_class relhasindex shows there are no
Tom Lane [Mon, 1 Nov 1999 05:09:18 +0000 (05:09 +0000)]
Don't call ExecOpenIndices if pg_class relhasindex shows there are no
indexes to open.  Avoid unnecessary work in ExecCheckPerm, too.

25 years agoEliminate local inefficiencies in updateTargetListEntry, make_var, and
Tom Lane [Mon, 1 Nov 1999 05:06:21 +0000 (05:06 +0000)]
Eliminate local inefficiencies in updateTargetListEntry, make_var, and
make_const --- don't repeat cache searches that aren't needed.

25 years agoformatting cleanup
Bruce Momjian [Mon, 1 Nov 1999 04:00:57 +0000 (04:00 +0000)]
formatting cleanup

25 years agoUpdate version for 7.0.
Bruce Momjian [Mon, 1 Nov 1999 02:33:32 +0000 (02:33 +0000)]
Update version for 7.0.

25 years agoAllow indexes on system catalogs for use in cache code.
Bruce Momjian [Mon, 1 Nov 1999 02:29:27 +0000 (02:29 +0000)]
Allow indexes on system catalogs for use in cache code.

Thanks to Hiroshi

25 years agoautoconf
Bruce Momjian [Sun, 31 Oct 1999 19:52:28 +0000 (19:52 +0000)]
autoconf

25 years agoUpdate to pgaccess 0.98.
Bruce Momjian [Sun, 31 Oct 1999 19:50:48 +0000 (19:50 +0000)]
Update to pgaccess 0.98.

25 years agoRule dumper failed to affix '*' to inheritable RTEs.
Tom Lane [Sun, 31 Oct 1999 18:57:42 +0000 (18:57 +0000)]
Rule dumper failed to affix '*' to inheritable RTEs.

25 years agoUpdate TODO list.
Bruce Momjian [Sun, 31 Oct 1999 13:19:42 +0000 (13:19 +0000)]
Update TODO list.

25 years agoUpdate TODO list.
Bruce Momjian [Sun, 31 Oct 1999 13:10:47 +0000 (13:10 +0000)]
Update TODO list.

25 years agoUpdate for 0.98 pgaccess
Bruce Momjian [Sun, 31 Oct 1999 12:33:44 +0000 (12:33 +0000)]
Update for 0.98 pgaccess

25 years agoUpdate for 0.98.
Bruce Momjian [Sun, 31 Oct 1999 12:23:41 +0000 (12:23 +0000)]
Update for 0.98.

25 years agoautoconf
Bruce Momjian [Sun, 31 Oct 1999 11:51:29 +0000 (11:51 +0000)]
autoconf

25 years agoUpdate pgaccess makefile for 0.98
Bruce Momjian [Sun, 31 Oct 1999 11:50:03 +0000 (11:50 +0000)]
Update pgaccess makefile for 0.98

25 years agoAvoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passing
Tom Lane [Sat, 30 Oct 1999 23:13:30 +0000 (23:13 +0000)]
Avoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passing
in the TupleDesc that the caller already has (for call from ExecMain) or
can make just as easily as ExecInitJunkFilter() can (for call from
ExecAppend).  Also, don't bother to build a junk filter for an INSERT
operation that doesn't actually need one, which is the normal case.

25 years agoRearrange heap_beginscan to eliminate extra call on
Tom Lane [Sat, 30 Oct 1999 23:10:21 +0000 (23:10 +0000)]
Rearrange heap_beginscan to eliminate extra call on
mdnblocks.  Bad enough it does an lseek, but to do it twice for no
reason...

25 years agoSkip invoking set_uppernode_references() for a RESULT node
Tom Lane [Sat, 30 Oct 1999 23:07:55 +0000 (23:07 +0000)]
Skip invoking set_uppernode_references() for a RESULT node
that has no subplan --- saves a material amount of time for a simple
INSERT ... VALUES query.

25 years agoRewrite preprocess_targetlist() to reduce overhead for simple INSERTs.
Tom Lane [Sat, 30 Oct 1999 23:06:32 +0000 (23:06 +0000)]
Rewrite preprocess_targetlist() to reduce overhead for simple INSERTs.
In particular, don't bother to look up type information for attributes
where we're not actually going to use it, and avoid copying entire tlist
structure when it's not necessary.

25 years agoUpdate pgaccess for 0.98.
Bruce Momjian [Sat, 30 Oct 1999 21:21:50 +0000 (21:21 +0000)]
Update pgaccess for 0.98.

25 years agoFurther performance improvements in sorting: reduce number of comparisons
Tom Lane [Sat, 30 Oct 1999 17:27:15 +0000 (17:27 +0000)]
Further performance improvements in sorting: reduce number of comparisons
during initial run formation by keeping both current run and next-run
tuples in the same heap (yup, Knuth is smarter than I am).  And, during
merge passes, make use of available sort memory to load multiple tuples
from any one input 'tape' at a time, thereby improving locality of
access to the temp file.

25 years agoAdd pgaccess Makefile.
Bruce Momjian [Sat, 30 Oct 1999 16:39:48 +0000 (16:39 +0000)]
Add pgaccess Makefile.

25 years agoAdd 0.98.
Bruce Momjian [Sat, 30 Oct 1999 16:18:54 +0000 (16:18 +0000)]
Add 0.98.

25 years agoRemove 0.96 for update to 0.98
Bruce Momjian [Sat, 30 Oct 1999 16:01:19 +0000 (16:01 +0000)]
Remove 0.96 for update to 0.98

25 years agoOoops ... 6.5 coding wasn't quite right anymore. Should learn
Tom Lane [Sat, 30 Oct 1999 02:35:14 +0000 (02:35 +0000)]
Ooops ... 6.5 coding wasn't quite right anymore.  Should learn
never to commit without running regress tests...

25 years agoPut back code in nodeAgg to generate a dummy all-nulls input tuple
Tom Lane [Sat, 30 Oct 1999 01:18:16 +0000 (01:18 +0000)]
Put back code in nodeAgg to generate a dummy all-nulls input tuple
before calling execProject, when the outerPlan has returned zero tuples.
I took this out under the mistaken impression that the input tuple
couldn't be referenced by execProject if we weren't in GROUP BY mode.
But it can, if we're in an UPDATE or DELETE...