Commit Graph

19696 Commits

Author SHA1 Message Date
Bruce Momjian 70d4a9343f Prevent large allocation in snprintf to hold positional parameters.
Allocated size based on format string.
2005-03-02 05:22:22 +00:00
Tom Lane 3104a92866 Another go at making pred_test() handle all reasonable combinations
of AND and OR clauses.  The key point here is that an OR on the
predicate side has to be treated gingerly: we may be able to prove
that the OR is implied even when no one of its components is implied.
For example (x OR y) implies (x OR y OR z) even though no one of x,
y, or z can be individually proven.  This code handles both the
example shown recently by Sergey Koshcheyev and the one shown last
October by Dawid Kuroczko.
2005-03-02 04:10:53 +00:00
Bruce Momjian 47ea7148e3 Fix snprintf on Win32:
*  If vsnprintf() is not before snprintf() in this file, snprintf()
 *  will call the system vsnprintf() on MinGW.
2005-03-02 03:21:52 +00:00
Bruce Momjian 9989e90490 Make port snprintf.c finally thread-safe. 2005-03-02 00:02:13 +00:00
Neil Conway 87aafa1600 SGML improvements to the DML chapter. 2005-03-01 23:45:00 +00:00
Tom Lane a2ad04f4b0 Release proclock immediately in RemoveFromWaitQueue() if it represents
no held locks.  This maintains the invariant that proclocks are present
only for procs that are holding or awaiting a lock; when this is not
true, LockRelease will fail.  Per report from Stephen Clouse.
2005-03-01 21:14:59 +00:00
Tom Lane ccba1d0c9c Allow Trace_lock_oidmin to be set to zero; this is a reasonable
representation of not wanting tracing to be limited by object OID.
2005-03-01 20:23:34 +00:00
Teodor Sigaev e1662cb6b8 Simplify/clean up code for varlena types 2005-03-01 15:40:04 +00:00
Bruce Momjian 03b8efa540 Make snprintf() use already-defined int64/uint64 typedefs rather than
defining its own.
2005-03-01 05:47:28 +00:00
Bruce Momjian 5edb76d4fc Done:
> * -Make src/port/snprintf.c thread-safe
2005-03-01 05:00:20 +00:00
Tom Lane 95871703e3 Adjust OR indexscan logic to not generate redundant condition-free OR
indexscans involving partial indexes.  These would always be dominated
by a simple indexscan on such an index, so there's no point in considering
them.  Fixes overoptimism in a patch I applied last October.
2005-03-01 01:40:05 +00:00
Bruce Momjian 295dd338c3 And while we are on it, I would like to submit minor
changes to make snprintf() vsnprintf() and printf()
functions in src/port/snprintf.c thread-safe.

Nicolai Tufar
2005-03-01 00:38:11 +00:00
Tom Lane 4e89bae704 Revert the logic for expanding AND/OR conditions in pred_test() to what
it was in 7.4, and add some comments explaining why it has to be this way.
I broke it for OR'd index predicates in a fit of code cleanup last summer.
Per example from Sergey Koshcheyev.
2005-03-01 00:24:52 +00:00
Tom Lane 5c4a91c295 Un-break configure snprintf tests (partly my fault, partly Bruce's). 2005-02-28 20:55:18 +00:00
Bruce Momjian f1430ce063 Move PGAC_FUNC_PRINTF_ARG_CONTROL to just above snprintf 64-bit tests so
its output can be used to select the proper printf outputs.
2005-02-28 20:36:05 +00:00
Bruce Momjian 949ab3c9b3 snprintf.c has no sys/ioctl.h. Trivial patch below:
Magnus Hagander
2005-02-28 14:16:16 +00:00
Neil Conway 484f0464ff Implement max() and min() aggregates for array types. Patch from Koju
Iijima, reviewed by Neil Conway. Catalog version number bumped,
regression tests updated.
2005-02-28 03:45:24 +00:00
Bruce Momjian 517872c566 Because the change to gettext. Needs a bunch of new includes. Patch
follows:

Magnus Hagander
2005-02-27 22:57:17 +00:00
Bruce Momjian c5a7a6a3dc Tab indent all actions in bcc32.mak, and do it on win32.mak too for
consistency.  Backpatch only bcc32.mak to 8.0.X.
2005-02-27 22:39:52 +00:00
Neil Conway 5285b35763 Add explicit casts between int4 and boolean. Patch from Sean Chittenden,
editorializing by Neil Conway. Catalog version bumped.
2005-02-27 08:31:30 +00:00
Bruce Momjian 2d22f16132 Rename planner stats detail to avoid label confict. 2005-02-27 01:17:34 +00:00
Bruce Momjian 76fa5e6e18 Cause Win32 to output to the event log rather than stderr by default.
Magnus Hagander
2005-02-27 01:02:57 +00:00
Bruce Momjian afbc30e5d4 Allow Win32 to support the O_SYNC open flag as an wal_sync_method method.
Magnus Hagander
2005-02-27 00:53:29 +00:00
Bruce Momjian 234d50812c Add documentation on how statistics are used by the planner.
Mark Kirkwood
2005-02-27 00:49:28 +00:00
Bruce Momjian 4f51368bad Add routines to dbsize to return the index size and total relation size.
Improve documentation.

Ed L.
2005-02-26 23:31:15 +00:00
Bruce Momjian f55339577b Adjust OS-specific kernel settings to mention old and new BSD methods of
adjusting values:

> But to be on the safe side, it would make sense to do something similar
> to the BSD section, and comment about older distributions maybe needing
> to manipulate /proc/kernel/* directly.

Mark Kirkwood
2005-02-26 23:19:05 +00:00
Tom Lane 0fc4ecf935 Finish up the flat-files project: get rid of GetRawDatabaseInfo() hack
in favor of looking at the flat file copy of pg_database during backend
startup.  This should finally eliminate the various corner cases in which
backend startup fails unexpectedly because it isn't able to distinguish
live and dead tuples in pg_database.  Simplify locking on pg_database
to be similar to the rules used with pg_shadow and pg_group, and eliminate
FlushRelationBuffers operations that were used only to reduce the odds
of failure of GetRawDatabaseInfo.
initdb forced due to addition of a trigger to pg_database.
2005-02-26 18:43:34 +00:00
Bruce Momjian ffef9a9de4 Clarify PGPASSWORD usage:
! authentication.  Use of this environment variable is not
! recommended for security reasons (some operating systems
! allow non-root users to see process environment variables via
! <application>ps</>); instead consider using  the
! <filename>~/.pgpass</> file (see <xref linkend="libpq-pgpass">).
2005-02-26 18:39:04 +00:00
Tom Lane 891497d3a9 Correct overstatement in locking docs: we said ExclusiveLock is never
taken automatically, but this is only true with respect to user tables.
2005-02-26 18:37:17 +00:00
Bruce Momjian 0060023c3d State PGPASSWORD is "not recommended" rather than "depricated". 2005-02-26 14:21:40 +00:00
Teodor Sigaev 5553d6572a In accordance to
http://www.pgsql.ru/db/mw/msg.html?mid=2045361

change TimeATD to/from Datum macros.

Re-initdb is needed.
2005-02-25 16:13:29 +00:00
Bruce Momjian 33b92a78da Add linking from /port to bcc makefile. 2005-02-25 15:57:33 +00:00
Teodor Sigaev ea90a93a46 Fix float8->int64 transformation 2005-02-25 14:03:04 +00:00
Bruce Momjian 93aa22fc8e Please find enclosed a patch, per Dennis Bj<C3><B6>rklund, that uses -f
for input files rather than <.  This makes error messages, &c. more
expressive.

David Fetter
2005-02-25 04:56:01 +00:00
Bruce Momjian 6b80ca2f06 Fix plpgsql error message for dropped temporary tables. 2005-02-25 04:18:27 +00:00
Bruce Momjian e49da4855c Clarify object ownership language to prevent confusion with database
ownership.
2005-02-25 02:34:56 +00:00
Bruce Momjian 0c6568424a Updatge wording. 2005-02-25 00:45:30 +00:00
Bruce Momjian 3debf968ef Fix markup. 2005-02-25 00:32:55 +00:00
Bruce Momjian 026a8510a3 Fix HTML markup and add NULL sorting item to existing NULL FAQ item.
Greg Sabino Mullan
2005-02-25 00:32:15 +00:00
Bruce Momjian d2557833e9 Add:
> * Improve psql's handling of multi-line queries
2005-02-25 00:24:10 +00:00
Bruce Momjian 0b58d30168 Add wording about UTF8:
< 	  like towupper().
> 	  like towupper().  However, UTF8 already works with normal
> 	  locales but provides no ordering.
2005-02-24 23:39:29 +00:00
Bruce Momjian 0ae430a207 Done:
> 	o -Change PL/PgSQL to use palloc() instead of malloc()
2005-02-24 14:14:41 +00:00
Tom Lane 13227910e4 We aren't supposed to try to run test programs until after we've
verified that AC_TRY_RUN works.
2005-02-24 02:12:15 +00:00
Tom Lane e71d09a472 Clean up printf arg-control test, per Kurt Roeckx. 2005-02-24 01:34:45 +00:00
Tom Lane 41994145d4 My patch this morning was overly hasty; revert code to original state. 2005-02-24 01:11:40 +00:00
Neil Conway 406a942820 Minor code cleanup: remove a variable that was assigned to but never
subsequently referenced.

Found by: Coverity
Fixed by: Sean Chittenden
2005-02-23 23:27:54 +00:00
Neil Conway 3350b3740e This patch optimizes the md5_text() function (which is used to
implement the md5() SQL-level function). The old code did the
following:

1. de-toast the datum
2. convert it to a cstring via textout()
3. get the length of the cstring via strlen()

Since we are treating the datum context as a blob of binary data,
the latter two steps are unnecessary. Once the data has been
detoasted, we can just use it as-is, and derive its length from
the varlena metadata.

This patch improves some run-of-the-mill md5() computations by
just under 10% in my limited tests, and passes the regression tests.

I also noticed that md5_text() wasn't checking the return value
of md5_hash(); encountering OOM at precisely the right moment
could result in returning a random md5 hash. This patch corrects
that. A better fix would be to make md5_hash() only return on
success (and/or allocate via palloc()), but since it's used in
the frontend as well I don't see an easy way to do that.
2005-02-23 22:46:17 +00:00
Tom Lane b9a87e5219 Un-break plpgsql build by removing unwanted _() usage.
This would be a completely inappropriate place to apply localization
anyway.
2005-02-23 16:23:07 +00:00
Bruce Momjian e3267b6517 Properly undef _(x) gettext macro. 2005-02-23 04:34:21 +00:00
Tom Lane 26b9a2860f Document that only a table's owner may TRUNCATE it. Per Keith Worthington. 2005-02-22 19:06:18 +00:00