- 28 Feb, 2009 2 commits
-
-
Tom Lane authored
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.
-
Tom Lane authored
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.
-
- 27 Feb, 2009 7 commits
-
-
Tom Lane authored
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.
-
Tom Lane authored
of the associativity of antijoins. Also improve optimizer/README discussion of outer join ordering rules.
-
Heikki Linnakangas authored
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.
-
Peter Eisentraut authored
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.
-
Peter Eisentraut authored
options and normally formatted help output.
-
Peter Eisentraut authored
FOREIGN DATA WRAPPER/SERVER/USER MAPPING is optional.
-
Tom Lane authored
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.
-
- 26 Feb, 2009 3 commits
-
-
Tom Lane authored
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.
-
Peter Eisentraut authored
were marked for removal in 8.4.
-
Peter Eisentraut authored
programs that have a -W/--password option. In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
-
- 25 Feb, 2009 8 commits
-
-
Tom Lane authored
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.
-
Magnus Hagander authored
been removed. This should unbreak the msvc build again.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Peter Eisentraut authored
leftovers from when the password was read from stdin.
-
Peter Eisentraut authored
help of pg_dump and pg_dumpall more similar.
-
Heikki Linnakangas authored
writer in WAL recovery.
-
Tom Lane authored
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.
-
- 24 Feb, 2009 3 commits
-
-
Peter Eisentraut authored
Robert Haas
-
Peter Eisentraut authored
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.
-
Tom Lane authored
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.
-
- 23 Feb, 2009 3 commits
-
-
Tom Lane authored
multiple check constraints.
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
of recovery by exiting with exit code 0, like in previous releases. Per Tom's suggestion.
-
- 22 Feb, 2009 1 commit
-
-
Tom Lane authored
-
- 20 Feb, 2009 3 commits
-
-
Peter Eisentraut authored
-
Andrew Dunstan authored
Reconnect to the right database when using parallel restore with -C. Fixes bug reported by Olivier Prenant
-
Tom Lane authored
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.
-
- 19 Feb, 2009 6 commits
-
-
Tom Lane authored
from Robert Haas.
-
Heikki Linnakangas authored
recovery.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
I occasionally use this for debugging, and it seems wasteful to have to reinvent this all the time.
-
Peter Eisentraut authored
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.
-
Heikki Linnakangas authored
with other auxiliary processes for a short period. As witnessed by buildfarm member dungbeetle.
-
- 18 Feb, 2009 4 commits
-
-
Tom Lane authored
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.)
-
Heikki Linnakangas authored
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.
-
Bruce Momjian authored
-
Bruce Momjian authored
and databases.
-