- 17 Apr, 2014 4 commits
-
-
Bruce Momjian authored
Non-existent tablespace directory references can occur if user tablespaces are created inside data directories and the data directory is renamed in preparation for running pg_upgrade, and the symbolic links are not updated. Backpatch to 9.3.
-
Bruce Momjian authored
Document problems when disconnection causes loss of hot_standby_feedback and suggest adjusting max_standby_archive_delay and max_standby_streaming_delay. Initial patch by Marko Tiikkaja, adjustments by me
-
Heikki Linnakangas authored
If we set the all-visible flag after writing WAL record, and XLogInsert takes a full-page image of the page, the image would not include the flag. We will then proceed to set the VM bit, which would then be set without the corresponding all-visible flag on the heap page. Found by comparing page images on master and standby, after writing/replaying each WAL record. (There is still a discrepancy: the all-visible flag won't be set after replaying the HEAP_CLEAN record, even though it is set in the master. However, it will be set when replaying the HEAP2_VISIBLE record and setting the VM bit, so the all-visible flag and VM bit are always consistent on the standby, even though they are momentarily out-of-sync with master) Backpatch to 9.3 where this code was introduced.
-
Tom Lane authored
Now that EXPLAIN also outputs a "planning time" measurement, the use of "total" here seems rather confusing: it sounds like it might include the planning time which of course it doesn't. Majority opinion was that "execution time" is a better label, so we'll call it that. This should be noted as a backwards incompatibility for tools that examine EXPLAIN ANALYZE output. In passing, I failed to resist the temptation to do a little editing on the materialized-view example affected by this change.
-
- 16 Apr, 2014 17 commits
-
-
Bruce Momjian authored
In psql, both stdin and stdout must be terminals to get a client encoding of 'auto'. Patch by Albe Laurenz Backpatch to 9.3.
-
Bruce Momjian authored
Previously, 'int' was used for socket values in libpq, but socket values are unsigned on Windows. This is a style correction. Initial patch and previous PGINVALID_SOCKET initial patch by Joel Jacobson, modified by me Report from PVS-Studio
-
Bruce Momjian authored
Patch by Fujii Masao
-
Bruce Momjian authored
Previously it wasn't clear from --help that -F, -R, -z, -0 only controlled psql unaligned output. Initial patch from Jov <amutu@amutu.com>, adjustments by me
-
Alvaro Herrera authored
We were neglecting to schema-qualify them. Backpatch to 9.3, where object identities were introduced as a concept by commit f8348ea3.
-
Tom Lane authored
We were emitting "(SELECT null::typename)", which is usually interpreted as a scalar subselect, but not so much in the context "x = ANY(...)". This led to remote-side parsing failures when remote_estimate is enabled. A quick and ugly fix is to stick in an extra cast step, "((SELECT null::typename)::typename)". The cast will be thrown away as redundant by parse analysis, but not before it's done its job of making sure the grammar sees the ANY argument as an a_expr rather than a select_with_parens. Per an example from Hannu Krosing.
-
Bruce Momjian authored
Document abrupt streaming client disconnection might leave slots in use, so max_wal_senders should be slightly higher than needed to allow for immediate reconnection. Per mention by Magnus
-
Tom Lane authored
Now that we're pretty much feature-frozen, it's time to update the checks on system catalog foreign-key references. (It looks like we missed doing this altogether for 9.3. Sigh.)
-
Andrew Dunstan authored
This has probably been broken for quite a long time. Buildfarm member currawong's current results suggest that it's been broken since 9.1, so backpatch this to that branch. This only supports Python 2 - I will handle Python 3 separately, but this is a fairly simple fix.
-
Bruce Momjian authored
The files were already included by pg_upgrade.h.
-
Tom Lane authored
According to the Single Unix Spec and assorted man pages, you're supposed to use the constants named AF_xxx when setting ai_family for a getaddrinfo call. In a few places we were using PF_xxx instead. Use of PF_xxx appears to be an ancient BSD convention that was not adopted by later standardization. On BSD and most later Unixen, it doesn't matter much because those constants have equivalent values anyway; but nonetheless this code is not per spec. In the same vein, replace PF_INET by AF_INET in one socket() call, which wasn't even consistent with the other socket() call in the same function let alone the remainder of our code. Per investigation of a Cygwin trouble report from Marco Atzeri. It's probably a long shot that this will fix his issue, but it's wrong in any case.
-
Magnus Hagander authored
Bind attempts to an LDAP server should time out after two seconds, allowing additional lines in the service control file to be parsed (which provide a fall back to a secondary LDAP server or default options). The existing code failed to enforce that timeout during TCP connect, resulting in a hang far longer than two seconds if the LDAP server does not respond. Laurenz Albe
-
Robert Haas authored
These are natural complements to the functions added by commit 0886fc6a, but they weren't included in the original patch for some reason. Add them. Patch by me, per a complaint by Tom Lane. Review by Tatsuo Ishii.
-
Robert Haas authored
Apparently, Windows can sometimes return an error code even when the operation actually worked just fine. Rearrange the order of checks according to what appear to be the best practices in this area. Amit Kapila
-
Bruce Momjian authored
Report from rudolf <stu3.1@eq.cz>
-
Bruce Momjian authored
Previously, in some places, socket creation errors were checked for negative values, which is not true for Windows because sockets are unsigned. This masked socket creation errors on Windows. Backpatch through 9.0. 8.4 doesn't have the infrastructure to fix this.
-
Heikki Linnakangas authored
I mixed up BLCKSZ and XLOG_BLCKSZ when I changed the way the buffer is allocated a couple of weeks ago. With the default settings, they are both 8k, but they can be changed at compile-time.
-
- 15 Apr, 2014 6 commits
-
-
Bruce Momjian authored
Missed in previous commit
-
Bruce Momjian authored
In psql \d+, display oids only when they exist, and display replication identity only when it is non-default. Also document the defaults for replication identity for system and non-system tables. Update regression output.
-
Peter Eisentraut authored
Add vacuumdb option --analyze-in-stages which runs ANALYZE three times with different configuration settings, adopting the logic from the analyze_new_cluster.sh script that pg_upgrade generates. That way, users of pg_dump/pg_restore can also use that functionality. Change pg_upgrade to create the script so that it calls vacuumdb instead of implementing the logic itself.
-
Peter Eisentraut authored
By default, lcov will call whatever gcov it can find in the path. But if the user has specified a different gcov to configure, this could be incompatible. So tell lcov explicitly with an option which gcov program to call.
-
Peter Eisentraut authored
That way, when looking at Makefile.global, we don't get confused by the comment that claims that this is Makefile.global.in.
-
Peter Eisentraut authored
Reviewed-by: Pavel Stěhule <pavel.stehule@gmail.com> Reviewed-by: Erik Rijkers <er@xs4all.nl>
-
- 14 Apr, 2014 10 commits
-
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
This allows squeezing out the unused space in full-page writes. And more importantly, it can be a useful debugging aid. In hindsight we should've done this back when GIN was added - we wouldn't need the 'maxoff' field in the page opaque struct if we had used pd_lower and pd_upper like on normal pages. But as long as there can be pages in the index that have been binary-upgraded from pre-9.4 versions, we can't rely on that, and have to continue using 'maxoff'. Most of the code churn comes from renaming some macros, now that they're used on internal pages, too. This change is completely backwards-compatible, no effect on pg_upgrade.
-
Robert Haas authored
Maybe we'll settle on another way of solving this problem, but for now this is the recommended procedure. Per discussion with Michael Paquier.
-
Robert Haas authored
Etsuro Fujita
-
Tom Lane authored
Make sure we throw an error instead of silently doing the wrong thing when fed a strategy number we don't recognize. Also, in the places that did already throw an error, spell the error message in a way more consistent with our message style guidelines. Per report from Paul Jones. Although this is a bug, it won't occur unless a superuser tries to do something he shouldn't, so it doesn't seem worth back-patching.
-
Robert Haas authored
Apparently, the old text was written at a time when the only use of constraint_name here was for a constraint to be dropped, but that's no longer true. Etsuro Fujita
-
Robert Haas authored
Etsuro Fujita
-
Robert Haas authored
Ian Barwick
-
Heikki Linnakangas authored
In some places, the function assumes the left page is valid, and in others, it checks if it is valid. Remove all the checks.
-
Heikki Linnakangas authored
The entry B-tree pages all follow the standard page layout. The 9.3 code has this right. I inadvertently changed this at some point during the big refactorings in git master.
-
- 13 Apr, 2014 3 commits
-
-
Tom Lane authored
Repositioning the tuplestore seek pointer in window_gettupleslot() turns out to be a very significant expense when the window frame is sizable and the frame end can move. To fix, introduce a tuplestore function for skipping an arbitrary number of tuples in one call, parallel to the one we introduced for tuplesort objects in commit 8d65da1f. This reduces the cost of window_gettupleslot() to O(1) if the tuplestore has not spilled to disk. As in the previous commit, I didn't try to do any real optimization of tuplestore_skiptuples for the case where the tuplestore has spilled to disk. There is probably no practical way to get the cost to less than O(N) anyway, but perhaps someone can think of something later. Also fix PersistHoldablePortal() to make use of this API now that we have it. Based on a suggestion by Dean Rasheed, though this turns out not to look much like his patch.
-
Tom Lane authored
MSVC doesn't seem to like it when a constant initializer loses precision upon being assigned. David Rowley
-
Stephen Frost authored
Given that ALTER TABLESPACE has moved on from just existing for general purpose rename/owner changes, it deserves its own top-level production in the grammar. This also cleans up the RenameStmt to only ever be used for actual RENAMEs again- it really wasn't appropriate to hide non-RENAME productions under there. Noted by Alvaro.
-