{"push_id":2402889986,"size":16,"distinct_size":16,"ref":"refs/heads/master","head":"20ba33dadedc46bad2eba5ca3c42bc500c36ade0","before":"1f8a3327a9db9a8a662fb39fdcde2337acffa68c","commits":[{"sha":"377b5ac4845c5ffbf992ee95c32d7d16d38b9081","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Fix CREATE TABLE / LIKE with bigint identity column\n\nCREATE TABLE / LIKE with a bigint identity column would fail on\nplatforms where long is 32 bits.  Copying the sequence values used\nmakeInteger(), which would truncate the 64-bit sequence data to 32 bits.\nTo fix, use makeFloat() instead, like the parser.  (This does not\nactually make use of floats, but stores the values as strings.)\n\nBug: #15096\nReviewed-by: Michael Paquier <michael@paquier.xyz>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/377b5ac4845c5ffbf992ee95c32d7d16d38b9081"},{"sha":"6cf86f435472b27bbc5e22c713bca08aa2d94af7","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Change internal integer representation of Value node\n\nA Value node would store an integer as a long.  This causes needless\nportability risks, as long can be of varying sizes.  Change it to use\nint instead.  All code using this was already careful to only store\n32-bit values anyway.\n\nReviewed-by: Michael Paquier <michael@paquier.xyz>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/6cf86f435472b27bbc5e22c713bca08aa2d94af7"},{"sha":"17bb62501787c56e0518e61db13a523d47afd724","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Move strtoint() to common\n\nSeveral places used similar code to convert a string to an int, so take\nthe function that we already had and make it globally available.\n\nReviewed-by: Michael Paquier <michael@paquier.xyz>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/17bb62501787c56e0518e61db13a523d47afd724"},{"sha":"b32fad52e94307261471d05a79c70f8382d71657","author":{"name":"Michael Meskes","email":"96a4f1ffa8d723ec3cfd43f587d79ea50a197a55@postgresql.org"},"message":"Set connection back to NULL after freeing it.\n\nPatch by Jeevan Ladhe <jeevan.ladhe@enterprisedb.com>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/b32fad52e94307261471d05a79c70f8382d71657"},{"sha":"38f7831d703be98aaece8af6625faeab5123a02c","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Avoid holding AutovacuumScheduleLock while rechecking table statistics.\n\nIn databases with many tables, re-fetching the statistics takes some time,\nso that this behavior seriously decreases the available concurrency for\nmultiple autovac workers.  There's discussion afoot about more complete\nfixes, but a simple and back-patchable amelioration is to claim the table\nand release the lock before rechecking stats.  If we find out there's no\nlonger a reason to process the table, re-taking the lock to un-claim the\ntable is cheap enough.\n\n(This patch is quite old, but got lost amongst a discussion of more\naggressive fixes.  It's not clear when or if such a fix will be\naccepted, but in any case it'd be unlikely to get back-patched.\nLet's do this now so we have some improvement for the back branches.)\n\nIn passing, make the normal un-claim step take AutovacuumScheduleLock\nnot AutovacuumLock, since that is what is documented to protect the\nwi_tableoid field.  This wasn't an actual bug in view of the fact that\nreaders of that field hold both locks, but it creates some concurrency\npenalty against operations that need only AutovacuumLock.\n\nBack-patch to all supported versions.\n\nJeff Janes\n\nDiscussion: https://postgr.es/m/26118.1520865816@sss.pgh.pa.us","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/38f7831d703be98aaece8af6625faeab5123a02c"},{"sha":"d04900de7d0cb5b6ecb6d5bf9fdb6f3105824f81","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"When updating reltuples after ANALYZE, just extrapolate from our sample.\n\nThe existing logic for updating pg_class.reltuples trusted the sampling\nresults only for the pages ANALYZE actually visited, preferring to\nbelieve the previous tuple density estimate for all the unvisited pages.\nWhile there's some rationale for doing that for VACUUM (first that\nVACUUM is likely to visit a very nonrandom subset of pages, and second\nthat we know for sure that the unvisited pages did not change), there's\nno such rationale for ANALYZE: by assumption, it's looked at an unbiased\nrandom sample of the table's pages.  Furthermore, in a very large table\nANALYZE will have examined only a tiny fraction of the table's pages,\nmeaning it cannot slew the overall density estimate very far at all.\nIn a table that is physically growing, this causes reltuples to increase\nnearly proportionally to the change in relpages, regardless of what is\nactually happening in the table.  This has been observed to cause reltuples\nto become so much larger than reality that it effectively shuts off\nautovacuum, whose threshold for doing anything is a fraction of reltuples.\n(Getting to the point where that would happen seems to require some\nadditional, not well understood, conditions.  But it's undeniable that if\nreltuples is seriously off in a large table, ANALYZE alone will not fix it\nin any reasonable number of iterations, especially not if the table is\ncontinuing to grow.)\n\nHence, restrict the use of vac_estimate_reltuples() to VACUUM alone,\nand in ANALYZE, just extrapolate from the sample pages on the assumption\nthat they provide an accurate model of the whole table.  If, by very bad\nluck, they don't, at least another ANALYZE will fix it; in the old logic\na single bad estimate could cause problems indefinitely.\n\nIn HEAD, let's remove vac_estimate_reltuples' is_analyze argument\naltogether; it was never used for anything and now it's totally pointless.\nBut keep it in the back branches, in case any third-party code is calling\nthis function.\n\nPer bug #15005.  Back-patch to all supported branches.\n\nDavid Gould, reviewed by Alexander Kuzmenkov, cosmetic changes by me\n\nDiscussion: https://postgr.es/m/20180117164916.3fdcf2e9@engels","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/d04900de7d0cb5b6ecb6d5bf9fdb6f3105824f81"},{"sha":"0927d2f46ddd4cf7d6bf2cc84b3be923e0aedc52","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Let Parallel Append over simple UNION ALL have partial subpaths.\n\nA simple UNION ALL gets flattened into an appendrel of subquery\nRTEs, but up until now it's been impossible for the appendrel to use\nthe partial paths for the subqueries, so we can implement the\nappendrel as a Parallel Append but only one with non-partial paths\nas children.\n\nThere are three separate obstacles to removing that limitation.\nFirst, when planning a subquery, propagate any partial paths to the\nfinal_rel so that they are potentially visible to outer query levels\n(but not if they have initPlans attached, because that wouldn't be\nsafe).  Second, after planning a subquery, propagate any partial paths\nfor the final_rel to the subquery RTE in the outer query level in the\nsame way we do for non-partial paths.  Third, teach finalize_plan() to\naccount for the possibility that the fake parameter we use for rescan\nsignalling when the plan contains a Gather (Merge) node may be\npropagated from an outer query level.\n\nPatch by me, reviewed and tested by Amit Khandekar, Rajkumar\nRaghuwanshi, and Ashutosh Bapat.  Test cases based on examples by\nRajkumar Raghuwanshi.\n\nDiscussion: http://postgr.es/m/CA+Tgmoa6L9A1nNCk3aTDVZLZ4KkHDn1+tm7mFyFvP+uQPS7bAg@mail.gmail.com","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/0927d2f46ddd4cf7d6bf2cc84b3be923e0aedc52"},{"sha":"4f63e85eb149792492a703f01a3a5b89bf5509a7","author":{"name":"Andres Freund","email":"c6cbfe878b4ee67646e7630734db67f536518d54@anarazel.de"},"message":"Add COSTS off to two EXPLAIN using tests.\n\nDiscussion: https://postgr.es/m/20180312222023.i4sgkbl4oqtstus3@alap3.anarazel.de","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/4f63e85eb149792492a703f01a3a5b89bf5509a7"},{"sha":"1e22166e5ebbc3df7684209657ea58ba880546d6","author":{"name":"Andres Freund","email":"c6cbfe878b4ee67646e7630734db67f536518d54@anarazel.de"},"message":"Expand AND/OR regression tests around NULL handling.\n\nPreviously there were no tests verifying that NULL handling in AND/OR\nwas correct (i.e. that NULL rather than false is returned if\nexpression doesn't return true).\n\nAuthor: Andres Freund","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/1e22166e5ebbc3df7684209657ea58ba880546d6"},{"sha":"db2fc801f66a70969cbdd5673ed9d02025c70695","author":{"name":"Michael Meskes","email":"96a4f1ffa8d723ec3cfd43f587d79ea50a197a55@postgresql.org"},"message":"Fix double frees in ecpg.\n\nPatch by Patrick Krecker <patrick@judicata.com>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/db2fc801f66a70969cbdd5673ed9d02025c70695"},{"sha":"3b7ab4380440d7b14ee390fabf39f6d87d7491e2","author":{"name":"Michael Meskes","email":"96a4f1ffa8d723ec3cfd43f587d79ea50a197a55@postgresql.org"},"message":"Add Oracle like handling of char arrays.\n\nIn some cases Oracle Pro*C handles char array differently than ECPG. This patch\nadds a Oracle compatibility mode to make ECPG behave like Pro*C.\n\nPatch by David Rader <davidr@openscg.com>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/3b7ab4380440d7b14ee390fabf39f6d87d7491e2"},{"sha":"df411e7c664ee9a2395eb8c7a74ceddea818d489","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Add tests for reinit.c\n\nThis tests how the different forks of unlogged tables behave in crash\nrecovery.\n\nAuthor: David Steele <david@pgmasters.net>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/df411e7c664ee9a2395eb8c7a74ceddea818d489"},{"sha":"97d18ce27da47de2de60de8dfca8e364e71ff6fe","author":{"name":"Stephen Frost","email":"2063edcf0aa2fa8dfb7bba729d6cffa6fed14981@snowman.net"},"message":"Fix comment for ExecProcessReturning\n\nresultRelInfo is the argument for the function, not projectReturning.\n\nAuthor: Etsuro Fujita\nDiscussion: https://postgr.es/m/5AA8E11E.1040609@lab.ntt.co.jp","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/97d18ce27da47de2de60de8dfca8e364e71ff6fe"},{"sha":"484a4a08abe316212d67d84bb8705b06e44f862d","author":{"name":"Alvaro Herrera","email":"7cf34a26c111482b1b00703daedc3ff840f1e2cf@alvh.no-ip.org"},"message":"Log when a BRIN autosummarization request fails\n\nAutovacuum's 'workitem' request queue is of limited size, so requests\ncan fail if they arrive more quickly than autovacuum can process them.\nEmit a log message when this happens, to provide better visibility of\nthis.\n\nBackpatch to 10.  While this represents an API change for\nAutoVacuumRequestWork, that function is not yet prepared to deal with\nexternal modules calling it, so there doesn't seem to be any risk (other\nthan log spam, that is.)\n\nAuthor: Masahiko Sawada\nReviewed-by: Fabrízio Mello, Ildar Musin, Álvaro Herrera\nDiscussion: https://postgr.es/m/CAD21AoB1HrQhp6_4rTyHN5kWEJCEsG8YzsjZNt-ctoXSn5Uisw@mail.gmail.com","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/484a4a08abe316212d67d84bb8705b06e44f862d"},{"sha":"33803f67f1c4cb88733cce61207bbf2bd5b599cc","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Support INOUT arguments in procedures\n\nIn a top-level CALL, the values of INOUT arguments will be returned as a\nresult row.  In PL/pgSQL, the values are assigned back to the input\narguments.  In other languages, the same convention as for return a\nrecord from a function is used.  That does not require any code changes\nin the PL implementations.\n\nReviewed-by: Pavel Stehule <pavel.stehule@gmail.com>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/33803f67f1c4cb88733cce61207bbf2bd5b599cc"},{"sha":"20ba33dadedc46bad2eba5ca3c42bc500c36ade0","author":{"name":"Michael Meskes","email":"96a4f1ffa8d723ec3cfd43f587d79ea50a197a55@postgresql.org"},"message":"Fixed compiler warnings in test case.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/20ba33dadedc46bad2eba5ca3c42bc500c36ade0"}]}
{"actor":{"display_login":"dwsteele"}}