{"push_id":2859078923,"size":22,"distinct_size":3,"ref":"refs/heads/dev/vacuum-upgrade-5x","head":"f61154f733c44295f172700a7f96197a0698deca","before":"52abd8409da090868dcaf327b3eca7b5133505a6","commits":[{"sha":"9882f9c2f94ef8db61e9c05b13bec457e723aace","author":{"name":"Jimmy Yih","email":"9b5ecfe15c9cd044f4ab483a287130e4bc266a44@pivotal.io"},"message":"Fix intermittent issue with appendonly regression test\n\nA `CREATE TABLE AS` without a `DISTRIBUTED BY` clause will create a\nrandomly distributed table, when optimized by ORCA. The plan for the\nCTAS will have a redistribute motion (random) between the scan and the\ninsert. Depending on your data, this style of plan could be more even,\nequally even, or less even than a hash distributed table (the kind of\ndistribution usually assumed by planner).\n\nThis commit changes the test to explicitly distribute by the same column\nthat planner would guess.\n\nCo-authored-by: Jesse Zhang <sbjesse@gmail.com>\n(cherry picked from commit 7943d8908bd9bd2c0622c40c05d4c5fc4589d337)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/9882f9c2f94ef8db61e9c05b13bec457e723aace"},{"sha":"615ac0e7b5b75836303503d776bd93bd7b6e3c21","author":{"name":"Daniel Gustafsson","email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io"},"message":"Fix restore of SERIAL columns in partitioning\n\nPartitioning hierarchies with SERIAL columns were not restored\nproperly since the definition was split into the below three\noperations:\n\nCREATE TABLE foo .. ;\nCREATE SEQUENCE fooseq.. ;\nALTER TABLE ONLY foo ALTER COLUMN .. SET DEFAULT nextval('fooseq');\n\nThe ALTER TABLE ONLY would fail with an ERROR stating that the\nattrdef must be applied to the partition members as well. Fix\nby identifying partitioning parents during table info gathering\nin pg_dump and omit ONLY in case of parent tables.\n\n(cherry picked from commit 68877c31230eff846c7fc1e13de04e6655e82433)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/615ac0e7b5b75836303503d776bd93bd7b6e3c21"},{"sha":"f394ab597d726c179bb4d43a46c0b9d0f32be1e8","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Add check for hash partitioned tables in pg_upgrade.\n\nI was about to add this as part of the PostgreSQL 8.4 merge, as a check\nwhen upgrading from 8.3 to 8.4, because the hash algorithm was changed\nin 8.4. However, turns out that pg_dump doesn't support hash partitioned\ntables at all, so pg_upgrade won't work on a database that contains any\nhash partitioned tables, even on a same-version upgrade. Hence, let's\nadd this check unconditionally on all server versions.\n\nThere are comments talking about the hash function change, because of that\ndevleopment history. I think that's useful documentation, just in case\nwe ever start to support hash partitions in pg_dump, so I left it there.\n\n(cherry picked from commit 22072ec57f65f8be6f1dd6fec46e46d4d4e5b6d1)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/f394ab597d726c179bb4d43a46c0b9d0f32be1e8"},{"sha":"be6ddf2bbefc9805981e98d22fc77f4533340a6e","author":{"name":"Daniel Gustafsson","email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io"},"message":"Make OLD_CLUSTER explicit for hash partition checks\n\nThere is no reason to support checking for hash partitions in the\nnew cluster, so make OLD_CLUSTER be the only option to simplify\nthe code a bit.\n\n(cherry picked from commit 25c1c959ced8d50e22674fa0e2d6e20efc1d9fbf)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/be6ddf2bbefc9805981e98d22fc77f4533340a6e"},{"sha":"4b3be03bd309fbdcfecab9fd4edb10f541e72cde","author":{"name":"Daniel Gustafsson","email":"c8568db482997e400a30352c275ad00bc4c4e5db@pivotal.io"},"message":"Disallow indexes on partitioned tables during upgrade\n\nThere are numerous cornercases with restoring indexes on partition\nhierarchies, a set of which include:\n\n\t* Indexes left on partition members from DROP INDEX commands\n\t  on the partition parent\n\t* Subpartition indexes created with non-standard names\n\t* Indexes on partitions which stem from partition exchange\n\nRather than adding code to cover all potential pitfalls, we simply\nwon't allow indexes on partition hierarchies during upgrades, as\nthey can be recreated after the upgrade without data loss.\n\nAlso add code to the test_gpdb_pre.sql script to drop all such\nindexes before attempting an upgrade.\n\n(cherry picked from commit 404b199325906c2a1891e3da4162b4ae5ca82cbf)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/4b3be03bd309fbdcfecab9fd4edb10f541e72cde"},{"sha":"f17e57d19b87f56fade8c0a8194ce9edd2c8ff0c","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"Backport fix for mistake in pg_dump partitioning query\n\nPartial backport of commit 18885365, which fixes the partitioning query\nfor GPDB4.","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/f17e57d19b87f56fade8c0a8194ce9edd2c8ff0c"},{"sha":"9cf41b26ecbfeceedcd703858ecc3f5187570352","author":{"name":"Paul Guo","email":"024f5a55fa7412be19ff30721818d2e92bce85a7@users.noreply.github.com"},"message":"Allow some partition related code run for pg_upgrade. (#4774)\n\nFor pg_upgrade, gpdb runs in GP_ROLE_UTILITY mode and with IsBinaryUpgrade set as true.\nIn this patch we allow some partition related code run if IsBinaryUpgrade is true so that\nthose partition related sql clauses, which are generated by pgdump, could recover\nprevious partition schemas.\n\nCo-authored-by: Max Yang <myang@pivotal.io>\n(cherry picked from commit ab129d0a8f7f14541cd6e064ba0ab65741ff58e1)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/9cf41b26ecbfeceedcd703858ecc3f5187570352"},{"sha":"5b1b54d7fe0e78cac6a5dd8935f3c76e128fb6ae","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_dump: fix dump of 4.x EXTERNAL tables with ON clauses\n\nFollow-up to 4f4e5a5c. In GPDB 4, the ON clause information is stored in\npg_exttable.location, not .command.\n\n(cherry picked from commit d514ddf667696a1a704dcecde1ba062de4898f35)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/5b1b54d7fe0e78cac6a5dd8935f3c76e128fb6ae"},{"sha":"c05d4b29bd87086c7747e0f38db0bd7efb709ec6","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_dump: remove trivial EXTERNAL TABLE diffs in dump\n\nWe want identical external tables to dump identically, whether they are\nin GPDB 4 or 5, so that we minimize false negatives during pg_upgrade\ntests:\n\n- Only dump OPTIONS if the options exist, regardless of what version\n  we're dumping from.\n- Always dump a correct ON clause; assume that older versions of\n  location-based web tables are effectively running ON ALL.\n\nAs part of this, improve the EXTERNAL TABLE dump logic and try to\nminimize differences between query results for different GPDB versions.\nEventually, the query should mask all of those differences by itself.\n\n(cherry picked from commit 50160f8b47690f614304825cafab8b42c8518f8c)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/c05d4b29bd87086c7747e0f38db0bd7efb709ec6"},{"sha":"f50fd241b7d6a4faebf58d3497d6175a44591d69","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_dump: improve EXTERNAL TABLE query whitespace\n\nWhitespace diff only; no other changes.\n\n(cherry picked from commit b5b8480923b84c899576a16d3b751dbc575b95c7)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/f50fd241b7d6a4faebf58d3497d6175a44591d69"},{"sha":"ccf2c57586b6ce78d387d54e155745e94c0fa823","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_dump: continue minimizing EXTERNAL version-specific logic\n\nBy making sure options is always part of the query, we no longer need\nversion-specific variable assignment at all, and we can get rid of quite\na bit of duplication.\n\n(cherry picked from commit 14444cf06bcd72adc75d8a48e2f6467c83620ce2)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/ccf2c57586b6ce78d387d54e155745e94c0fa823"},{"sha":"3c2ee8977493a3c52b6f43e29d68ec9fb4114f9f","author":{"name":"Heikki Linnakangas","email":"9304c20251d03f4d84fc732cc8196e9ef6638e64@pivotal.io"},"message":"Speed improvements to pg_dump.\n\n* Don't query for external partitions in non-partitioned tables. The\n  query for possible external partitions is fairly expensive, and it's\n  pointless if the table is not partitioned at all.\n\n* Cache the results of server version checks.\n\nWith these improvements, dumping the regression database takes about 25\nseconds on my laptop, vs. 70 seconds before.\n\n(cherry picked from commit e8de956efd0411ceaf51fc60c1706fc863a1392e)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/3c2ee8977493a3c52b6f43e29d68ec9fb4114f9f"},{"sha":"11c558d696cbe939c8260709dc86429beab30058","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_dump: correct version checks\n\nFollow-up to e8de956e. Correct the GPDB 5 check to use Postgres 8.3's\nversion number, and correctly return the cached value from the GPDB 4\ncheck.\n\n(cherry picked from commit 86614433e637b9a8c1bc7d8b3da2a6d2cf43f3ab)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/11c558d696cbe939c8260709dc86429beab30058"},{"sha":"0dde62eca5a821002aa82d4756d182df5b517632","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_upgrade: partially backport checksum checks from master\n\nCommit 71916050 adds support for adding and removing checksums during\npg_upgrade. While we don't want to support this (yet) in 5.x, we do want\nthe bugfixes made to the checksum version checks. Try to match master's\noutput style in the error messages.","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/0dde62eca5a821002aa82d4756d182df5b517632"},{"sha":"8cdeff7ea7a6d3dbefbf51227d5c816a757a519e","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"get_control_data: fix checksum version check\n\nFollow-up to 71916050. Checksums were backported to Postgres 8.3, so we\nignore them for <= 8.2.\n\nWhile we're at it, switch the data_checksum_version from a false\nassignment to a zero assignment, to match upstream. The actual\nimplementation is an unsigned int; Postgres master incorrectly uses a\nbool type in the declaration.\n\n(cherry picked from commit c687f53f76ac9d772a41ff4dfde5956351f80b90)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/8cdeff7ea7a6d3dbefbf51227d5c816a757a519e"},{"sha":"913234f231f3c9f6718ad093d9a38b4543e8e906","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"get_rel_infos: handle sequences during 8.2->8.3 upgrade\n\nWhen upgrading to 8.4, upstream's pg_upgrade refuses to copy old\nsequence data due to a change in columns. However, that check also\nprevented copying of sequence data during an 8.2->8.3 upgrade --\nPostgres doesn't care about this case, but GPDB does.\n\nDon't omit the copy if we're upgrading to 8.3, and enable the 8.2 heap\nupgrade for sequence tables so that the page makes sense in the new\ndatabase.\n\n(cherry picked from commit 907803c02bf408c298ba10b187d7844c81255686)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/913234f231f3c9f6718ad093d9a38b4543e8e906"},{"sha":"faf24c4b8b3de9bab07fa109e3e757c5cac17336","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"upgrade_tuple: fix isnull array deallocation\n\nThe values array was being double-freed, causing a crash.\n\n(cherry picked from commit 0fd360b363ec9eb9785cf71908ffbb6382b231c5)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/faf24c4b8b3de9bab07fa109e3e757c5cac17336"},{"sha":"6f30f4f84655468d8e482d0ab1810a91e8b20dbf","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"Implement NUMERIC upgrade for AOCS versions < 8.3\n\n8.2->8.3 upgrade of NUMERIC types was implemented for row-oriented AO\ntables, but not column-oriented. Correct that here.\n\nStore upgraded Datum data in a per-DatumStream buffer, to avoid\n\"upgrading\" the same data multiple times (multiple tuples may be\npointing at the same data buffer, for example with RLE compression).\nCache the column's base type in the DatumStreamRead struct.\n\nCo-authored-by: Taylor Vesely <tvesely@pivotal.io>\n\n(cherry picked from commit 54895f5408945bb7ae96c053e7e7b948e767bda1)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/6f30f4f84655468d8e482d0ab1810a91e8b20dbf"},{"sha":"4bf31b15f3cba5292a2726ae8ab096ce3f88935b","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_upgrade: dump REINDEX instructions after upgrade from GPDB4\n\nGPDB5 changed relation indexes on disk, and so they are all invalidated\nwhen upgrading from 4. Rather than expecting the user to know what to do\nafter that mass-invalidation, write a script to perform a REINDEX\nDATABASE for every db_name we have, and point the user to it.\n\nCo-authored-by: Asim Praveen <apraveen@pivotal.io>\n\n(cherry picked from commit 0f2f52e13a4f323d9b1ce0746362082463c33ca0)","distinct":false,"url":"https://api.github.com/repos/jchampio/gpdb/commits/4bf31b15f3cba5292a2726ae8ab096ce3f88935b"},{"sha":"15b333fc7dd54246e18079144281954dba1021e2","author":{"name":"Jacob Champion","email":"487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io"},"message":"pg_upgrade: add a test to catch VACUUM FREEZE failures\n\nVACUUM FREEZE must function correctly during binary upgrade so that the\nnew cluster's catalogs don't contain bogus transaction IDs. Do a simple\ncheck on the QD in our test script, by querying the age of all the rows\nin gp_segment_configuration.\n\n(cherry picked from commit 5bf6d8b419a0363ca47c80325b06415905c608d5)","distinct":true,"url":"https://api.github.com/repos/jchampio/gpdb/commits/15b333fc7dd54246e18079144281954dba1021e2"}]}
{"actor":{"display_login":"jchampio"}}