Commit Graph

16948 Commits

Author SHA1 Message Date
Neil Conway 7b2cf1713d Micro-opt: replace calls like
appendStringInfo(buf, "%s", str);
with
    appendStringInfoString(buf, str);
as the latter form is slightly faster.
2004-01-31 05:09:41 +00:00
Tom Lane d4fd7d85f3 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.
2004-01-31 00:45:21 +00:00
Tom Lane a3c969d522 Fix debug elog message to agree with name of its routine. 2004-01-30 22:44:21 +00:00
Bruce Momjian 5ee2ae2049 Remove sleep() and use single PG_SLEEP call for Win32 signal handling
and consistency.

Change PG_USLEEP to use SleepEx() for signal interuptability.
2004-01-30 15:57:04 +00:00
Bruce Momjian 777babeced Add:
<
> * Allow libpq to return information about prepared queries
2004-01-30 11:11:07 +00:00
Neil Conway 940b87e722 Fix (debatable) spelling mistake in a comment: 'concatenate' is the usual
term, not 'catenate'.
2004-01-29 12:34:59 +00:00
Tom Lane 18f9d7c74e 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.
2004-01-28 22:14:04 +00:00
Tom Lane 2f0d43b251 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.
2004-01-28 21:02:40 +00:00
Tom Lane b3ead7c045 Fix typo. 2004-01-28 20:43:03 +00:00
Michael Meskes 6d9a81b66f Removed some debugging output. 2004-01-28 09:54:23 +00:00
Michael Meskes 6ccfc4f430 - 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.
2004-01-28 09:52:14 +00:00
Tom Lane 31a0f1d33b 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.
2004-01-28 07:46:44 +00:00
Tom Lane 4405b3e05e 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.
2004-01-28 00:05:04 +00:00
Neil Conway 45842e6c52 Improve the documentation of the 'join_collapse_limit' GUC var. Thanks to
Tom Lane for some editorial suggestions.
2004-01-27 16:51:43 +00:00
Tom Lane 7e34b2d73f 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.
2004-01-27 00:50:33 +00:00
Bruce Momjian 70d5811514 Pgindent win32 signal code. 2004-01-27 00:46:58 +00:00
Bruce Momjian 50491963cb 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
2004-01-27 00:45:26 +00:00
Bruce Momjian eec08b95e7 [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
2004-01-26 22:59:54 +00:00
Bruce Momjian ede3b762a3 Back out win32 patch so we can apply it separately. 2004-01-26 22:54:58 +00:00
Bruce Momjian f4921e5ca3 Attached is a patch that fixes some trivial typos and alignment. Please
apply.

Alvaro Herrera
2004-01-26 22:51:56 +00:00
Bruce Momjian af29187f2e Add Name:
> * -Add checks for fclose() failure (Tom)
2004-01-26 22:38:42 +00:00
Bruce Momjian ee96c82cc2 Done:
> * -Add checks for fclose() failure (Tom)
2004-01-26 22:38:10 +00:00
Tom Lane c77f363384 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.
2004-01-26 22:35:32 +00:00
Neil Conway e0707cbae9 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.
2004-01-26 22:13:21 +00:00
Tom Lane be11fa26e3 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.
2004-01-26 19:15:59 +00:00
Bruce Momjian 7a14a72e08 Added:
> * Dump large object comments in custom dump format
2004-01-26 18:32:08 +00:00
Neil Conway f30d39e706 Add usage examples for PREPARE and EXECUTE. Original patch from Gavin
Sherry, editorializing by Neil Conway.
2004-01-26 17:26:31 +00:00
Teodor Sigaev 146aab497e Docs fix from Kris Jurka <books@ejurka.com> 2004-01-26 15:08:52 +00:00
Bruce Momjian ee2f149d30 Clarify that the 'user' column still applies for 'trust'. 2004-01-26 05:35:15 +00:00
Bruce Momjian 3761f968c8 Update datestamp. 2004-01-26 05:33:24 +00:00
Neil Conway 11c7bdb4e4 Fix an obsolete file path mentioned in a comment. 2004-01-25 22:19:42 +00:00
Bruce Momjian 34f0a8e72d *** empty log message *** 2004-01-25 04:56:25 +00:00
Bruce Momjian ccf3a0440a Add Joe to TODO:
> * Joe is Joe Conway <mail@joeconway.com>
2004-01-25 04:50:16 +00:00
Bruce Momjian acfa013e81 Fix typo I mistakenly added. 2004-01-25 03:30:00 +00:00
Neil Conway e10bb0518a More fallout from the recent psql patch: rename xmalloc and friends to
pg_malloc, to avoid linker failures on same platforms.
2004-01-25 03:07:22 +00:00
Bruce Momjian afe7b7b60e Update null storage description. 2004-01-25 02:28:43 +00:00
Bruce Momjian 8303a3d1ea Mention that log_statement only prints query on PREPARE, not EXECUTE,
and PL/pgSQL only prints queries on first function call.
2004-01-25 00:36:18 +00:00
Tom Lane 9d8888079d 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.
2004-01-24 23:45:13 +00:00
Tom Lane c8bcd5ca92 Fix problems with dropped columns in pltcl triggers, per report from Patrick Samson. 2004-01-24 23:06:29 +00:00
Tom Lane 0152f14812 Example of a function taking a composite type should show how to call it. 2004-01-24 22:05:08 +00:00
Neil Conway 6f046b9d9f 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.
2004-01-24 20:43:26 +00:00
Jan Wieck d77b63b17c 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
2004-01-24 20:00:46 +00:00
Neil Conway 610d33c194 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().
2004-01-24 19:38:49 +00:00
Dennis Bjorklund cb3dc829f6 Translation updates 2004-01-24 07:30:40 +00:00
Tom Lane 5d66583678 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.
2004-01-24 00:37:28 +00:00
Tom Lane 3969f2924b 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.
2004-01-23 23:54:21 +00:00
Bruce Momjian 81c554bbe8 Add:
> * Improve CREATE SCHEMA regression test
2004-01-23 15:13:30 +00:00
Bruce Momjian 8e32f78b1d Add MySQL mention of licensing difference. 2004-01-23 14:41:57 +00:00
Bruce Momjian d84db7d56d Add:
> * Allow column-level privileges
2004-01-23 05:05:34 +00:00
Neil Conway 0bd3606d72 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
2004-01-23 02:13:12 +00:00