1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-05 09:19:17 +03:00

16910 Commits

Author SHA1 Message Date
Tom Lane
c7611f99d6 On Windows, we know the backend stack size limit because we have to
specify it explicitly in backend/Makefile.  Arrange for this value to
be known by get_stack_depth_rlimit() too.  Per suggestion from Magnus.
2006-10-08 17:15:34 +00:00
Bruce Momjian
5e0bc3b711 Update comments for pgcvslog, -r BASE does not work with cvs log. 2006-10-08 01:39:59 +00:00
Tom Lane
0629030962 Fix ancient oversight in psql's \d pattern processing code: when seeing two
quote chars inside quote marks, should emit one quote *and stay in inquotes
mode*.  No doubt the lack of reports of this have something to do with the
poor documentation of the feature ...
2006-10-07 22:21:38 +00:00
Peter Eisentraut
5a05d18e59 Added missing entry (CASCADED) in keywords table. 2006-10-07 21:51:02 +00:00
Tom Lane
953893822b Fix thinko in comment. 2006-10-07 21:48:43 +00:00
Peter Eisentraut
2b25e1169f The -X option in pg_dump was supposed to be a workaround for the lack of
portable long options.  But we have had portable long options for a long
time now, so this is obsolete.  Now people have added options which *only*
work with -X but not as regular long option, so I'm putting a stop to this:
-X is deprecated; it still works, but it has been removed from the
documentation, and please don't add more of them.
2006-10-07 20:59:05 +00:00
Tom Lane
dc9142f406 When planning a query at Bind time, be careful to pass the correct
query_list into the Portal, ie, the one seen and possibly modified by
the planner.  My fault :-(  Per report from Sergey Koposov.
2006-10-07 20:16:57 +00:00
Tom Lane
71a6f8b85b On platforms that have getrlimit(RLIMIT_STACK), use it to ensure that
max_stack_depth is not set to an unsafe value.

This commit also provides configure-time checking for <sys/resource.h>,
and cleans up some perhaps-unportable code associated with use of that
include file and getrlimit().
2006-10-07 19:25:29 +00:00
Tom Lane
1c160291ef Adjust HINT for stack depth limit to mention checking the underlying
platform limit, rather than just blindly raising max_stack_depth.
Also, tweak the code to work properly if someone sets max_stack_depth
to more than 2Gb, which guc.c will allow on a 64-bit machine.
2006-10-07 16:43:28 +00:00
Tom Lane
452fa214e5 Fix string_to_array() to correctly handle the case where there are
overlapping possible matches for the separator string, such as
string_to_array('123xx456xxx789', 'xx').
Also, revise the logic of replace(), split_part(), and string_to_array()
to avoid O(N^2) work from redundant searches and conversions to pg_wchar
format when there are N matches to the separator string.
Backpatched the full patch as far as 8.0.  7.4 also has the bug, but the
code has diverged a lot, so I just went for a quick-and-dirty fix of the
bug itself in that branch.
2006-10-07 00:11:53 +00:00
Tom Lane
11d4d424d4 Fix bcc32.mak to create and remove pg_config_os.h properly. Apparently
win32.mak got patched for this, but not bcc32.mak.
2006-10-06 18:53:53 +00:00
Tom Lane
6ea8f49573 Fix SysCacheGetAttr() to handle the case where the specified syscache has not
been initialized yet.  This can happen because there are code paths that call
SysCacheGetAttr() on a tuple originally fetched from a different syscache
(hopefully on the same catalog) than the one specified in the call.  It
doesn't seem useful or robust to try to prevent that from happening, so just
improve the function to cope instead.  Per bug#2678 from Jeff Trout.  The
specific example shown by Jeff is new in 8.1, but to be on the safe side
I'm backpatching 8.0 as well.  We could patch 7.x similarly but I think
that's probably overkill, given the lack of evidence of old bugs of this ilk.
2006-10-06 18:23:35 +00:00
Peter Eisentraut
b9b4f10b5b Message style improvements 2006-10-06 17:14:01 +00:00
Tom Lane
378c79dc78 Cleanup for pglz_compress code: remove dead code, const-ify API of
remaining functions, simplify pglz_compress's API to not require a useless
data copy when compression fails.  Also add a check in pglz_decompress that
the expected amount of data was decompressed.
2006-10-05 23:33:33 +00:00
Tom Lane
e378f82e00 Make use of qsort_arg in several places that were formerly using klugy
static variables.  This avoids any risk of potential non-reentrancy,
and in particular offers a much cleaner workaround for the Intel compiler
bug that was affecting ginutil.c.
2006-10-05 17:57:40 +00:00
Tom Lane
b2c04d5e6b Work around buggy strtod on (some versions of?) IRIX. Combination of
proposed patches from John Jorgensen and Steve Singer.
2006-10-05 01:40:45 +00:00
Tom Lane
9e6c3582dd Second try at fixing libedit configuration for Bob Friesenhahn.
Buildfarm results from 'gazelle' show that there are indeed libedit
versions for which history.h is a needed header, even though it's
apparently been dropped entirely in other versions.  Grumble.
2006-10-05 00:07:45 +00:00
Bruce Momjian
03ea9ecbda Update Solaris strtod() bug comment. 2006-10-04 22:49:44 +00:00
Bruce Momjian
50a3fb9f22 Update Solaris strtol() bug comment. 2006-10-04 22:48:41 +00:00
Tom Lane
bdef2bf296 Adjust configure's handling of libedit to not look for a history.h file.
Per Bob Friesenhahn's report, this file is not supplied by some versions
of libedit, and even when it is supplied it seems to be just a link to
readline.h, so we don't need to include it anyway.
Also, ensure that we won't try to use a too-old version of Bison.
The previous coding would bleat but then use it anyway; better to invoke
the 'missing' script if any grammar files need to be rebuilt.
2006-10-04 22:31:14 +00:00
Bruce Momjian
abcf7603c0 Exclude pgindent from affecting the ecpg regression directory. 2006-10-04 20:42:19 +00:00
Tom Lane
ff40057116 Fix initdb's logic for picking shared_buffers/max_fsm_pages, which had
gotten rather thoroughly whacked out by careless recent changes: the
intended ratio between the two was off by a lot, and the minimum number
of shared buffers tried had increased by a lot.  Problem exposed by
failures on buildfarm members with smaller SHMMAX values.
2006-10-04 18:58:08 +00:00
Tom Lane
af0af42f85 Fix comment to agree with presentation. 2006-10-04 18:45:52 +00:00
Tom Lane
0d2aed94c2 Add qsort and qsort_arg to MSVC list of src/port files. 2006-10-04 16:51:22 +00:00
Michael Meskes
fcc2fbac22 Reverted changes made by pgindent
Made show.pgc set all variables before displaying them.
2006-10-04 10:09:03 +00:00
Bruce Momjian
f99a569a2e pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
Bruce Momjian
451e419e98 Udpate typedefs for pgindent. 2006-10-04 00:02:10 +00:00
Tom Lane
6edd2b4a91 Switch over to using our own qsort() all the time, as has been proposed
repeatedly.  Now that we don't have to worry about memory leaks from
glibc's qsort, we can safely put CHECK_FOR_INTERRUPTS into the tuplesort
comparators, as was requested a couple months ago.  Also, get rid of
non-reentrancy and an extra level of function call in tuplesort.c by
providing a variant qsort_arg() API that passes an extra void * argument
through to the comparison routine.  (We might want to use that in other
places too, I didn't look yet.)
2006-10-03 22:18:23 +00:00
Bruce Momjian
ed80f5701b pgevent fixes:
1) Make vcbuild actually build the pgevent dll.
2) Change the pgevent DLL file so it doens't specify ordinal for the
functions. You're not supposed to do that. You're actually supposed to
declare them as PRIVATE as well, but mingw doesn't support that. VC++
will throw a warning and not an error though, so we can live with it.

Magnus Hagander
2006-10-03 22:12:14 +00:00
Bruce Momjian
eff77a759a Update typedef list for 8.2 pgindent run. 2006-10-03 22:09:42 +00:00
Bruce Momjian
fb541a1b59 Fix yesno_prompt() memory leak in /script tools, reported by Converity. 2006-10-03 21:45:20 +00:00
Bruce Momjian
0a42adcc32 Improve numeric overflow error message.
David Fetter
2006-10-03 21:25:56 +00:00
Bruce Momjian
45c8ed96b9 Make some sentences consistent with similar ones.
Euler Taveira de Oliveira
2006-10-03 21:21:36 +00:00
Bruce Momjian
5441a64164 The attached patch changes units of the some default values in
postgresql.conf.

- shared_buffers = 32000kB => 32MB
- temp_buffers = 8000kB => 8MB
- wal_buffers = 8 => 64kB

The code of initdb was a bit modified to write MB-unit values.
Values greater than 8000kB are rounded out to MB.

GUC_UNIT_XBLOCKS is added for wal_buffers. It is like GUC_UNIT_BLOCKS,
but uses XLOG_BLCKSZ instead of BLCKSZ.

Also, I cleaned up the test of GUC_UNIT_* flags in preparation to
add more unit flags in less bits.

ITAGAKI Takahiro
2006-10-03 21:11:55 +00:00
Bruce Momjian
e15ce612b5 Cleanup pgwin32_open() 'if' test, and avoid possible error. 2006-10-03 20:44:18 +00:00
Tom Lane
0184c6835c Rearrange MSVC errcode hack, fix incorrect _MSC_VER test. Magnus 2006-10-03 20:33:20 +00:00
Bruce Momjian
878f32feab Move WIN32_ONLY_COMPILER define from c.h to win32.h because it was being
defined too late.
2006-10-03 03:59:22 +00:00
Bruce Momjian
e3f1607cf8 Mention in postgresql.conf that autovacuum also needs
stats_start_collector and stats_row_level to also be on

David Wheeler
2006-10-03 00:39:26 +00:00
Bruce Momjian
b65b2cead5 Add URL about strlcpy() creation history. 2006-10-02 23:58:59 +00:00
Tom Lane
1e05359f4b Properly handle the case where strlcpy() exists in libc but isn't
declared in the system headers.  Per report from Bruce than some BSDen
are like this.
2006-10-02 00:06:18 +00:00
Tom Lane
db2dcf58be Make some marginal performance improvements in reportErrorPosition(),
which turns out to be a dominant part of the runtime in scenarios
involving lots of parse-time warnings (such as Stephen Frost's example
of an INSERT with a lot of backslash-containing strings).  There's not
a whole lot we can do about the character-at-a-time scanning, but we
can at least avoid traversing the query twice.
2006-10-01 22:25:48 +00:00
Tom Lane
8e4fe3ba1e Do a CHECK_FOR_INTERRUPTS after emitting a message of less than ERROR
severity.  This is to ensure the user can cancel a query that's spitting
out lots of notice/warning messages, even if they're coming from a loop
that doesn't otherwise contain a CHECK_FOR_INTERRUPTS.  Per gripe from
Stephen Frost.
2006-10-01 22:08:18 +00:00
Tom Lane
514ce7a331 Fix overly enthusiastic Assert introduced in 8.1: it's expecting a
CaseTestExpr, but forgot that the optimizer is sometimes able to replace
CaseTestExpr by Const.
2006-10-01 17:23:38 +00:00
Bruce Momjian
a9c7c5c240 BSD/OS doesn't have a prototype for strlcpy() but has the function, so
work around that with defines.
2006-09-30 12:06:42 +00:00
Tom Lane
352a56ba68 Allow assignment to array elements not contiguous with those already
present; intervening positions are filled with nulls.  This behavior
is required by SQL99 but was not implementable before 8.2 due to lack
of support for nulls in arrays.  I have only made it work for the
one-dimensional case, which is all that SQL99 requires.  It seems quite
complex to get it right in higher dimensions, and since we never allowed
extension at all in higher dimensions, I think that must count as a
future feature addition not a bug fix.
2006-09-29 21:22:21 +00:00
Tom Lane
f213131f20 Fix IS NULL and IS NOT NULL tests on row-valued expressions to conform to
the SQL spec, viz IS NULL is true if all the row's fields are null, IS NOT
NULL is true if all the row's fields are not null.  The former coding got
this right for a limited number of cases with IS NULL (ie, those where it
could disassemble a ROW constructor at parse time), but was entirely wrong
for IS NOT NULL.  Per report from Teodor.

I desisted from changing the behavior for arrays, since on closer inspection
it's not clear that there's any support for that in the SQL spec.  This
probably needs more consideration.
2006-09-28 20:51:43 +00:00
Tom Lane
062421defb Fix a couple other places that need to know about (some) src/port/ files
explicitly.
2006-09-28 14:48:45 +00:00
Tom Lane
85bbd549d8 Oops, forgot that libpq needs extra steps to make use of src/port/ files. 2006-09-27 21:29:17 +00:00
Tom Lane
c92f7e258e Replace strncpy with strlcpy in selected places that seem possibly relevant
to performance.  (A wholesale effort to get rid of strncpy should be
undertaken sometime, but not during beta.)  This commit also fixes dynahash.c
to correctly truncate overlength string keys for hashtables, so that its
callers don't have to anymore.
2006-09-27 18:40:10 +00:00
Tom Lane
996b203e62 Add strlcpy() to the set of functions supported by src/port/ when not
available directly on the platform.  Per discussion, this function is
sufficiently widely recognized to be treated as standard.
2006-09-27 16:29:46 +00:00