- 17 Jun, 2008 3 commits
-
-
Bruce Momjian authored
USE_WIDE_UPPER_LOWER instead.
-
Tom Lane authored
that it depends on for replan-forcing purposes. We need to consider plain OID constants too, because eval_const_expressions folds a RelabelType atop a Const to just a Const. This change could result in OID values that aren't really for tables getting added to the dependency list, but the worst-case consequence would be occasional useless replans. Per report from Gabriele Messineo.
-
Tom Lane authored
1. Directly reading interp->result is deprecated in Tcl 8.0 and later; you're supposed to use Tcl_GetStringResult. This code finally broke with Tcl 8.5, because Tcl_GetVar can now have side-effects on interp->result even though it preserves the logical state of the result. (There's arguably a Tcl issue here, because Tcl_GetVar could invalidate the pointer result of a just-preceding Tcl_GetStringResult, but I doubt the Tcl guys will see it as a bug.) 2. We were being sloppy about the encoding of the result: some places would push database-encoding data into the Tcl result, which should not happen, and we were assuming that any error result coming back from Tcl was in the database encoding, which is not a good assumption. 3. There were a lot of calls of Tcl_SetResult that uselessly specified TCL_VOLATILE for constant strings. This is only a minor performance issue, but I fixed it in passing since I had to look at all the calls anyway. #2 is a live bug regardless of which Tcl version you are interested in, so back-patch even to branches that are unlikely to be used with Tcl 8.5. I went back as far as 8.0, which is as far as the patch applied easily; 7.4 was using a different error processing scheme that has got its own problems :-(
-
- 16 Jun, 2008 1 commit
-
-
Tom Lane authored
late, with lots of redundancy, bad grammar, and just plain poor exposition. Make it clear that autovacuum is now considered the normal solution.
-
- 15 Jun, 2008 5 commits
-
-
Andrew Dunstan authored
-
Andrew Dunstan authored
and add them. Avoids third party files or those that would cause regression failures.
-
Tom Lane authored
is necessary to avoid deadlock against ordinary queries, but we'd broken it with recent changes that made the DROP machinery lock the index before arriving at index_drop. Per intermittent buildfarm failures.
-
Tom Lane authored
-
Tom Lane authored
grammar allows ALTER TABLE/INDEX/SEQUENCE/VIEW interchangeably for all subforms of those commands, and then we sort out what's really legal at execution time. This allows the ALTER SEQUENCE/VIEW reference pages to fully document all the ALTER forms available for sequences and views respectively, and eliminates a longstanding cause of confusion for users. The net effect is that the following forms are allowed that weren't before: ALTER SEQUENCE OWNER TO ALTER VIEW ALTER COLUMN SET/DROP DEFAULT ALTER VIEW OWNER TO ALTER VIEW SET SCHEMA (There's no actual functionality gain here, but formerly you had to say ALTER TABLE instead.) Interestingly, the grammar tables actually get smaller, probably because there are fewer special cases to keep track of. I did not disallow using ALTER TABLE for these operations. Perhaps we should, but there's a backwards-compatibility issue if we do; in fact it would break existing pg_dump scripts. I did however tighten up ALTER SEQUENCE and ALTER VIEW to reject non-sequences and non-views in the new cases as well as a couple of cases where they didn't before. The patch doesn't change pg_dump to use the new syntaxes, either.
-
- 14 Jun, 2008 2 commits
-
-
Alvaro Herrera authored
expand the pattern specifier. Per gripe from Josh Drake.
-
Tom Lane authored
objects are specified, we drop them all in a single performMultipleDeletions call. This makes the RESTRICT/CASCADE checks more relaxed: it's not counted as a cascade if one of the later objects has a dependency on an earlier one. NOTICE messages about such cases go away, too. In passing, fix the permissions check for DROP CONVERSION, which for some reason was never made role-aware, and omitted the namespace-owner exemption too. Alex Hunsaker, with further fiddling by me.
-
- 13 Jun, 2008 2 commits
-
-
Bruce Momjian authored
> o Add functions to syntax check configuration files > < * Add pg_ctl option to do a syntax check of postgresql.conf
-
Tom Lane authored
the problem happened in. These are all supposedly can't-happen cases, but when they do happen it's useful to know where. Back-patch to 8.3, but not further because the patch doesn't apply cleanly further back. Given the lack of response to my proposal of this, there doesn't seem to be enough interest to justify much back-porting effort.
-
- 12 Jun, 2008 3 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
< * Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause > * Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause or > target list > http://archives.postgresql.org/pgsql-hackers/2008-06/msg00124.php
-
Heikki Linnakangas authored
forks. XLogOpenRelation() and the associated light-weight relation cache in xlogutils.c is gone, and XLogReadBuffer() now takes a RelFileNode as argument, instead of Relation. For functions that still need a Relation struct during WAL replay, there's a new function called CreateFakeRelcacheEntry() that returns a fake entry like XLogOpenRelation() used to.
-
- 11 Jun, 2008 6 commits
-
-
Tom Lane authored
devised for pg_shdepend, namely the individual dependencies are reported as DETAIL lines rather than coming out as separate NOTICEs. The client-side report is capped at 100 lines, but the server log always gets a full report.
-
Bruce Momjian authored
> * Add pg_ctl option to do a syntax check of postgresql.conf
-
Bruce Momjian authored
Greg Sabino Mullane
-
Heikki Linnakangas authored
argument.
-
Heikki Linnakangas authored
David Fetter.
-
Heikki Linnakangas authored
CacheInvalidateRelcache() crashes if called in WAL recovery, because the invalidation infrastructure hasn't been initialized yet. Back-patch to 8.2, where the bug was introduced.
-
- 10 Jun, 2008 4 commits
-
-
Neil Conway authored
Basically just reuse the same text that psql emitted as part of its startup banner in prior versions, and make some whitespace more consistent with the conventions in other psql command output.
-
Tom Lane authored
replacing the tedious and error-prone manual process we've been using.
-
Heikki Linnakangas authored
Per Jan Urbanski.
-
Alvaro Herrera authored
-
- 09 Jun, 2008 6 commits
-
-
Tom Lane authored
recently snuck into cash.c. Per report from Edmundo Robles Lopez.
-
Bruce Momjian authored
Jun Kuwamura
-
Tom Lane authored
running on a 64-bit platform ... strtol() will happily return 64-bit output in that case. Per bug #4231 from Geoff Tolley.
-
Tom Lane authored
is testing. Ah, the perils of making keywords optional ...
-
Neil Conway authored
-
Neil Conway authored
-
- 08 Jun, 2008 5 commits
-
-
Alvaro Herrera authored
-
Tom Lane authored
algorithm, replacing the original intention of a one-pass search, which had been hacked up over time to be partially two-pass in hopes of handling various corner cases better. It still wasn't quite there, especially as regards emitting unwanted NOTICE messages. More importantly, this approach lets us fix a number of open bugs concerning concurrent DROP scenarios, because we can take locks during the first pass and avoid traversing to dependent objects that were just deleted by someone else. There is more that can be done here, but I'll go ahead and commit the base patch before working on the options.
-
Alvaro Herrera authored
more logical that way, and also it reduces the amount of unnecessary includes in bufpage.h, which is widely used. Zdenek Kotala. My previous patch to bufpage.h should also have credited him as author, but I forgot (sorry about that).
-
Tom Lane authored
-
Tom Lane authored
patches that dealt with object ownership. It wasn't updating pg_shdepend nor adjusting the aggregate's ACL. In 8.2 and up, fix this permanently by making it use AlterFunctionOwner_oid. In 8.1, the function code wasn't factored that way, so just copy and paste.
-
- 07 Jun, 2008 1 commit
-
-
Tom Lane authored
-
- 06 Jun, 2008 2 commits
-
-
Alvaro Herrera authored
-
Tom Lane authored
This is needed because :: casting binds more tightly than minus, so for example -1::integer is not the same as (-1)::integer, and there are cases where the difference is important. In particular this caused a failure in SELECT DISTINCT ... ORDER BY ... where expressions that should have matched were seen as different by the parser; but I suspect that there could be other cases where failure to parenthesize leads to subtler semantic differences in reloaded rules. Per report from Alexandr Popov.
-