aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* 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
|
* Add pg_dump --binary-upgrade flag to be used by binary upgradeBruce Momjian2009-02-17
| | | | | | | utilities. The new code allows transfer of dropped column information to the upgraded server.
* Add _() calls for the argument of plpgsql_yyerror() so it actually getsPeter Eisentraut2009-02-17
| | | | translated somehow.
* Add plpgsql_yyerror to gettext triggersPeter Eisentraut2009-02-17
|
* Mark 3rd argument of validate_tupdesc_compat() for translation, instead ofPeter Eisentraut2009-02-17
| | | | marking up each instance separately.
* Redefine _() to dgettext() instead of gettext() so that it uses the plpgsqlPeter Eisentraut2009-02-17
| | | | text domain, instead of the postgres one (or whatever the default may be).
* Remove gettext trigger write_stderr(), which isn't used by PLs.Peter Eisentraut2009-02-17
|
* Wrap some long queries.Bruce Momjian2009-02-16
|
* Uppercase keywords in pg_dump.cBruce Momjian2009-02-16
|
* Teach the planner to treat a partial unique index as proving a variable isTom Lane2009-02-15
| | | | | | | unique for a particular query, if the index predicate is satisfied. This requires a bit of reordering of operations so that we check the predicates before doing any selectivity estimates, but shouldn't really cause any noticeable slowdown. Per a comment from Michal Politowski.
* Loop calling CallNamedPipe() several times in case it fails,Magnus Hagander2009-02-15
| | | | | | | since it can be transient failures, causing kill() to not properly send signals. Original patch from Steve Marshall, modified by me.
* A couple of marginal performance hacks for the information_schema views:Tom Lane2009-02-14
| | | | | | | | | replace the old recursive-SQL-function implementation of _pg_keysequal() with use of the built-in array containment operators, and change table_constraints' UNION to UNION ALL. Per discussion with Octavio Alvarez. initdb not forced since this doesn't affect results, but you'd need to initdb or reload the information_schema to see the new definitions.
* Fix UNLISTEN to fall out quickly if the current backend has never executedTom Lane2009-02-13
| | | | | | | | | | | | any LISTEN command. This is more important than it used to be because DISCARD ALL invokes UNLISTEN. Connection-pooled applications making heavy use of DISCARD ALL were seeing significant contention for pg_listener, as reported by Matteo Beccati. It seems unlikely that clients using LISTEN would use pooled connections, so this simple tweak seems sufficient, especially since the pg_listener implementation is slated to go away soon anyway. Back-patch to 8.3, where DISCARD ALL was introduced.
* The Czech (cs_CZ) and Slovak (sk_SK) locales sort numbers after letters,Peter Eisentraut2009-02-12
| | | | | | instead of vice versa. Update the regression test expectations to support that. In the plpgsql test, adjust the test data so that this isn't an issue. In the char and varchar tests, add new expected files.
* Unset language-related locale settings in any case, otherwise psql willPeter Eisentraut2009-02-12
| | | | speak in tongues and mess up the regression test diffs.
* Don't call SetEnvironmentVariable() when removing an environment variable,Magnus Hagander2009-02-12
| | | | | as this seems to crash on at least some versions of MingW. Our current usage of this function does not require it, so it should be ok to ignore.
* Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physicallyTom Lane2009-02-11
| | | | | | | | | | | | | | | | get rid of the OID column. This eliminates the problem discovered by Heikki back in November that 8.4's suppression of "unnecessary" junk filtering in INSERT/SELECT could lead to an Assert failure, or storing of oids into a table that shouldn't have them if Asserts are off. While that particular problem could have been solved in other ways, it seems likely to be just a forerunner of things to come if we continue to allow tables to contain rows that disagree with the pg_class.relhasoids setting. It's better to make this operation slow than to sacrifice performance or risk bugs in more common code paths. Also, add ALTER TABLE SET WITH OIDS to rewrite the table to add oids. This was a bit more controversial, but in view of the very small amount of extra code needed given the current ALTER TABLE infrastructure, it seems best to eliminate the asymmetry in features.
* Tweak configure to attempt to add -qnoansialias to CFLAGS whenever runningTom Lane2009-02-11
| | | | | | on AIX with a non-gcc compiler. The previous coding would do this only if CC was exactly "xlc"; which is a bad idea, as demonstrated by trouble report from Mihai Criveti.
* Improve psql \d+ to show TOAST reloptions too. Per complaint fromAlvaro Herrera2009-02-11
| | | | ITAGAKI Takahiro.
* Only unset the locale environment when --no-locale is used (the way it wasPeter Eisentraut2009-02-11
| | | | | | presumably designed, but didn't act). This allows running the temp install tests in a non-C locale, thus exercising users' real environments better. Document how to change locales for test runs.
* Support for KOI8U encodingPeter Eisentraut2009-02-10
|
* Remove the encoding *numbers* from the comments. They are useless, andPeter Eisentraut2009-02-10
| | | | make maintenance harder.
* Add possibility to generate only some files, by passing command-linePeter Eisentraut2009-02-10
| | | | arguments.
* Adopt Bob Jenkins' improved hash function for hash_any(). This changes theTom Lane2009-02-09
| | | | | | contents of hash indexes (again), so bump catversion. Kenneth Marshall
* Update autovacuum to use reloptions instead of a system catalog, forAlvaro Herrera2009-02-09
| | | | | | | | | per-table overrides of parameters. This removes a whole class of problems related to misusing the catalog, and perhaps more importantly, gives us pg_dump support for the parameters. Based on a patch by Euler Taveira de Oliveira, heavily reworked by me.
* Ensure that INSERT ... SELECT into a table with OIDs never copies row OIDsTom Lane2009-02-08
| | | | | | | | from the source table. This could never happen anyway before 8.4 because the executor invariably applied a "junk filter" to rows due to be inserted; but now that we skip doing that when it's not necessary, the case can occur. Problem noted 2008-11-27 by KaiGai Kohei, though I misunderstood what he was on about at the time (the opacity of the patch he proposed didn't help).
* ecpg requires libpq; add Makefile rules to require libpq to be builtBruce Momjian2009-02-07
| | | | | | first. Alvaro Herrera
* Fix to_timestamp() to not require upper/lower case matching for meridianBruce Momjian2009-02-07
| | | | | | | | | designations (AM/PM). Also separate out matching of a meridian with periods (e.g. A.M.) and with those without. Do the same for AD/BC. Brendan Jurd
* Fix obsolete comment. Zdenek KotalaHeikki Linnakangas2009-02-07
|
* Set column privileges to supportedPeter Eisentraut2009-02-07
|
* Fix cost_mergejoin's failure to adjust for rescanning of non-unique merge joinTom Lane2009-02-06
| | | | | | | | | keys when considering a semi or anti join. This requires estimating the selectivity of the merge qual as though it were a regular inner join condition. To allow caching both that and the real outer-join-aware selectivity, split RestrictInfo.this_selec into two fields. This fixes one of the problems reported by Kevin Grittner.
* Clean up some loose ends from the column privileges patch: addTom Lane2009-02-06
| | | | | | | | | | | | | | | | | | | | | | has_column_privilege and has_any_column_privilege SQL functions; fix the information_schema views that are supposed to pay attention to column privileges; adjust pg_stats to show stats for any column you have select privilege on; and fix COPY to allow copying a subset of columns if the user has suitable per-column privileges for all the columns. To improve efficiency of some of the information_schema views, extend the has_xxx_privilege functions to allow inquiring about the OR of a set of privileges in just one call. This is just exposing capability that already existed in the underlying aclcheck routines. In passing, make the information_schema views report the owner's own privileges as being grantable, since Postgres assumes this even when the grant option bit is not set in the ACL. This is a longstanding oversight. Also, make the new has_xxx_privilege functions for foreign data objects follow the same coding conventions used by the older ones. Stephen Frost and Tom Lane
* Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERYBruce Momjian2009-02-05
| | | | | | statement Pavel Stehule
* Mixing long and int entries of a union only works on some architectures.Michael Meskes2009-02-05
|
* Fix an old corner-case error in match_unsorted_outer(): don't considerTom Lane2009-02-05
| | | | | | | | | | | | the cheapest-total inner path as a new candidate while truncating the sort key list, if it already matched the full sort key list. This is too much of a corner case to be worth back-patching, since it's unusual for the cheapest total path to be sorted, and anyway no real harm is done (except in JOIN_SEMI/ANTI cases where cost_mergejoin is a bit broken at the moment). But it wasn't behaving as intended, so fix it. Noted while examining a test case from Kevin Grittner. This error doesn't explain his issue, but it does explain why "set enable_seqscan = off" seemed to reproduce it for me.
* Added result checks for calls to gmtime().Michael Meskes2009-02-04
|
* Argh, wrong line copied again.Michael Meskes2009-02-03
|
* Fixed copy&paste mistake that made library use uninitialized variable.Michael Meskes2009-02-03
|
* Add a failure check for syslogger's use of _beginthreadex(), and removeTom Lane2009-02-03
| | | | | unnecessary thread address output parameter, to make this code look more like that in pg_restore.
* Fix plpgsql to not treat INSERT INTO as an INTO-variables clause anywhereTom Lane2009-02-02
| | | | | | | | in the string, not just at the start. Per bug #4629 from Martin Blazek. Back-patch to 8.2; prior versions don't have the problem, at least not in the reported case, because they don't try to recognize INTO in non-SELECT statements. (IOW, this is really fallout from the RETURNING patch.)
* Provide for parallel restoration from a custom format archive. Each data andAndrew Dunstan2009-02-02
| | | | | | | | post-data step is run in a separate worker child (a thread on Windows, a child process elsewhere) up to the concurrent number specified by the new pg_restore command-line --multi-thread | -m switch. Andrew Dunstan, with some editing by Tom Lane.
* Allow reloption names to have qualifiers, initially supporting a TOASTAlvaro Herrera2009-02-02
| | | | | | | | qualifier, and add support for this in pg_dump. This allows TOAST tables to have user-defined fillfactor, and will also enable us to move the autovacuum parameters to reloptions without taking away the possibility of setting values for TOAST tables.