Commits

Author Commit Message Labels Comments Date
Tom Lane
Fix memory leaks in record_out() and record_send(). record_out() leaks memory: it fails to free the strings returned by the per-column output functions, and also is careless about detoasted values. This results in a query-lifespan memory leakage when returning composite values to the client, because printtup() runs the output functions in the query-lifespan memory context. Fix it to handle these issues the same way printtup() does. Also fix a sim…
Simon Riggs
Skip searching for subxact locks at commit. At commit all standby locks are released for the top-level transaction, so searching for locks for each subtransaction is both pointless and costly (N^2) in the presence of many AccessExclusiveLocks.
Simon Riggs
Clarify docs on hot standby lock release Andres Freund and Simon Riggs
Peter Eisentraut
doc: Add link to CREATE TABLE AS on CREATE TABLE reference page Karl O. Pinc
Tom Lane
Fix multiple problems in WAL replay. Most of the replay functions for WAL record types that modify more than one page failed to ensure that those pages were locked correctly to ensure that concurrent queries could not see inconsistent page states. This is a hangover from coding decisions made long before Hot Standby was added, when it was hardly necessary to acquire buffer locks during WAL replay at all, let alone hold them for care…
Peter Eisentraut
Use a stamp file for the XSLT HTML doc build This way it works more like the DSSSL build, and dependencies are tracked better by make. Also copy the CSS stylesheet to the html directory. This was forgotten when the output directory was changed.
Heikki Linnakangas
Oops, have to rename local variables called 'errcontext' in contrib, too. As pointed out by Alvaro.
Heikki Linnakangas
Use correct text domain for translating errcontext() messages. errcontext() is typically used in an error context callback function, not within an ereport() invocation like e.g errmsg and errdetail are. That means that the message domain that the TEXTDOMAIN magic in ereport() determines is not the right one for the errcontext() calls. The message domain needs to be determined by the C file containing the errcontext() call, not the file containing the ereport(…
Heikki Linnakangas
Silence "expression result unused" warnings in AssertVariableIsOfTypeMacro At least clang 3.1 generates those warnings. Prepend (void) to avoid them, like we have in AssertMacro.
Peter Eisentraut
doc: "only relevant" -> "relevant only" Karl O. Pinc
Tom Lane
Check for stack overflow in transformSetOperationTree(). Since transformSetOperationTree() recurses, it can be driven to stack overflow with enough UNION/INTERSECT/EXCEPT clauses in a query. Add a check to ensure it fails cleanly instead of crashing. Per report from Matthew Gerber (though it's not clear whether this is the only thing going wrong for him). Historical note: I think the reasoning behind not putting a check here in the beginning was that…
Alvaro Herrera
Remove leftover LWLockRelease() call This code was refactored in d5497b95 but an extra LWLockRelease call was left behind. Per report from Erik Rijkers
Peter Eisentraut
XSLT stylesheet: Add slash to directory name Some versions of the XSLT stylesheets don't handle the missing slash correctly (they concatenate directory and file name without the slash). This might never have worked correctly.
Tom Lane
Fix WaitLatch() to return promptly when the requested timeout expires. If the sleep is interrupted by a signal, we must recompute the remaining time to wait; otherwise, a steady stream of non-wait-terminating interrupts could delay return from WaitLatch indefinitely. This has been shown to be a problem for the autovacuum launcher, and there may well be other places now or in the future with similar issues. So we'd better make the function robust, even though this'l…
Tom Lane
Rename ResolveNew() to ReplaceVarsFromTargetList(), and tweak its API. This function currently lacks the option to throw error if the provided targetlist doesn't have any matching entry for a Var to be replaced. Two of the four existing call sites would be better off with an error, as would the usage in the pending auto-updatable-views patch, so it seems past time to extend the API to support that. To do so, replace the "event" parameter (historically of type CmdTyp…
Tom Lane
Don't trash input list structure in does_not_exist_skipping(). The trigger and rule cases need to split up the input name list, but they mustn't corrupt the passed-in data structure, since it could be part of a cached utility-statement parsetree. Per bug #7641.
Heikki Linnakangas
Teach pg_basebackup and pg_receivexlog to reply to server keepalives. Without this, the connection will be killed after timeout if wal_sender_timeout is set in the server. Original patch by Amit Kapila, modified by me to fit recent changes in the code.
Tom Lane
Fix missing inclusions. Some platforms require including <netinet/in.h> and/or <arpa/inet.h> to use htonl() and ntohl(). Per build failure locally.
Bruce Momjian
Add URLs to document why DLLIMPORT is needed on Windows. Per email from Craig Ringer
Alvaro Herrera
Don't try to use a unopened relation Commit 4c9d0901 mistakenly introduced a call to TransferPredicateLocksToHeapRelation() on an index relation that had been closed a few lines above. Moving up an index_open() call that's below is enough to fix the problem. Discovered by me while testing an unrelated patch.
Bruce Momjian
In pg_upgrade docs, mention using base backup as part of rsync for logical replication upgrades. Backpatch to 9.2.
Heikki Linnakangas
Make the streaming replication protocol messages architecture-independent. We used to send structs wrapped in CopyData messages, which works as long as the client and server agree on things like endianess, timestamp format and alignment. That's good enough for running a standby server, which has to run on the same platform anyway, but it's useful for tools like pg_receivexlog to work across platforms. This breaks protocol compatibility of streaming replication, but we n…
Bruce Momjian
In pg_upgrade, set synchronous_commit=off for the new cluster, to improve performance when restoring the schema from the old cluster. Backpatch to 9.2.
Tom Lane
Fix handling of inherited check constraints in ALTER COLUMN TYPE. This case got broken in 8.4 by the addition of an error check that complains if ALTER TABLE ONLY is used on a table that has children. We do use ONLY for this situation, but it's okay because the necessary recursion occurs at a higher level. So we need to have a separate flag to suppress recursion without making the error check. Reported and patched by Pavan Deolasee, with some editorial adjustm…
Peter Eisentraut
Fix typo
Tom Lane
Fix bogus handling of $(X) (i.e., ".exe") in isolationtester Makefile. I'm not sure why commit 1eb1dde049ccfffc42c80c2bcec14155c58bcc1f seems to have made this start to fail on Cygwin when it never did before --- but nonetheless, the coding was pretty bogus, and unlike the way we handle $(X) anywhere else. Per buildfarm.
Tom Lane
Limit the number of rel sets considered in consider_index_join_outer_rels. In bug #7626, Brian Dunavant exposes a performance problem created by commit 3b8968f25232ad09001bf35ab4cc59f5a501193e: that commit attempted to consider *all* possible combinations of indexable join clauses, but if said clauses join to enough different relations, there's an exponential increase in the number of outer-relation sets considered. In Brian's example, all the clauses come from the same…
Peter Eisentraut
Have make never delete intermediate files automatically Several hacks in certain modes already thought this was a bad idea, so just disable it globally.
Alvaro Herrera
Fix erroneous choice of timeline variable, too
Tom Lane
Document that TCP keepalive settings read as 0 on Unix-socket connections. Per bug #7631 from Rob Johnson. The code is operating as designed, but the docs didn't explain it.
  1. Prev
  2. Next