aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Reload config file in startup process on SIGHUP.Heikki Linnakangas2009-03-04
| | | | Fujii Masao
* Clarify to the translator that yyerror() deals with the translation ofPeter Eisentraut2009-03-04
| | | | | "syntax error", not the literal string. I was previously confused on this matter, but I have now verified that everything is translated properly.
* Provide some proper minimal documentation for the pg_dump(all) --binary-upgradePeter Eisentraut2009-03-04
| | | | | option. We don't want to commit to what it does, but hiding it will only cause confusion.
* Add some sanity checks to CREATE CAST ... WITHOUT FUNCTION. DisallowHeikki Linnakangas2009-03-04
| | | | | | | composite, enum and array types, as those are surely not binary-compatible with anything else because of the embedded OIDs. Inspired by bug report by Oleg Serov.
* Add new SQL:2008 error codes for invalid LIMIT and OFFSET values. RemovePeter Eisentraut2009-03-04
| | | | | unused nonstandard error code that was perhaps intended for this but never used.
* Don't actively violate the system limit of maximum open files (RLIMIT_NOFILE).Peter Eisentraut2009-03-04
| | | | | | | | | | | This avoids irritating kernel logs (if system overstep violations are enabled) and also the grsecurity alert when starting PostgreSQL. original patch by Jacek Drobiecki References: http://archives.postgresql.org/pgsql-bugs/2004-05/msg00103.php http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=248967
* Log a warning instead of shutting down the system if we can't loadMagnus Hagander2009-03-04
| | | | | | pg_hba.conf on reload (for example due to a permission error). Selena Deckelmann
* Fix copy-pasto in the patch to allow background writer to run duringHeikki Linnakangas2009-03-03
| | | | | | recovery: if background writer or pgstat process dies during recovery (or any other child process, but those two are the only ones running), send SIGQUIT to the startup process using correct pid.
* Remove the placeholder LWLockId in place of the removed FreeSpaceLock.Heikki Linnakangas2009-03-03
| | | | | | As pointed out by ITAGAKI Takahiro, we split SInvalLock into two in 8.4, so to keep the numbers of the rest of the locks unchanged from 8.3, we don't need a placeholder.
* When we are in error recursion trouble, arrange to suppress translation andTom Lane2009-03-02
| | | | | | | | | | | encoding conversion of any elog/ereport message being sent to the frontend. This generalizes a patch that I put in last October, which suppressed translation of only specific messages known to be associated with recursive can't-translate-the-message behavior. As shown in bug #4680, we need a more general answer in order to have some hope of coping with broken encoding conversion setups. This approach seems a good deal less klugy anyway. Patch in all supported branches.
* Fix usage of char2wchar/wchar2char. Changes:Teodor Sigaev2009-03-02
| | | | | | | | | | | | | | | | - pg_wchar and wchar_t could have different size, so char2wchar doesn't call pg_mb2wchar_with_len to prevent out-of-bound memory bug - make char2wchar/wchar2char symmetric, now they should not be called with C-locale because mbstowcs/wcstombs oftenly doesn't work correct with C-locale. - Text parser uses pg_mb2wchar_with_len directly in case of C-locale and multibyte encoding Per bug report by Hiroshi Inoue <inoue@tpf.co.jp> and following discussion. Backpatch up to 8.2 when multybyte support was implemented in tsearch.
* Fix buffer allocations in encoding conversion routines so that they won'tTom Lane2009-02-28
| | | | | | | | fail on zero-length inputs. This isn't an issue in normal use because the conversion infrastructure skips calling the converters for empty strings. However a problem was created by yesterday's patch to check whether the right conversion function is supplied in CREATE CONVERSION. The most future-proof fix seems to be to make the converters safe for this corner case.
* Shave a few cycles in compare_pathkeys() by checking for pointer-identicalTom Lane2009-02-28
| | | | | | input lists before we grovel through the lists. This doesn't save much, but testing shows that the case of both inputs NIL is common enough that it saves something. And this is used enough to be a hotspot.
* Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delayTom Lane2009-02-28
| | | | | | | to 100ms (from 1000). This still seems to be comfortably larger than the useful range of the parameter, and it should help discourage people from picking uselessly large values. Tweak the documentation to recommend small values, too. Per discussion of a couple weeks ago.
* Temporarily (I hope) disable flattening of IN/EXISTS sublinks that are withinTom Lane2009-02-27
| | | | | | | | | | | the ON clause of an outer join. Doing so is semantically correct but results in de-optimizing queries that were structured to take advantage of the sublink style of execution, as seen in recent complaint from Kevin Grittner. Since the user can get the other behavior by reorganizing his query, having the flattening happen automatically is just a convenience, and that doesn't justify breaking existing applications. Eventually it would be nice to re-enable this, but that seems to require a significantly different approach to outer joins in the executor.
* Tighten up join ordering rules to account for recent more-careful analysisTom Lane2009-02-27
| | | | | of the associativity of antijoins. Also improve optimizer/README discussion of outer join ordering rules.
* In CREATE CONVERSION, test that the given function is a valid conversionHeikki Linnakangas2009-02-27
| | | | | | | | function for the specified source and destination encodings. We do that by calling the function with an empty string. If it can't perform the requested conversion, it will throw an error. Backport to 7.4 - 8.3. Per bug report #4680 by Denis Afonin.
* Add the long options to the psql --help display, where they were curiouslyPeter Eisentraut2009-02-27
| | | | | | | | missing. Since this touches most lines of the help output, also change the mix of puts and printf calls to printf everywhere, for easier code editing and reviewing.
* Improve create_unique_path to not be fooled by unrelated clauses that happenTom Lane2009-02-27
| | | | | | | | to be syntactically part of a semijoin clause. For example given WHERE EXISTS(SELECT ... WHERE upper.var = lower.var AND some-condition) where some-condition is just a restriction on the lower relation, we can use unique-ification on lower.var after having applied some-condition within the scan on lower.
* Remove outdated join_1.out regression test comparison file. This hasTom Lane2009-02-26
| | | | | | been broken for more than a month, so evidently it's not needed, at least not for any configuration in the buildfarm. We can correct it and replace it later if we find something that still needs it.
* Final removal of -q options, which haven't done anything since 8.3 andPeter Eisentraut2009-02-26
| | | | were marked for removal in 8.4.
* Add a -w/--no-password option that prevents all password prompts to allPeter Eisentraut2009-02-26
| | | | | | programs that have a -W/--password option. In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
* Fix an old problem in decompilation of CASE constructs: the ruleutils.c codeTom Lane2009-02-25
| | | | | | | | | | | looks for a CaseTestExpr to figure out what the parser did, but it failed to consider the possibility that an implicit coercion might be inserted above the CaseTestExpr. This could result in an Assert failure in some cases (but correct results if Asserts weren't enabled), or an "unexpected CASE WHEN clause" error in other cases. Per report from Alan Li. Back-patch to 8.1; problem doesn't exist before that because CASE was implemented differently.
* Remove references to foreign data wrapper libraries, since they haveMagnus Hagander2009-02-25
| | | | been removed. This should unbreak the msvc build again.
* Use the same style in the help synopsis that other programs are using.Peter Eisentraut2009-02-25
|
* Remove feof(stdin) calls related to when to prompt for a password,Peter Eisentraut2009-02-25
| | | | leftovers from when the password was read from stdin.
* Sort the output of --help mostly alphabetical, make it align better, makePeter Eisentraut2009-02-25
| | | | help of pg_dump and pg_dumpall more similar.
* Put back a "continue" that went missing in the changes to start backgroundHeikki Linnakangas2009-02-25
| | | | writer in WAL recovery.
* Get rid of the rather fuzzily defined FlattenedSubLink node type in favor ofTom Lane2009-02-25
| | | | | | | | | making pull_up_sublinks() construct a full-blown JoinExpr tree representation of IN/EXISTS SubLinks that it is able to convert to semi or anti joins. This makes pull_up_sublinks() a shade more complex, but the gain in semantic clarity is worth it. I still have more to do in this area to address the previously-discussed problems, but this commit in itself fixes at least one bug in HEAD, as shown by added regression test case.
* Don't append epoch to log_filename if no format specifier is given.Peter Eisentraut2009-02-24
| | | | Robert Haas
* Add the possibility to specify an explicit validator function for foreign-dataPeter Eisentraut2009-02-24
| | | | | | wrappers (similar to procedural languages). This way we don't need to retain the nearly empty libraries, and we are more free in how to implement the wrapper API in the future.
* Repair a longstanding bug in CLUSTER and the rewriting variants of ALTERTom Lane2009-02-24
| | | | | | | | | | | | | | | | | | TABLE: if the command is executed by someone other than the table owner (eg, a superuser) and the table has a toast table, the toast table's pg_type row ends up with the wrong typowner, ie, the command issuer not the table owner. This is quite harmless for most purposes, since no interesting permissions checks consult the pg_type row. However, it could lead to unexpected failures if one later tries to drop the role that issued the command (in 8.1 or 8.2), or strange warnings from pg_dump afterwards (in 8.3 and up, which will allow the DROP ROLE because we don't create a "redundant" owner dependency for table rowtypes). Problem identified by Cott Lang. Back-patch to 8.1. The problem is actually far older --- the CLUSTER variant can be demonstrated in 7.0 --- but it's mostly cosmetic before 8.1 because we didn't track ownership dependencies before 8.1. Also, fixing it before 8.1 would require changing the call signature of heap_create_with_catalog(), which seems to carry a nontrivial risk of breaking add-on modules.
* Fix psql's \dD to show only one row per domain, even when the domain hasTom Lane2009-02-23
| | | | multiple check constraints.
* Add quotes to messagePeter Eisentraut2009-02-23
|
* Change the signaling of end-of-recovery. Startup process now indicates endHeikki Linnakangas2009-02-23
| | | | | of recovery by exiting with exit code 0, like in previous releases. Per Tom's suggestion.
* another small message tweakPeter Eisentraut2009-02-20
|
* Reconnect to the right database when using parallel restore with -C. Fixes ↵Andrew Dunstan2009-02-20
| | | | bug reported by Olivier Prenant
* Simplify overcomplicated (and overly restrictive) test to see whether anTom Lane2009-02-20
| | | | | | | | | | | | | | IS NULL condition is rendered redundant by detection of an antijoin. If we know that a join is an antijoin, then *any* Var coming out of its righthand side must be NULL, not only the joining column(s). Also, it's still gonna be null after being passed up through higher joins, whether they're outer joins or not. I was misled by a faulty analogy to reduce_outer_joins() in the original coding. But consider select * from a left join b on a.x = b.y where b.y is null and b.z is null; The first IS NULL condition justifies deciding that the join is an antijoin (if the = is strict) and then the second one is just plain redundant.
* Improve comments about semijoin implementation strategy, per a questionTom Lane2009-02-19
| | | | from Robert Haas.
* Fix bogus comment, from the patch to start bgwriter during archiveHeikki Linnakangas2009-02-19
| | | | recovery.
* Wordsmithing for PL/Perl messagesPeter Eisentraut2009-02-19
|
* Add an implicit rule %.c -> %.i for running the C preprocessor.Peter Eisentraut2009-02-19
| | | | | I occasionally use this for debugging, and it seems wasteful to have to reinvent this all the time.
* Remove croak and Perl_croak from gettext triggers. While we couldPeter Eisentraut2009-02-19
| | | | | | | | | | | | | selectively mark up their arguments for translation, the Perl xsubpp tool generates a bunch of additional Perl_croak calls that we cannot control, so we'd be creating a confusing mix of translated and untranslated messages of a similar kind. This is something that might deserve a more comprehensive solution later. Also remove _ from gettext triggers, because it wasn't used. Use SPI.c instead of SPI.xs as source file for xgettext, because the .xs format isn't really supported in xgettext.
* Increase NUM_AUXILIARY_PROCS, now that the startup process can co-existHeikki Linnakangas2009-02-19
| | | | | with other auxiliary processes for a short period. As witnessed by buildfarm member dungbeetle.
* Remove the special cases to prevent minus-zero results in float4 and float8Tom Lane2009-02-18
| | | | | | | | | | | | | | unary minus operators. We weren't attempting to prevent minus zero anywhere else; in view of our gradual trend to make the float datatypes more IEEE standard compliant, we should allow minus zero here rather than disallow it elsewhere. We don't, however, expect that all platforms will produce minus zero, so we need to adjust the one affected regression test to allow both results. Per discussion of bug #4660. (In passing, clean up a couple other minor infelicities in float.c.)
* Start background writer during archive recovery. Background writer now performsHeikki Linnakangas2009-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | its usual buffer cleaning duties during archive recovery, and it's responsible for performing restartpoints. This requires some changes in postmaster. When the startup process has done all the initialization and is ready to start WAL redo, it signals the postmaster to launch the background writer. The postmaster is signaled again when the point in recovery is reached where we know that the database is in consistent state. Postmaster isn't interested in that at the moment, but that's the point where we could let other backends in to perform read-only queries. The postmaster is signaled third time when the recovery has ended, so that postmaster knows that it's safe to start accepting connections. The startup process now traps SIGTERM, and performs a "clean" shutdown. If you do a fast shutdown during recovery, a shutdown restartpoint is performed, like a shutdown checkpoint, and postmaster kills the processes cleanly. You still have to continue the recovery at next startup, though. Currently, the background writer is only launched during archive recovery. We could launch it during crash recovery as well, but it seems better to keep that codepath as simple as possible, for the sake of robustness. And it couldn't do any restartpoints during crash recovery anyway, so it wouldn't be that useful. log_restartpoints is gone. Use log_checkpoints instead. This is yet to be documented. This whole operation is a pre-requisite for Hot Standby, but has some value of its own whether the hot standby patch makes 8.4 or not. Simon Riggs, with lots of modifications by me.
* Add --freeze option to vacuumdb.Bruce Momjian2009-02-18
|
* Have pg_dump/pg_dumpall --binary-upgrade restore frozenids for relationsBruce Momjian2009-02-18
| | | | and databases.
* Message wordsmithingPeter Eisentraut2009-02-18
|
* Add missing newline.Bruce Momjian2009-02-17
|