]> granicus.if.org Git - postgresql/log
postgresql
20 years agoAvoid generating invalid character encoding sequences in make_greater_string.
Tom Lane [Mon, 2 Feb 2004 03:07:08 +0000 (03:07 +0000)]
Avoid generating invalid character encoding sequences in make_greater_string.
Not sure how this mistake evaded detection for so long.

20 years agoUse Tcl_PutEnv() in place of putenv() in libpgtcl, as the latter can
Neil Conway [Mon, 2 Feb 2004 00:35:08 +0000 (00:35 +0000)]
Use Tcl_PutEnv() in place of putenv() in libpgtcl, as the latter can
apparently corrupt the Tcl runtime. Per suggestion from Michael
Brusser <michael@synchronicity.com>

20 years agoAdjust rename on Win32 to only link to temp name while holding lock,
Bruce Momjian [Mon, 2 Feb 2004 00:17:23 +0000 (00:17 +0000)]
Adjust rename on Win32 to only link to temp name while holding lock,
then release locks and loop over renaming to active file name.

20 years agoBriefly,
Bruce Momjian [Mon, 2 Feb 2004 00:11:31 +0000 (00:11 +0000)]
Briefly,
 * configure + Makefile changes
 * shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
cygwin bug under cygwin/EXEC_BACKEND case only)
 * PATH env var separator differences
 * missing win32 rand functions added
 * placeholder replacements for sync etc under port.h

To those who are really interested, and there are a few of you: the attached
patch + file will allow the source base to be compiled (and, for some
definition, "run") under MingW, with the following caveats (I wanted to
first properly fix all but the last of these, but y'all won't quit asking
for a patch :-):

        * child death: SIGCHLD not yet sent, so as a minimum, you'll need to
put in some sort of delay after StartupDatabase, and handle setting
StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
to do)

        * dirmod.c: comment out the elog calls

        * dfmgr.c: some hackage required to substitute_libpath_macro

        * slru/xact.c: comment out the errno checking after the readdir
(fixed by next version of MingW)

Again, this is only if you *really* want to see postgres compile and start,
and is a nice leg-up for working on the other Win32 TODO list items. Just
don't expect too much else from it at this point...

Claudio Natoli

20 years agoSet locale to C before doing sort in make_ctags.
Bruce Momjian [Sun, 1 Feb 2004 23:11:33 +0000 (23:11 +0000)]
Set locale to C before doing sort in make_ctags.

20 years agoUpdate char_length() example for new semantics.
Tom Lane [Sun, 1 Feb 2004 06:55:07 +0000 (06:55 +0000)]
Update char_length() example for new semantics.

20 years agoMake length() disregard trailing spaces in char(n) values, per discussion
Tom Lane [Sun, 1 Feb 2004 06:27:48 +0000 (06:27 +0000)]
Make length() disregard trailing spaces in char(n) values, per discussion
some time ago and recent patch from Gavin Sherry.  Update documentation
to point out that trailing spaces are insignificant in char(n).

20 years agoFix a probably-harmless read of uninitialized memory in mkdir_p(), to
Neil Conway [Sat, 31 Jan 2004 22:10:00 +0000 (22:10 +0000)]
Fix a probably-harmless read of uninitialized memory in mkdir_p(), to
silence a valgrind warning.

20 years agoRemove a superfluous semi-colon.
Neil Conway [Sat, 31 Jan 2004 21:18:00 +0000 (21:18 +0000)]
Remove a superfluous semi-colon.

20 years agoMicro-opt: replace calls like
Neil Conway [Sat, 31 Jan 2004 05:09:41 +0000 (05:09 +0000)]
Micro-opt: replace calls like
    appendStringInfo(buf, "%s", str);
with
    appendStringInfoString(buf, str);
as the latter form is slightly faster.

20 years agoFix text_position to not scan past end of source string in multibyte
Tom Lane [Sat, 31 Jan 2004 00:45:21 +0000 (00:45 +0000)]
Fix text_position to not scan past end of source string in multibyte
case, per report from Korea PostgreSQL Users' Group.  Also do some
cosmetic cleanup in nearby code.

20 years agoFix debug elog message to agree with name of its routine.
Tom Lane [Fri, 30 Jan 2004 22:44:21 +0000 (22:44 +0000)]
Fix debug elog message to agree with name of its routine.

20 years agoRemove sleep() and use single PG_SLEEP call for Win32 signal handling
Bruce Momjian [Fri, 30 Jan 2004 15:57:04 +0000 (15:57 +0000)]
Remove sleep() and use single PG_SLEEP call for Win32 signal handling
and consistency.

Change PG_USLEEP to use SleepEx() for signal interuptability.

20 years agoAdd:
Bruce Momjian [Fri, 30 Jan 2004 11:11:07 +0000 (11:11 +0000)]
Add:
<
> * Allow libpq to return information about prepared queries

20 years agoFix (debatable) spelling mistake in a comment: 'concatenate' is the usual
Neil Conway [Thu, 29 Jan 2004 12:34:59 +0000 (12:34 +0000)]
Fix (debatable) spelling mistake in a comment: 'concatenate' is the usual
term, not 'catenate'.

20 years agoMake USING and WITH optional to bring the syntax of \copy into exact
Tom Lane [Wed, 28 Jan 2004 22:14:04 +0000 (22:14 +0000)]
Make USING and WITH optional to bring the syntax of \copy into exact
agreement with what the backend grammar actually accepts (which is a
bit looser than what its documentation claims).  Per report from Bill
Moran, though I did not use his patch since it removed all the
undocumented flexibility that the code historically had and the backend
still has.

20 years agoReview uses of IsUnderPostmaster, change some tests to look at
Tom Lane [Wed, 28 Jan 2004 21:02:40 +0000 (21:02 +0000)]
Review uses of IsUnderPostmaster, change some tests to look at
whereToSendOutput instead because they are really inquiring about
the correct client communication protocol.  Update some comments.
This is pointing towards supporting regular FE/BE client protocol
in a standalone backend, per discussion a month or so back.

20 years agoFix typo.
Tom Lane [Wed, 28 Jan 2004 20:43:03 +0000 (20:43 +0000)]
Fix typo.

20 years agoRemoved some debugging output.
Michael Meskes [Wed, 28 Jan 2004 09:54:23 +0000 (09:54 +0000)]
Removed some debugging output.

20 years ago- Issue a warning if a cursor is declared but not opened.
Michael Meskes [Wed, 28 Jan 2004 09:52:14 +0000 (09:52 +0000)]
- Issue a warning if a cursor is declared but not opened.
- Fixed prototype for ECPGprepared_statement to not moan about "const char"
- Fixed parsing of nested structures.
- Added option to parse header files.

20 years agoFix oversight in check_ungrouped_columns optimization that avoids
Tom Lane [Wed, 28 Jan 2004 07:46:44 +0000 (07:46 +0000)]
Fix oversight in check_ungrouped_columns optimization that avoids
unnecessary checks for complex grouping expressions: we cannot check
whether the expressions are simple Vars until after we apply
flatten_join_alias_vars, because in the case of FULL JOIN that routine
can introduce non-Var expressions.  Per example from Joel Knight.

20 years agosimplify_function() mustn't try to evaluate functions that return
Tom Lane [Wed, 28 Jan 2004 00:05:04 +0000 (00:05 +0000)]
simplify_function() mustn't try to evaluate functions that return
composite types, because TupleTableSlots aren't Datums and can't be
stored in Const nodes.  We can remove this restriction if we ever
adopt a cleaner runtime representation for whole-tuple results, but
at the moment it's broken.  Per example from Thomas Hallgren.

20 years agoImprove the documentation of the 'join_collapse_limit' GUC var. Thanks to
Neil Conway [Tue, 27 Jan 2004 16:51:43 +0000 (16:51 +0000)]
Improve the documentation of the 'join_collapse_limit' GUC var. Thanks to
Tom Lane for some editorial suggestions.

20 years agoRun stats test separately, not as part of a parallel group, to avoid
Tom Lane [Tue, 27 Jan 2004 00:50:33 +0000 (00:50 +0000)]
Run stats test separately, not as part of a parallel group, to avoid
possible failures due to stats collector not updating fast enough under
heavy load.  Per report from Jeremy Yoder.

20 years agoPgindent win32 signal code.
Bruce Momjian [Tue, 27 Jan 2004 00:46:58 +0000 (00:46 +0000)]
Pgindent win32 signal code.

20 years agoHere's the latest win32 signals code, this time in the form of a patch
Bruce Momjian [Tue, 27 Jan 2004 00:45:26 +0000 (00:45 +0000)]
Here's the latest win32 signals code, this time in the form of a patch
against the latest shapshot. It also includes the replacement of kill()
with pqkill() and sigsetmask() with pqsigsetmask().

Passes all tests fine on my linux machine once applied. Still doesn't
link completely on Win32 - there are a few things still required. But
much closer than before.

At Bruce's request, I'm goint to write up a README file about the method
of signals delivery chosen and why the others were rejected (basically a
summary of the mailinglist discussions). I'll finish that up once/if the
patch is accepted.

Magnus Hagander

20 years ago[all] Removed call to getppid in SendPostmasterSignal, replacing with a
Bruce Momjian [Mon, 26 Jan 2004 22:59:54 +0000 (22:59 +0000)]
[all] Removed call to getppid in SendPostmasterSignal, replacing with a
PostmasterPid variable, which gets set (early) in PostmasterMain
getppid would not be the postmaster?

[fork/exec] Implements processCancelRequest by keeping an array of

pid/cancel_key structs in shared mem

[fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into
SubPostmasterMain

[win32] Implements reaper/waitpid by keeping an arrays of children
pids,handles in postmaster local mem
      - this item is largely untested, for reasons which should be
obvious, but appears sound

[win32/all] Added extern for pgpipe in Win32 case, and changed the second
pipe call (which seems to have been missed earlier) to pgpipe

[win32] #define'd ftruncate to chsize in the Win32 case

[win32] PG_USLEEP for Win32 has a misplaced paren. Fixed.

[win32] DLLIMPORT handling for MingW case

Claudio Natoli

20 years agoBack out win32 patch so we can apply it separately.
Bruce Momjian [Mon, 26 Jan 2004 22:54:58 +0000 (22:54 +0000)]
Back out win32 patch so we can apply it separately.

20 years agoAttached is a patch that fixes some trivial typos and alignment. Please
Bruce Momjian [Mon, 26 Jan 2004 22:51:56 +0000 (22:51 +0000)]
Attached is a patch that fixes some trivial typos and alignment.  Please
apply.

Alvaro Herrera

20 years agoAdd Name:
Bruce Momjian [Mon, 26 Jan 2004 22:38:42 +0000 (22:38 +0000)]
Add Name:

> * -Add checks for fclose() failure (Tom)

20 years agoDone:
Bruce Momjian [Mon, 26 Jan 2004 22:38:10 +0000 (22:38 +0000)]
Done:

> * -Add checks for fclose() failure (Tom)

20 years agoEnsure that close() and fclose() are checked for errors, at least in
Tom Lane [Mon, 26 Jan 2004 22:35:32 +0000 (22:35 +0000)]
Ensure that close() and fclose() are checked for errors, at least in
cases involving writes.  Per recent discussion about the possibility
of close-time failures on some filesystems.  There is a TODO item for
this, too.

20 years agoThe attached patch clarifies (or, rather, makes explicit) to readers how
Neil Conway [Mon, 26 Jan 2004 22:13:21 +0000 (22:13 +0000)]
The attached patch clarifies (or, rather, makes explicit) to readers how
to handle memory management for char pointers returned by libpq functions.
Original patch by Gavin Sherry, some tweaking and consistency improvements
by Neil Conway.

20 years agoRepair incorrect order of operations in GetNewTransactionId(). We must
Tom Lane [Mon, 26 Jan 2004 19:15:59 +0000 (19:15 +0000)]
Repair incorrect order of operations in GetNewTransactionId().  We must
complete ExtendCLOG() before advancing nextXid, so that if that routine
fails, the next incoming transaction will try it again.  Per trouble
report from Christopher Kings-Lynne.

20 years agoAdded:
Bruce Momjian [Mon, 26 Jan 2004 18:32:08 +0000 (18:32 +0000)]
Added:

> * Dump large object comments in custom dump format

20 years agoAdd usage examples for PREPARE and EXECUTE. Original patch from Gavin
Neil Conway [Mon, 26 Jan 2004 17:26:31 +0000 (17:26 +0000)]
Add usage examples for PREPARE and EXECUTE. Original patch from Gavin
Sherry, editorializing by Neil Conway.

20 years agoDocs fix from Kris Jurka <books@ejurka.com>
Teodor Sigaev [Mon, 26 Jan 2004 15:08:52 +0000 (15:08 +0000)]
Docs fix from  Kris Jurka <books@ejurka.com>

20 years agoClarify that the 'user' column still applies for 'trust'.
Bruce Momjian [Mon, 26 Jan 2004 05:35:15 +0000 (05:35 +0000)]
Clarify that the 'user' column still applies for 'trust'.

20 years agoUpdate datestamp.
Bruce Momjian [Mon, 26 Jan 2004 05:33:24 +0000 (05:33 +0000)]
Update datestamp.

20 years agoFix an obsolete file path mentioned in a comment.
Neil Conway [Sun, 25 Jan 2004 22:19:42 +0000 (22:19 +0000)]
Fix an obsolete file path mentioned in a comment.

20 years ago*** empty log message ***
Bruce Momjian [Sun, 25 Jan 2004 04:56:25 +0000 (04:56 +0000)]
*** empty log message ***

20 years agoAdd Joe to TODO:
Bruce Momjian [Sun, 25 Jan 2004 04:50:16 +0000 (04:50 +0000)]
Add Joe to TODO:

> * Joe is Joe Conway <mail@joeconway.com>

20 years agoFix typo I mistakenly added.
Bruce Momjian [Sun, 25 Jan 2004 03:30:00 +0000 (03:30 +0000)]
Fix typo I mistakenly added.

20 years agoMore fallout from the recent psql patch: rename xmalloc and friends to
Neil Conway [Sun, 25 Jan 2004 03:07:22 +0000 (03:07 +0000)]
More fallout from the recent psql patch: rename xmalloc and friends to
pg_malloc, to avoid linker failures on same platforms.

20 years agoUpdate null storage description.
Bruce Momjian [Sun, 25 Jan 2004 02:28:43 +0000 (02:28 +0000)]
Update null storage description.

20 years agoMention that log_statement only prints query on PREPARE, not EXECUTE,
Bruce Momjian [Sun, 25 Jan 2004 00:36:18 +0000 (00:36 +0000)]
Mention that log_statement only prints query on PREPARE, not EXECUTE,
and PL/pgSQL only prints queries on first function call.

20 years agoSupport named parameters in information_schema.parameters,
Tom Lane [Sat, 24 Jan 2004 23:45:13 +0000 (23:45 +0000)]
Support named parameters in information_schema.parameters,
per Dennis Bjorklund.  I did not force initdb for this, but
you'd need to do one to get the improved view.

20 years agoFix problems with dropped columns in pltcl triggers, per report from Patrick Samson.
Tom Lane [Sat, 24 Jan 2004 23:06:29 +0000 (23:06 +0000)]
Fix problems with dropped columns in pltcl triggers, per report from Patrick Samson.

20 years agoExample of a function taking a composite type should show how to call it.
Tom Lane [Sat, 24 Jan 2004 22:05:08 +0000 (22:05 +0000)]
Example of a function taking a composite type should show how to call it.

20 years agoRevert the change to print.c, as this breaks src/bin/scripts. The proper
Neil Conway [Sat, 24 Jan 2004 20:43:26 +0000 (20:43 +0000)]
Revert the change to print.c, as this breaks src/bin/scripts. The proper
way to fix this is probably implementing safe memory handling functions
once in a static lib and then using that in the various client apps,
but for the moment I've just reverted the change to un-break the tree.

20 years agoAdded GUC variable bgwriter_flush_method controlling the action
Jan Wieck [Sat, 24 Jan 2004 20:00:46 +0000 (20:00 +0000)]
Added GUC variable bgwriter_flush_method controlling the action
done by the background writer between writing dirty blocks and
napping.

    none (default)   no action
sync             bgwriter calls smgrsync() causing a sync(2)

A global sync() is only good on dedicated database servers, so
more flush methods should be added in the future.

Jan

20 years agoThis patch makes some of the memory manipulation performed by psql a
Neil Conway [Sat, 24 Jan 2004 19:38:49 +0000 (19:38 +0000)]
This patch makes some of the memory manipulation performed by psql a
little more sane. Some parts of the code was using a static function
xmalloc() that did safe memory allocation (where "safe" means "bail
out on OOM"), but most of it was just invoking calloc() or malloc()
directly. Now almost everything invokes xmalloc() or xcalloc().

20 years agoTranslation updates
Dennis Bjorklund [Sat, 24 Jan 2004 07:30:40 +0000 (07:30 +0000)]
Translation updates

20 years agoRepair planner failure for cases involving Cartesian products inside
Tom Lane [Sat, 24 Jan 2004 00:37:28 +0000 (00:37 +0000)]
Repair planner failure for cases involving Cartesian products inside
IN (sub-SELECT) constructs.  We must force a clauseless join of the
sub-select member relations, but it wasn't happening because the code
thought it would be able to use the join clause arising from the IN.

20 years agoRevise GEQO planner to make use of some heuristic knowledge about SQL, namely
Tom Lane [Fri, 23 Jan 2004 23:54:21 +0000 (23:54 +0000)]
Revise GEQO planner to make use of some heuristic knowledge about SQL, namely
that it's good to join where there are join clauses rather than where there
are not.  Also enable it to generate bushy plans at need, so that it doesn't
fail in the presence of multiple IN clauses containing sub-joins.  These
changes appear to improve the behavior enough that we can substantially reduce
the default pool size and generations count, thereby decreasing the runtime,
and yet get as good or better plans as we were getting in 7.4.  Consequently,
adjust the default GEQO parameters.  I also modified the way geqo_effort is
used so that it affects both population size and number of generations;
it's now useful as a single control to adjust the GEQO runtime-vs-plan-quality
tradeoff.  Bump geqo_threshold to 12, since even with these changes GEQO
seems to be slower than the regular planner at 11 relations.

20 years agoAdd:
Bruce Momjian [Fri, 23 Jan 2004 15:13:30 +0000 (15:13 +0000)]
Add:

> * Improve CREATE SCHEMA regression test

20 years agoAdd MySQL mention of licensing difference.
Bruce Momjian [Fri, 23 Jan 2004 14:41:57 +0000 (14:41 +0000)]
Add MySQL mention of licensing difference.

20 years agoAdd:
Bruce Momjian [Fri, 23 Jan 2004 05:05:34 +0000 (05:05 +0000)]
Add:

> * Allow column-level privileges

20 years agoFix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDS
Neil Conway [Fri, 23 Jan 2004 02:13:12 +0000 (02:13 +0000)]
Fix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDS
patch: a 3-value enum was mistakenly assigned directly to a 'bool'
in transformCreateStmt(). Along the way, change makeObjectName()
to be static, as it isn't used outside analyze.c

20 years agoTranslation update
Peter Eisentraut [Thu, 22 Jan 2004 21:13:32 +0000 (21:13 +0000)]
Translation update

20 years agoRemove ExpandDatabasePath(), which is unused and must have been so since
Tom Lane [Thu, 22 Jan 2004 20:57:39 +0000 (20:57 +0000)]
Remove ExpandDatabasePath(), which is unused and must have been so since
7.1, because the path interpretation it embodies has been wrong since 7.1.

20 years agoMinor improvements to the trigger documentation, and a few SGML fixes.
Neil Conway [Thu, 22 Jan 2004 19:50:21 +0000 (19:50 +0000)]
Minor improvements to the trigger documentation, and a few SGML fixes.

20 years agoFix incorrect dumping of database LOCATION from 7.0.* servers.
Tom Lane [Thu, 22 Jan 2004 19:09:32 +0000 (19:09 +0000)]
Fix incorrect dumping of database LOCATION from 7.0.* servers.
Per report from Mattias Kregert.

20 years agoTranslation updates
Dennis Bjorklund [Thu, 22 Jan 2004 07:26:32 +0000 (07:26 +0000)]
Translation updates

20 years agoFix oversight in optimization that avoids an unnecessary projection step
Tom Lane [Thu, 22 Jan 2004 02:23:21 +0000 (02:23 +0000)]
Fix oversight in optimization that avoids an unnecessary projection step
when scanning a table that we need all the columns from.  In case of
SELECT INTO, we have to check that the hasoids flag matches the desired
output type, too.  Per report from Mike Mascari.

20 years agoCorrect error introduced in recent hasoids changes --- it's not a bool
Tom Lane [Thu, 22 Jan 2004 00:34:31 +0000 (00:34 +0000)]
Correct error introduced in recent hasoids changes --- it's not a bool
field anymore.

20 years agoRepair error apparently introduced in the initial coding of GUC: the
Tom Lane [Wed, 21 Jan 2004 23:33:34 +0000 (23:33 +0000)]
Repair error apparently introduced in the initial coding of GUC: the
default value for geqo_effort is supposed to be 40, not 1.  The actual
'genetic' component of the GEQO algorithm has been practically disabled
since 7.1 because of this mistake.  Improve documentation while at it.

20 years agoEnsure fflush(stdout) happens in all cases, per gripe from Jon Sablatnig.
Tom Lane [Wed, 21 Jan 2004 22:05:44 +0000 (22:05 +0000)]
Ensure fflush(stdout) happens in all cases, per gripe from Jon Sablatnig.

20 years agoIf we don't have shared libraries, we don't have conversions. Make
Tom Lane [Wed, 21 Jan 2004 19:22:19 +0000 (19:22 +0000)]
If we don't have shared libraries, we don't have conversions.  Make
conversion_create.sql be empty (except for a helpful comment) in this
case.  Allows initdb to succeed with --disable-shared.

20 years agoFix bit-rot in support for building with --disable-shared. This patch
Tom Lane [Wed, 21 Jan 2004 19:04:11 +0000 (19:04 +0000)]
Fix bit-rot in support for building with --disable-shared.  This patch
gets us past 'make install', but initdb still fails for lack of conversion
libraries ...

20 years agoAdded WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE.
Michael Meskes [Wed, 21 Jan 2004 14:09:34 +0000 (14:09 +0000)]
Added WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE.

20 years agoTranslation updates
Dennis Bjorklund [Wed, 21 Jan 2004 07:28:04 +0000 (07:28 +0000)]
Translation updates

20 years agoImplement '\copy from -' to support reading copy data from the same
Tom Lane [Tue, 20 Jan 2004 23:48:56 +0000 (23:48 +0000)]
Implement '\copy from -' to support reading copy data from the same
source the \copy came from.  Also, fix prompting logic so that initial
and per-line prompts appear for all cases of reading from an interactive
terminal.  Patch by Mark Feit, with some kibitzing by Tom Lane.

20 years agoRemove no-longer-relevant note about forcing the type of an integer
Tom Lane [Tue, 20 Jan 2004 22:46:06 +0000 (22:46 +0000)]
Remove no-longer-relevant note about forcing the type of an integer
constant.  Per Kris Jurka.

20 years agoThis is a patch to support readline prompts which contain non-printing
Tom Lane [Tue, 20 Jan 2004 19:49:34 +0000 (19:49 +0000)]
This is a patch to support readline prompts which contain non-printing
characters, as for fancy colorized prompts.  This was nearly a direct
lift from bash-2.05b's lib/readline/display.c, per guidance from Chet Ramey.

Reece Hart

20 years agoRemove JDBC from the build system and documentation, too.
Tom Lane [Mon, 19 Jan 2004 21:20:06 +0000 (21:20 +0000)]
Remove JDBC from the build system and documentation, too.

20 years agoImprove discussion of consistent-snapshot backup technique. Haphazard
Tom Lane [Mon, 19 Jan 2004 20:12:30 +0000 (20:12 +0000)]
Improve discussion of consistent-snapshot backup technique.  Haphazard
editing of this text had left nearly contradictory statements in
adjacent paragraphs ...

20 years agomissed a few files
PostgreSQL Daemon [Mon, 19 Jan 2004 20:08:27 +0000 (20:08 +0000)]
missed a few files

20 years agoJDBC is now on GBorg
PostgreSQL Daemon [Mon, 19 Jan 2004 20:07:14 +0000 (20:07 +0000)]
JDBC is now on GBorg

20 years agoRepair problem identified by Olivier Prenant: ALTER DATABASE SET search_path
Tom Lane [Mon, 19 Jan 2004 19:04:40 +0000 (19:04 +0000)]
Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_path
should not be too eager to reject paths involving unknown schemas, since
it can't really tell whether the schemas exist in the target database.
(Also, when reading pg_dumpall output, it could be that the schemas
don't exist yet, but eventually will.)  ALTER USER SET has a similar issue.
So, reduce the normal ERROR to a NOTICE when checking search_path values
for these commands.  Supporting this requires changing the API for GUC
assign_hook functions, which causes the patch to touch a lot of places,
but the changes are conceptually trivial.

20 years agoCorrect type for isalnum
Teodor Sigaev [Mon, 19 Jan 2004 18:39:45 +0000 (18:39 +0000)]
Correct type for isalnum

20 years agoFix typo.
Peter Eisentraut [Mon, 19 Jan 2004 14:28:18 +0000 (14:28 +0000)]
Fix typo.

20 years agoDon't return an overoptimistic result from join_in_selectivity when
Tom Lane [Mon, 19 Jan 2004 03:52:28 +0000 (03:52 +0000)]
Don't return an overoptimistic result from join_in_selectivity when
we have detected that an IN subquery must return unique results.

20 years agoRecognize that IN subqueries return already-unique results if they use
Tom Lane [Mon, 19 Jan 2004 03:49:41 +0000 (03:49 +0000)]
Recognize that IN subqueries return already-unique results if they use
UNION/INTERSECT/EXCEPT (without ALL).  This adds on to the previous
optimization for subqueries using DISTINCT.

20 years agoAdd a hash table to cache lookups of 'C'-language functions (that is,
Tom Lane [Mon, 19 Jan 2004 02:06:42 +0000 (02:06 +0000)]
Add a hash table to cache lookups of 'C'-language functions (that is,
dynamically loaded C functions).  Some limited testing suggests that
this puts the lookup speed for external functions just about on par
with built-in functions.  Per discussion with Eric Ridge.

20 years agoTranslation update
Peter Eisentraut [Sun, 18 Jan 2004 14:54:24 +0000 (14:54 +0000)]
Translation update

20 years agoDon't use %s-with-precision format spec to truncate data being displayed
Tom Lane [Sun, 18 Jan 2004 02:15:29 +0000 (02:15 +0000)]
Don't use %s-with-precision format spec to truncate data being displayed
in a COPY error message.  It seems that glibc gets indigestion if it is
asked to truncate strings that contain invalid UTF-8 encoding sequences.
vsnprintf will return -1 in such cases, leading to looping and eventual
memory overflow in elog.c.  Instead use our own, more robust pg_mbcliplen
routine.  I believe this problem accounts for several recent reports of
unexpected 'out of memory' errors during COPY IN.

20 years agoWhen testing whether a sub-plan can do projection, use a general-purpose
Tom Lane [Sun, 18 Jan 2004 00:50:03 +0000 (00:50 +0000)]
When testing whether a sub-plan can do projection, use a general-purpose
check instead of hardwiring assumptions that only certain plan node types
can appear at the places where we are testing.  This was always a pretty
fragile assumption, and it turns out to be broken in 7.4 for certain cases
involving IN-subselect tests that need type coercion.
Also, modify code that builds finished Plan tree so that node types that
don't do projection always copy their input node's targetlist, rather than
having the tlist passed in from the caller.  The old method makes it too
easy to write broken code that thinks it can modify the tlist when it
cannot.

20 years agoRepair misestimation of indexscan CPU costs. When an indexqual contains
Tom Lane [Sat, 17 Jan 2004 20:09:35 +0000 (20:09 +0000)]
Repair misestimation of indexscan CPU costs.  When an indexqual contains
a run-time key (that is, a nonconstant expression compared to the index
variable), the key is evaluated just once per scan, but we were charging
costs as though it were evaluated once per visited index entry.

20 years agoTighten short-circuit tests for deciding whether we need to invoke
Tom Lane [Fri, 16 Jan 2004 20:51:30 +0000 (20:51 +0000)]
Tighten short-circuit tests for deciding whether we need to invoke
tuptoaster.c --- fields that are compressed in-line are not a reason
to invoke the toaster.  Along the way, add a couple more htup.h macros
to eliminate confusing negated tests, and get rid of the already
vestigial TUPLE_TOASTER_ACTIVE symbol.

20 years agoSome refinement of XSLT processing: The result now looks just about as good
Peter Eisentraut [Thu, 15 Jan 2004 23:51:32 +0000 (23:51 +0000)]
Some refinement of XSLT processing: The result now looks just about as good
as the result of the SGML-based tool chain.

20 years agoAdjusted calculation of shared memory requirements to new
Jan Wieck [Thu, 15 Jan 2004 16:14:26 +0000 (16:14 +0000)]
Adjusted calculation of shared memory requirements to new
ARC buffer replacement strategy.

Jan

20 years agoFix permission-checking bug reported by Tim Burgess 10-Feb-03 (this time
Tom Lane [Wed, 14 Jan 2004 23:01:55 +0000 (23:01 +0000)]
Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this time
for sure...).  Rather than relying on the query context of a rangetable
entry to identify what permissions it wants checked, store a full AclMode
mask in each RTE, and check exactly those bits.  This allows an RTE
specifying, say, INSERT privilege on a view to be copied into a derived
UPDATE query without changing meaning.  Per recent discussion thread.
initdb forced due to change of stored rule representation.

20 years agoTranslation updates
Dennis Bjorklund [Wed, 14 Jan 2004 12:14:01 +0000 (12:14 +0000)]
Translation updates

20 years agopg_settings should have UPDATE privilege allowed to public.
Tom Lane [Wed, 14 Jan 2004 03:46:28 +0000 (03:46 +0000)]
pg_settings should have UPDATE privilege allowed to public.

20 years agoThe no-updates-to-system-catalogs-unless-usecatupd restriction should
Tom Lane [Wed, 14 Jan 2004 03:44:53 +0000 (03:44 +0000)]
The no-updates-to-system-catalogs-unless-usecatupd restriction should
not apply to system views.  It never mattered before 7.4, but it does now.

20 years agoRevert ill-starred change of 13-Feb-02: it appeared to fix a problem of
Tom Lane [Wed, 14 Jan 2004 03:39:22 +0000 (03:39 +0000)]
Revert ill-starred change of 13-Feb-02: it appeared to fix a problem of
incorrect permissions checking, but in fact disabled most all permissions
checks for view updates.  This corrects problems reported by Sergey
Yatskevich among others, at the cost of re-introducing the problem
previously reported by Tim Burgess.  However, since we'd lived with that
problem for quite awhile without knowing it, we can live with it awhile
longer until a proper fix can be made in 7.5.

20 years agoTranslation update
Peter Eisentraut [Tue, 13 Jan 2004 18:58:41 +0000 (18:58 +0000)]
Translation update

20 years agoMake rule and stylesheet to try out XSLT for DocBook processing
Peter Eisentraut [Tue, 13 Jan 2004 18:45:19 +0000 (18:45 +0000)]
Make rule and stylesheet to try out XSLT for DocBook processing

20 years agoFix ecpg test program to properly access int* null indicator.
Bruce Momjian [Tue, 13 Jan 2004 01:32:52 +0000 (01:32 +0000)]
Fix ecpg test program to properly access int* null indicator.