Commit graph

14097 commits

Author SHA1 Message Date
Bruce Momjian
fb2c2d83e0 Prevent locale-aware handling of upper, lower, and initcap when the
locale is C.

Backpatch to 8.0.X because some operating systems were throwing errors
for such operations, rather than ignoring the locale when it was C.
2005-03-16 00:03:02 +00:00
Bruce Momjian
f38cb720d9 Increment all major version numbers in 8.0.X to force recompile of
client aplications so 7.4.X releases can be installed on the same
machine as 8.0.X.
2005-03-13 22:04:45 +00:00
Tom Lane
b3dbaab1e9 Fix ALTER DATABASE RENAME to allow the operation if user is a superuser
who for some reason isn't marked usecreatedb.  Per report from Alexander
Pravking.  Also fix sloppy coding in have_createdb_privilege().
2005-03-12 21:12:05 +00:00
Tom Lane
bdcf632d62 Fix problem with infinite recursion between write_syslogger_file and
elog if the former has trouble writing its file.  Code review for
Magnus' patch to redirect stderr to syslog on Windows (Bruce's version
seems right, but did some minor prettification).

Backpatch both changes to 8.0 branch.
2005-03-12 01:55:15 +00:00
Bruce Momjian
30854a53fe Properly implement "Response files" for bcc. Add URL's to describe the
feature for Win32 and bcc.
2005-03-07 21:11:07 +00:00
Tom Lane
4e8af8d273 Replace ARC cache management algorithm with the similar but slightly
simpler 2Q algorithm, to avoid possible problems with the pending patent
on ARC.  Testing so far suggests that there is little if any performance
loss from doing this.

Note that this patch is going into the 8.0 branch only; a much more
extensive revision is planned for HEAD.
2005-03-03 16:47:43 +00:00
Tom Lane
3f16b38a23 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:15:10 +00:00
Tom Lane
bfc2942321 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:39 +00:00
Tom Lane
3da9fd8544 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:25:45 +00:00
Bruce Momjian
ba6b067ce8 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:38:29 +00:00
Bruce Momjian
a72fd004ba Add linking from /port to bcc makefile. 2005-02-25 15:57:41 +00:00
Bruce Momjian
bb7f5a7393 Try to get Borland CC to compile.
Backpatch to 8.0.X which doesn't work right now.
2005-02-21 21:22:46 +00:00
Tom Lane
0845ee3958 New arrangement to always let the bgwriter do checkpoints broke
CHECKPOINT and some other commands in the context of a standalone
backend.  Allow a standalone backend to do its own checkpoints.
2005-02-19 23:16:27 +00:00
Tom Lane
254eef2f28 Ensure that the resolved datatype of any unknown Param is propagated
into the sub-SELECT targetlist when it appears in the context
INSERT INTO foo SELECT $1 ...  Per report from Abhijit Menon-Sen.
2005-02-19 19:33:23 +00:00
Tom Lane
c35c944b87 ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich. 2005-02-14 06:17:59 +00:00
Bruce Momjian
92597d1386 Print file name and errno string on rmtree failure.
Backpatch to 8.0.X.
2005-02-13 16:50:54 +00:00
Peter Eisentraut
66b568ca96 Translation updates 2005-02-11 11:53:32 +00:00
Tom Lane
9843862b50 Fix SPI cursor support to allow scanning the results of utility commands
that return tuples (such as EXPLAIN).  Per gripe from Michael Fuhr.
Side effect: fix an old bug that unintentionally disabled backward scans
for all SPI-created cursors.
2005-02-10 20:36:49 +00:00
Michael Meskes
95b40b7f77 Fixed more parsing bugs in other CREATE statements. 2005-02-10 08:07:46 +00:00
Neil Conway
789aafebd5 ALTER TABLE ADD COLUMN exhibits a significant memory leak when adding a
column with a default expression. In that situation, we need to rewrite
the heap relation. To evaluate the new default expression, we use
ExecEvalExpr(); however, this can allocate memory in the current memory
context, and ATRewriteTable() does not switch out of the active portal's
heap memory context. The end result is a rather large memory leak (on
the order of gigabytes for a reasonably sized table).

This patch changes ATRewriteTable() to switch to the per-tuple memory
context before beginning the per-tuple loop. It also removes an explicit
heap_freetuple() in the loop, since that is no longer needed.

In an unrelated change, I noticed the code was scanning through the
attributes of the new tuple descriptor for each tuple of the old table.
I changed this to use precomputation, which should slightly speed up
the loop.

Thanks to steve@deefs.net for reporting the leak.
2005-02-09 23:27:24 +00:00
Michael Meskes
ef006ded8e Fixed bug in parsing of CREATE AS statement. 2005-02-09 11:28:21 +00:00
Tom Lane
ae50aa7ee8 If we're gonna check for array overrun, we really should do so before
overrunning the array, not after.
2005-02-08 18:21:59 +00:00
Neil Conway
6c5c748d64 Prevent 4 more buffer overruns in the PL/PgSQL parser. This is just a
minimally-invasive fix for stable branches; a cleaner fix will be
committed to HEAD soon.
2005-02-07 03:52:22 +00:00
Tom Lane
0aeb7d8008 Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns out
there are corner cases involving dropping toasted columns in which the
previous coding would fail, too: the new version of the table might not
have any TOAST table, but we'd still propagate possibly-wide values of
dropped columns forward.
2005-02-06 20:19:24 +00:00
Tom Lane
a7bbb6cd53 Fix minor thinko in logic to set dump order when dumping from a pre-7.3
database: aggregates should be dumped in the same pass as operators,
not in the same pass as functions.
2005-02-03 23:39:21 +00:00
Tom Lane
c8460d571e Ensure that all details of the ARC algorithm are hidden within freelist.c.
This refactoring does not change any algorithms or data structures, just
remove visibility of the ARC datastructures from other source files.
2005-02-03 23:30:12 +00:00
Tom Lane
f76390d75a Improve performance of fmgr.c calling routines for cases with more than
two arguments.  Per suggestions from A. Ogawa.
2005-02-02 22:40:19 +00:00
Tom Lane
388a42c515 Adjust constant-folding of CASE expressions so that the simple comparison
form of CASE (eg, CASE 0 WHEN 1 THEN ...) can be constant-folded as it
was in 7.4.  Also, avoid constant-folding result expressions that are
certainly unreachable --- the former coding was a bit cavalier about this
and could generate unexpected results for all-constant CASE expressions.
Add regression test cases.  Per report from Vlad Marchenko.
2005-02-02 21:49:49 +00:00
Neil Conway
a8daceaa15 Fix a bug induced by the list-rewrite that resulted in incrementing the
command counter more than necessary. Per report from Michael Fuhr.
2005-02-01 23:29:13 +00:00
Tom Lane
914db10289 Adjust estimate_num_groups() to not clamp per-relation group count
estimate to less than the number of values estimated for any one grouping
Var, as suggested by Manfred.  This is intuitively right, and what's
more it puts the plan choices in the subselect regression test back the
way they were before ...
2005-02-01 23:09:00 +00:00
Tom Lane
86206573ed Adjust plpgsql to allow assignment to an element of an array that is
initially NULL.  For 8.0 we changed the main executor to have this
behavior in an UPDATE of an array column, but plpgsql's equivalent case
was overlooked.  Per report from Sven Willenberger.
2005-02-01 19:35:29 +00:00
Tom Lane
b46fa4ba81 Sync inet formatting code with recent BIND releases. In particular,
fix bug with inconsistent selection of default mask length for
"class D" addresses.  Per report from Steve Atkins.
2005-02-01 00:59:53 +00:00
Tom Lane
8097ce9f52 Stamp 8.0 branch as 8.0.1. 2005-01-30 19:17:49 +00:00
Peter Eisentraut
372d78997c Translation updates 2005-01-30 15:47:30 +00:00
Tom Lane
7c67dcacd8 When dealing with multiple grouping columns coming from the same table,
clamp the estimated number of groups to table row count over 10, instead
of table row count; this reflects a heuristic that people probably won't
group over a near-unique set of columns, and the knowledge that we don't
currently have any way to estimate the correlation of the columns better
than guessing.  This change creates a trivial plan change in one of the
regression tests.
2005-01-28 20:35:14 +00:00
Tom Lane
a098f533d1 Improve planner's estimation of the space needed for HashAgg plans:
look at the actual aggregate transition datatypes and the actual overhead
needed by nodeAgg.c, instead of using pessimistic round numbers.
Per a discussion with Michael Tiemann.
2005-01-28 19:36:33 +00:00
Tom Lane
af5cd5ba92 pg_aggregate.h fails to compile standalone, for lack of an #include
defining List.
2005-01-28 17:36:04 +00:00
Tom Lane
51aac36996 Adjust mkdir_p to do stat() before trying mkdir(). Avoids problems on
Solaris and should be a little faster anyway, since in most scenarios
all but perhaps the last path component will already exist.
2005-01-28 00:36:17 +00:00
Tom Lane
f2196c00b2 Check that aggregate creator has the right to execute the transition
functions of the aggregate, at both aggregate creation and execution times.
2005-01-27 23:42:44 +00:00
Peter Eisentraut
094326cbd8 Backpatch translations 2005-01-27 12:10:04 +00:00
Tom Lane
aa060cd714 Close all cursors created during a failed subtransaction. This is needed
to avoid problems when a cursor depends on objects created or changed in
the same subtransaction.  We'd like to do better someday, but this seems
the only workable answer for 8.0.1.
2005-01-26 23:20:37 +00:00
Tom Lane
1ded77722d Propagate ecpg core dump fix into 8.0 branch. 2005-01-26 22:52:01 +00:00
Tom Lane
5f0a0a72a5 On Windows, set the postmaster executable's stack size to 4MB, so that
it agrees with the default value of max_stack_depth.
2005-01-26 21:57:32 +00:00
Tom Lane
4f6bd8a998 Minor tweak to avoid unnecessary memory bloat when dumping extremely wide
column values in -d mode.  Per report from Marty Scholes.  This doesn't
completely solve the issue, because we still need multiple copies of the
field value, but at least one copy can be got rid of painlessly ...
2005-01-26 21:24:27 +00:00
Tom Lane
b5aef55694 Make pg_dump and pg_restore handle binary archive formats correctly
when using stdout/stdin on Windows.
2005-01-26 19:44:53 +00:00
Tom Lane
953570a899 Use SHGetFolderPath instead of SHGetSpecialFolderPath to find the
APPDATA directory on Windows.  Magnus Hagander
2005-01-26 19:24:21 +00:00
Tom Lane
6f28c7763e Fix breakage created by addition of separate 'acl pass' in pg_dump.
Also clean up incredibly poor style in TocIDRequired() usage.
2005-01-25 22:44:47 +00:00
Peter Eisentraut
5cc4c640d9 Add missing "ko". 2005-01-25 17:31:39 +00:00
Peter Eisentraut
122c5fa335 Translation update 2005-01-25 17:30:00 +00:00
Tom Lane
56915ea296 Fix ALTER TABLE ADD COLUMN so that constraints of domain types are
enforced properly when there is no explicit default value for the new
column.  Per report from Craig Perras.
2005-01-24 23:22:13 +00:00
Tom Lane
49b35eb14b Disallow LOAD to non-superusers. Per report from John Heasman. 2005-01-24 17:46:29 +00:00
Tom Lane
f50e08a998 Fix memory leak in rtdosplit, per report from Clive Page. 2005-01-24 02:47:52 +00:00
Tom Lane
5b7a866b98 The result of a FULL or RIGHT join can't be assumed to be sorted by the
left input's sorting, because null rows may be inserted at various points.
Per report from Ferenc Lutischá¸n.
2005-01-23 02:22:34 +00:00
Bruce Momjian
3a4589056d Add tools/find_gt_lt to find < and > in SGML source.
Lowercase some uppercase tags so tools is more reliable at finding
problems.
2005-01-23 00:38:05 +00:00
Tom Lane
cb91f073a4 pg_dump dumped the wrong tablespace for an index (ie, the parent table's
tablespace instead of the index's own), except when the index was created
as a constraint.  Report and fix by Tanida Yutaka.
2005-01-23 00:31:46 +00:00
Tom Lane
a9ad4b13bc New routine _getObjectDescription() failed to cope with some aspects of
pre-7.3 pg_dump archive files: namespace isn't there, and in some cases
te->tag may already be quotified.  Per report from Alan Pevec and
followup testing.
2005-01-23 00:04:20 +00:00
Neil Conway
9fec27344e This patch updates the regression tests to allow "make installcheck" to
pass if "default_with_oids" is set to false. I took the approach of
explicitly adding WITH OIDS to the CREATE TABLEs where necessary, rather
than tweaking the default_with_oids GUC var.
2005-01-22 05:14:26 +00:00
Neil Conway
de49759a0e Prevent overrunning a heap-allocated buffer is more than 1024 parameters
to a refcursor declaration are specified. This is a minimally-invasive fix
for the buffer overrun -- a more thorough cleanup will be checked into
HEAD.
2005-01-21 00:17:02 +00:00
PostgreSQL Daemon
c22b7eccd3 its that time ... tag it for release 2005-01-17 20:47:10 +00:00
Peter Eisentraut
1723f1f7ae Translation updates 2005-01-17 20:27:44 +00:00
Peter Eisentraut
bb60ef23ed Translation updates 2005-01-17 14:55:34 +00:00
Peter Eisentraut
f099cb0ede Translation updates 2005-01-17 10:00:06 +00:00
Peter Eisentraut
3332c0722d Fix format string error. 2005-01-17 09:06:31 +00:00
Neil Conway
48e2bb13c9 This trivial patch adds a regression test for CASE expressions that use
an untyped literal in the CASE's test expression. This adds test
coverage for a bug that was fixed by Tom on January 12.
2005-01-17 03:39:37 +00:00
Peter Eisentraut
0d45116eb0 Translation updates 2005-01-17 03:09:08 +00:00
Peter Eisentraut
0be1166352 New translation 2005-01-17 03:05:37 +00:00
Peter Eisentraut
83ef003f2c Translation updates 2005-01-17 02:41:50 +00:00
Tom Lane
299ae4356b Adjust warning message about Windows console code page to point to
the right place in the docs, and gettext()ify it.
2005-01-15 05:43:06 +00:00
Tom Lane
7a6a7d57b4 pg_regress now needs to know that Windows hasn't got unix sockets,
per Andrew Dunstan.  Also, don't override the user's value of PGHOST
in the 'make installcheck' case.  I think the latter was an ill-considered
workaround for the Windows code back when libpq didn't properly default
to localhost on Unix-socket-less platforms.
2005-01-15 04:15:51 +00:00
Tom Lane
9fa1843454 postgres -boot would print the wrong program name in event of a
failure in SelectConfigFiles().  Cosmetic issue, but ...
2005-01-14 21:08:44 +00:00
Tom Lane
9d83358499 Update obsolete comment, per Alvaro. 2005-01-14 17:53:33 +00:00
Tom Lane
982e998064 Add missing gettext() calls in find_my_exec(). It's probably too late
to get these strings translated, but we may as well have them be
translatable as not.
2005-01-14 17:47:49 +00:00
Tom Lane
ce6e2fada0 plperl trigger handler tried to fetch new/old tuples even when fired
as a statement trigger :-(.  Per report from Sokolov Yura.
2005-01-14 16:25:42 +00:00
Peter Eisentraut
75112d4b5d Translation updates 2005-01-14 08:57:06 +00:00
Bruce Momjian
29e58330a6 Change Win32 client configuration files from *.txt to *.conf. 2005-01-14 00:25:56 +00:00
Tom Lane
2730eb9ae4 Change exec_eval_simple_expr's param list allocation call from
MemoryContextAllocZero back to MemoryContextAlloc, same as it was in 7.4.
The zeroing is unnecessary since all the meaningful fields are filled in
just below.  I had made it do that out of neatnik-ism, but some testing
with an example provided by Pavel Stehule showed that the zeroing was
accounting for about 5% of the runtime in a compute-intensive plpgsql
function.  That seems a bit high of a price for neatnik-ism...
2005-01-13 23:07:34 +00:00
Peter Eisentraut
66d8165a8b Translation updates 2005-01-13 21:24:40 +00:00
Peter Eisentraut
f680aaeafa Translation updates 2005-01-13 19:06:37 +00:00
Tom Lane
3810c23fe4 Adjust src/tutorial Makefile so that it can use pgxs. This allows the
tutorial to be used without necessarily having a configured source tree.
2005-01-13 18:23:22 +00:00
Tom Lane
c06b31dc31 get_names_for_var didn't do recursion for unnamed JOIN vars quite right;
got it wrong when the JOIN was in an outer query level.  Per example from
Laurie Burrow.  Also fix same issue in markTargetListOrigin.  I think the
latter is only a latent bug since we currently don't apply markTargetListOrigin
except at the outer level ... but should do it right anyway.
2005-01-13 17:19:10 +00:00
Tom Lane
cbd8913245 Remove unportable assumption that it's okay to use the target buffer
of an sprintf() as a source string.  Demonstrably does not work with
recent gcc and/or glibc on some platforms.
2005-01-13 01:40:13 +00:00
Tom Lane
40f32f351a Add conditional inclusion of <com_err.h> to support old 'heimdal'
version of Kerberos.  Per report from Reinhard Max.
2005-01-12 21:37:54 +00:00
Tom Lane
2ec1aa4cb8 Re-allow an untyped literal as the test expression of a CASE, ie
CASE 'a' WHEN 'a' THEN 1 ELSE 2 END.  This worked in 7.4 and before
but had been broken due to premature freezing of the type of the test
expression.  Per gripe from GÄbor SzÃcs.
2005-01-12 17:32:36 +00:00
Tom Lane
8251e0b2fb Increase MAXLISTEN to a more generous value, and add an error message
telling when it has been exceeded.  Per trouble report from
Jean-GÅrard Pailloncy.
2005-01-12 16:38:17 +00:00
Tom Lane
6bb51348b0 Ensure that the test postmaster started by 'make check' listens to as
few 'listen_addresses' as possible --- on most systems, none at all,
just the Unix socket.  This avoids spurious check failures due to bogus
DNS setups, and is probably a good idea from a security standpoint anyway.
Per trouble report from Jean-GÅrard Pailloncy.
2005-01-12 16:19:51 +00:00
Tom Lane
d3d00715e2 interval_out failed to mention 'ago' for negative intervals in SQL and
GERMAN datestyles.  Ancient bug reported by Terry Lee Tucker.
2005-01-11 18:33:46 +00:00
Tom Lane
5f0a468454 Fix tracking of dump-order dependencies for stand-alone composite types.
Per report from Robert Koepferl.
2005-01-11 17:55:25 +00:00
Tom Lane
e24801654a plperl was not being quite paranoid enough about detecting 'undef' values
returned by Perl.  Per report from Nicolas Addington.
2005-01-11 06:08:45 +00:00
PostgreSQL Daemon
6ff408707e up release to rc5 2005-01-11 05:29:21 +00:00
Tom Lane
38498a28df Clean up pg_dump's handling of ownership for indexes (including
pkey/unique constraint indexes) and schemas.  Per report from
Michael Fuhr.
2005-01-11 05:14:13 +00:00
Tom Lane
fc299179df Separate the functions of relcache entry flush and smgr cache entry flush
so that we can get the size of a shared inval message back down to what it
was in 7.4 (and simplify the logic too).  Phase 2 of fixing the
'SMgrRelation hashtable corrupted' problem.
2005-01-10 21:57:19 +00:00
Tom Lane
0ce4d56924 Phase 1 of fix for 'SMgrRelation hashtable corrupted' problem. This
is the minimum required fix.  I want to look next at taking advantage of
it by simplifying the message semantics in the shared inval message queue,
but that part can be held over for 8.1 if it turns out too ugly.
2005-01-10 20:02:24 +00:00
Michael Meskes
cc7cd8774a Fixed segfault in adjust_informix due to missing varchar type. 2005-01-10 12:58:30 +00:00
Peter Eisentraut
c2719ae503 Translation updates 2005-01-10 08:14:35 +00:00
Tom Lane
a54ea1f75e Comment out check for substitution of private key file on Windows,
since st_ino can't be trusted on that platform.  Per report from T.J.
2005-01-10 00:37:12 +00:00
Tom Lane
8e4f4078d8 Un-break MSVC build, per Andrew Dunstan. 2005-01-10 00:19:51 +00:00
Tom Lane
521e8888e9 Undo an unadvertised change in the API of pg_atoi. In all previous
releases, a nonzero 'c' argument meant that the input string could be
terminated by either that character or \0.  Recent refactoring broke
that, causing the thing to scan for 'c' only.  This went undetected
because no part of the main code actually passes nonzero 'c'.  However
it broke tsearch2 and possibly other user-written code that assumed
the old definition.  Per report from Tom Hebbron.
2005-01-09 21:03:19 +00:00
Peter Eisentraut
84620860d9 New translations 2005-01-09 17:38:19 +00:00
Peter Eisentraut
a58e738cd7 Translation updates 2005-01-09 17:32:05 +00:00
Peter Eisentraut
8511a1b734 New translation 2005-01-09 17:10:29 +00:00