- 22 Apr, 2014 11 commits
-
-
Bruce Momjian authored
Patch by Ants Aasma
-
Bruce Momjian authored
Patch by Fujii Masao Report by Emanuel Calvo
-
Bruce Momjian authored
Serializable transactions won't work on a Hot Standby. Also fix VACUUM/ANALYZE label mixup. Patch by Martín Marqués
-
Bruce Momjian authored
Also update regression tests Patch by Michael Paquier
-
Heikki Linnakangas authored
Forgot to update LSN of left sibling's page, when creating a new root. I fixed this for regular insertions and page splits earlier, but missed new root creation.
-
Heikki Linnakangas authored
The README incorrectly claimed that GIN posting tree pages contain an array of uncompressed items in addition to compressed posting lists. Earlier versions of the GIN posting list compression patch worked that way, but not the one that was committed.
-
Peter Eisentraut authored
Now that we have accumulated two different "replication slot" concepts, make the index entries consistent.
-
Heikki Linnakangas authored
When modifying a page, must hold an exclusive lock. A shared lock is obviously not good enough.
-
Heikki Linnakangas authored
It makes no difference to the system, but minimizing the differences between a master and standby makes debugging simpler.
-
Heikki Linnakangas authored
A couple of typos from my refactoring of the page deletion patch.
-
Heikki Linnakangas authored
Don't use simple_heap_insert to insert the tuple to a sequence relation. simple_heap_insert creates a heap insertion WAL record, and replaying that will create a regular heap page without the special area containing the sequence magic constant, which is wrong for a sequence. That was not a bug because we always created a sequence WAL record after that, and replaying that overwrote the bogus heap page, and the transient state could never be seen by another backend because it was only done when creating a new sequence relation. But it's simpler and cleaner to avoid that in the first place.
-
- 21 Apr, 2014 1 commit
-
-
Tom Lane authored
pgss_post_parse_analyze() neglected to pass the call on to any earlier occupant of the post_parse_analyze_hook. There are no other users of that hook in contrib/, and most likely none in the wild either, so this is probably just a latent bug. But it's a bug nonetheless, so back-patch to 9.2 where this code was introduced.
-
- 20 Apr, 2014 2 commits
-
-
Robert Haas authored
Etsuro Fujita
-
Robert Haas authored
Etsuro Fujita
-
- 19 Apr, 2014 4 commits
-
-
Bruce Momjian authored
Report by Alexey Bashtanov
-
Bruce Momjian authored
Report by Craig Ringer
-
Bruce Momjian authored
Mention impossibility of moving tablespaces, backing them up independently, or the inadvisability of placing them on temporary file systems. Patch by Craig Ringer, adjustments by Ian Lawrence Warwick and me
-
Bruce Momjian authored
Previously, these functions treated "" optin values as defaults in some ways, but not in others, like when comparing to .pgpass. Also, add documentation to clarify that now "" and NULL use defaults, like PQsetdbLogin() has always done. BACKWARD INCOMPATIBILITY Patch by Adrian Vondendriesch, docs by me Report by Jeff Janes
-
- 18 Apr, 2014 2 commits
-
-
Magnus Hagander authored
Amit Langote
-
Peter Eisentraut authored
Because of gcc -Wmissing-prototypes, all functions in dynamically loadable modules must have a separate prototype declaration. This is meant to detect global functions that are not declared in header files, but in cases where the function is called via dfmgr, this is redundant. Besides filling up space with boilerplate, this is a frequent source of compiler warnings in extension modules. We can fix that by creating the function prototype as part of the PG_FUNCTION_INFO_V1 macro, which such modules have to use anyway. That makes the code of modules cleaner, because there is one less place where the entry points have to be listed, and creates an additional check that functions have the right prototype. Remove now redundant prototypes from contrib and other modules.
-
- 17 Apr, 2014 7 commits
-
-
Bruce Momjian authored
Specifically, on-stack memset() might be removed, so: * Replace memset() with px_memset() * Add px_memset to copy_crlf() * Add px_memset to pgp-s2k.c Patch by Marko Kreen Report by PVS-Studio Backpatch through 8.4.
-
Bruce Momjian authored
Permissions might prevent the existence of the trigger file from being checked. Per report from Andres Freund
-
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 13 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.
-