- 24 Apr, 2014 2 commits
-
-
Magnus Hagander authored
Michael Paquier
-
Tom Lane authored
pg_sequence_parameters() and pg_identify_object() have had incorrect proallargtypes entries since 9.1 and 9.3 respectively. This was mostly masked by the correct information in proargtypes, but a few operations such as pg_get_function_arguments() (and thus psql's \df display) would show the wrong data types for these functions' input parameters. In HEAD, fix the wrong info, bump catversion, and add an opr_sanity regression test to catch future mistakes of this sort. In the back branches, just fix the wrong info so that installations initdb'd with future minor releases will have the right data. We can't force an initdb, and it doesn't seem like a good idea to add a regression test that will fail on existing installations. Andres Freund
-
- 23 Apr, 2014 11 commits
-
-
Tom Lane authored
Before 9.4, such an aggregate couldn't be declared, because its final function would have to have polymorphic result type but no polymorphic argument, which CREATE FUNCTION would quite properly reject. The ordered-set-aggregate patch found a workaround: allow the final function to be declared as accepting additional dummy arguments that have types matching the aggregate's regular input arguments. However, we failed to notice that this problem applies just as much to regular aggregates, despite the fact that we had a built-in regular aggregate array_agg() that was known to be undeclarable in SQL because its final function had an illegal signature. So what we should have done, and what this patch does, is to decouple the extra-dummy-arguments behavior from ordered-set aggregates and make it generally available for all aggregate declarations. We have to put this into 9.4 rather than waiting till later because it slightly alters the rules for declaring ordered-set aggregates. The patch turned out a bit bigger than I'd hoped because it proved necessary to record the extra-arguments option in a new pg_aggregate column. I'd thought we could just look at the final function's pronargs at runtime, but that didn't work well for variadic final functions. It's probably just as well though, because it simplifies life for pg_dump to record the option explicitly. While at it, fix array_agg() to have a valid final-function signature, and add an opr_sanity test to notice future deviations from polymorphic consistency. I also marked the percentile_cont() aggregates as not needing extra arguments, since they don't.
-
Peter Eisentraut authored
This was broken in 26cd1d7d.
-
Peter Eisentraut authored
These are test files added by f9179685.
-
Heikki Linnakangas authored
We no longer have a TLI field in the page header.
-
Heikki Linnakangas authored
Amit Langote
-
Heikki Linnakangas authored
-
Heikki Linnakangas authored
When marking a branch as half-dead, a pointer to the top of the branch is stored in the leaf block's hi-key. During normal operation, the high key was left in place, and the block number was just stored in the ctid field of the high key tuple, but in WAL replay, the high key was recreated as a truncated tuple with zero columns. For the sake of easier debugging, also truncate the tuple in normal operation, so that the page is identical after WAL replay. Also, rename the 'downlink' field in the WAL record to 'topparent', as that seems like a more descriptive name. And make sure it's set to invalid when unlinking the leaf page.
-
Tom Lane authored
Some ancient comments claimed that fn_nargs could be -1 to indicate a variable number of input arguments; but this was never implemented, and is at variance with what we ultimately did with "variadic" functions. Update the comments.
-
Bruce Momjian authored
Revert due to contrib/test_decoding regression failure
-
Bruce Momjian authored
Report by Andrew Dunstan
-
- 22 Apr, 2014 16 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
Patch by Amit Langote Report by Backpatch through
-
Bruce Momjian authored
Patch by Sehrope Sarkuni
-
Bruce Momjian authored
Patch by Christoph Berg
-
Bruce Momjian authored
Patch by Rajeev rastogi
-
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 2 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.