{"push_id":589860570,"size":11,"distinct_size":2,"ref":"refs/heads/pgdump_extension","head":"9bca873a65ae9147f543aafe3a76ea779a0e9f68","before":"e0dd2f7dffe8f3c1a551130c9b44ec6e79f11190","commits":[{"sha":"e059e02e43cd825616192d010e9e638a96ad4717","author":{"email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org","name":"Alvaro Herrera"},"message":"Fix intermittent failure in event_trigger test\n\nAs evidenced by measles in buildfarm.  Pointed out by Tom.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/e059e02e43cd825616192d010e9e638a96ad4717"},{"sha":"097fe194aa7c590b4fa43d5e40c083940859c286","author":{"email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us","name":"Tom Lane"},"message":"Move memory context callback declarations into palloc.h.\n\nInitial experience with this feature suggests that instances of\nMemoryContextCallback are likely to propagate into some widely-used headers\nover time.  As things stood, that would result in pulling memutils.h or\nat least memnodes.h into common headers, which does not seem desirable.\nInstead, let's decide that this feature is part of the \"ordinary palloc\nuser\" API rather than the \"specialized context management\" API, and as\nsuch should be declared in palloc.h not memutils.h.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/097fe194aa7c590b4fa43d5e40c083940859c286"},{"sha":"424793fa5dc631254f69d5ee8d7d7d6de2976f60","author":{"email":"1db01d43e08596f43a65fb393d969b98ee5b4dc6@leadboat.com","name":"Noah Misch"},"message":"Unlink static libraries before rebuilding them.\n\nWhen the library already exists in the build directory, \"ar\" preserves\nmembers not named on its command line.  This mattered when, for example,\na \"configure\" rerun dropped a file from $(LIBOBJS).  libpgport carried\nthe obsolete member until \"make clean\".  Back-patch to 9.0 (all\nsupported versions).","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/424793fa5dc631254f69d5ee8d7d7d6de2976f60"},{"sha":"b8a18ad4850ea5ad7884aa6ab731fd392e73b4ad","author":{"email":"1db01d43e08596f43a65fb393d969b98ee5b4dc6@leadboat.com","name":"Noah Misch"},"message":"Add transform functions for AT TIME ZONE.\n\nThis makes \"ALTER TABLE tabname ALTER tscol TYPE ... USING tscol AT TIME\nZONE 'UTC'\" skip rewriting the table when altering from \"timestamp\" to\n\"timestamptz\" or vice versa.  While it would be nicer still to optimize\nthis in the absence of the USING clause given timezone==UTC, transform\nfunctions must consult IMMUTABLE facts only.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/b8a18ad4850ea5ad7884aa6ab731fd392e73b4ad"},{"sha":"8abb3cda0ddc00a0ab98977a1633a95b97068d4e","author":{"email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us","name":"Tom Lane"},"message":"Use the typcache to cache constraints for domain types.\n\nPreviously, we cached domain constraints for the life of a query, or\nreally for the life of the FmgrInfo struct that was used to invoke\ndomain_in() or domain_check().  But plpgsql (and probably other places)\nare set up to cache such FmgrInfos for the whole lifespan of a session,\nwhich meant they could be enforcing really stale sets of constraints.\nOn the other hand, searching pg_constraint once per query gets kind of\nexpensive too: testing says that as much as half the runtime of a\ntrivial query such as \"SELECT 0::domaintype\" went into that.\n\nTo fix this, delegate the responsibility for tracking a domain's\nconstraints to the typcache, which has the infrastructure needed to\ndetect syscache invalidation events that signal possible changes.\nThis not only removes unnecessary repeat reads of pg_constraint,\nbut ensures that we never apply stale constraint data: whatever we\nuse is the current data according to syscache rules.\n\nUnfortunately, the current configuration of the system catalogs means\nwe have to flush cached domain-constraint data whenever either pg_type\nor pg_constraint changes, which happens rather a lot (eg, creation or\ndeletion of a temp table will do it).  It might be worth rearranging\nthings to split pg_constraint into two catalogs, of which the domain\nconstraint one would probably be very low-traffic.  That's a job for\nanother patch though, and in any case this patch should improve matters\nmaterially even with that handicap.\n\nThis patch makes use of the recently-added memory context reset callback\nfeature to manage the lifespan of domain constraint caches, so that we\ndon't risk deleting a cache that might be in the midst of evaluation.\n\nAlthough this is a bug fix as well as a performance improvement, no\nback-patch.  There haven't been many if any field complaints about\nstale domain constraint checks, so it doesn't seem worth taking the\nrisk of modifying data structures as basic as MemoryContexts in back\nbranches.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/8abb3cda0ddc00a0ab98977a1633a95b97068d4e"},{"sha":"ee4ddcb38a0abfdb8f7302bbc332a1cb92888ed1","author":{"email":"d3eaa418a359156a10c6383b2e3a44959960ecf6@snowman.net","name":"Stephen Frost"},"message":"Fix targetRelation initializiation in prepsecurity\n\nIn 6f9bd50eabb0a4960e94c83dac8855771c9f340d, we modified\nexpand_security_quals() to tell expand_security_qual() about when the\ncurrent RTE was the targetRelation.  Unfortunately, that commit\ninitialized the targetRelation variable used outside of the loop over\nthe RTEs instead of at the start of it.\n\nThis patch moves the variable and the initialization of it into the\nloop, where it should have been to begin with.\n\nPointed out by Dean Rasheed.\n\nBack-patch to 9.4 as the original commit was.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/ee4ddcb38a0abfdb8f7302bbc332a1cb92888ed1"},{"sha":"ebd092bc2a07787b31b249d62033b9c8140a5d85","author":{"email":"d3eaa418a359156a10c6383b2e3a44959960ecf6@snowman.net","name":"Stephen Frost"},"message":"Fix pg_dump handling of extension config tables\n\nSince 9.1, we've provided extensions with a way to denote\n\"configuration\" tables- tables created by an extension which the user\nmay modify.  By marking these as \"configuration\" tables, the extension\nis asking for the data in these tables to be pg_dump'd (tables which\nare not marked in this way are assumed to be entirely handled during\nCREATE EXTENSION and are not included at all in a pg_dump).\n\nUnfortunately, pg_dump neglected to consider foreign key relationships\nbetween extension configuration tables and therefore could end up\ntrying to reload the data in an order which would cause FK violations.\n\nThis patch teaches pg_dump about these dependencies, so that the data\ndumped out is done so in the best order possible.  Note that there's no\nway to handle circular dependencies, but those have yet to be seen in\nthe wild.\n\nThe release notes for this should include a caution to users that\nexisting pg_dump-based backups may be invalid due to this issue.  The\ndata is all there, but restoring from it will require extracting the\ndata for the configuration tables and then loading them in the correct\norder by hand.\n\nDiscussed initially back in bug #6738, more recently brought up by\nGilles Darold, who provided an initial patch which was further reworked\nby Michael Paquier.  Further modifications and documentation updates\nby me.\n\nBack-patch to 9.1 where we added the concept of extension configuration\ntables.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/ebd092bc2a07787b31b249d62033b9c8140a5d85"},{"sha":"878fdcb843e087cc1cdeadc987d6ef55202ddd04","author":{"email":"cc4ab156f0be9feefe10b35a552fd319cd7679ae@postgresql.org","name":"Robert Haas"},"message":"pgbench: Add a real expression syntax to \\set\n\nPreviously, you could do \\set variable operand1 operator operand2, but\nnothing more complicated.  Now, you can \\set variable expression, which\nmakes it much simpler to do multi-step calculations here.  This also\nadds support for the modulo operator (%), with the same semantics as in\nC.\n\nRobert Haas and Fabien Coelho, reviewed by Álvaro Herrera and\nStephen Frost","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/878fdcb843e087cc1cdeadc987d6ef55202ddd04"},{"sha":"d1479011744d80d80c669b5bd64dc32187f26c1e","author":{"email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us","name":"Tom Lane"},"message":"Fix busted markup.\n\nEvidently from commit 878fdcb843e087cc1cdeadc987d6ef55202ddd04.\nPer buildfarm.","distinct":false,"url":"https://api.github.com/repos/michaelpq/postgres/commits/d1479011744d80d80c669b5bd64dc32187f26c1e"},{"sha":"476f44b54c1ea4828b76b32b64d9a36f80817f40","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@otacoo.com","name":"Michael Paquier"},"message":"Make prove_check install contents of current directory as well\n\nThis is useful for example for TAP tests in extensions.","distinct":true,"url":"https://api.github.com/repos/michaelpq/postgres/commits/476f44b54c1ea4828b76b32b64d9a36f80817f40"},{"sha":"9bca873a65ae9147f543aafe3a76ea779a0e9f68","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@otacoo.com","name":"Michael Paquier"},"message":"Add dump_test, test module to check pg_dump with extensions\n\nIt works with TAP tests.","distinct":true,"url":"https://api.github.com/repos/michaelpq/postgres/commits/9bca873a65ae9147f543aafe3a76ea779a0e9f68"}]}