{"push_id":1236889054,"size":11,"distinct_size":11,"ref":"refs/heads/pageinspect_hash","head":"85893f2fcbcea1413c282948ba21c5551c4a9b50","before":"127e0c3590978fac377f2262a4a29d46a93e39e0","commits":[{"sha":"b26f7fa6ae2b4e5d64525b3d5bc66a0ddccd9e24","author":{"name":"Alvaro Herrera","email":"7cf34a26c111482b1b00703daedc3ff840f1e2cf@alvh.no-ip.org"},"message":"Fix assorted problems in recovery tests\n\nIn test 001_stream_rep we're using pg_stat_replication.write_location to\ndetermine catch-up status, but we care about xlog having been applied\nnot just received, so change that to apply_location.\n\nIn test 003_recovery_targets, we query the database for a recovery\ntarget specification and later for the xlog position supposedly\ncorresponding to that recovery specification.  If for whatever reason\nmore WAL is written between the two queries, the recovery specification\nis earlier than the xlog position used by the query in the test harness,\nso we wait forever, leading to test failures.  Deal with this by using a\nsingle query to extract both items.  In 2a0f89cd717 we tried to deal\nwith it by giving them more tests to run, but in hindsight that was\nobviously doomed to failure (no revert of that, though).\n\nPer hamster buildfarm failures.\n\nAuthor: Michaël Paquier","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/b26f7fa6ae2b4e5d64525b3d5bc66a0ddccd9e24"},{"sha":"2b8fd4fa67693b0b07c412eed34c6b6da6c74d43","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"doc: Remove documentation of nonexistent information schema columns\n\nThese were probably copied in by accident.\n\nFrom: Clément Prévost <prevostclement@gmail.com>","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/2b8fd4fa67693b0b07c412eed34c6b6da6c74d43"},{"sha":"6a9e09c49e1405c47b0870de73fec5748302f92d","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"Add missing casts in information schema\n\nFrom: Clément Prévost <prevostclement@gmail.com>","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/6a9e09c49e1405c47b0870de73fec5748302f92d"},{"sha":"ef1b5af82339a49564037be656a3ff657fb2a246","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Do not let PostmasterContext survive into background workers.\n\nWe don't want postmaster child processes to contain a copy of the\npostmaster's PostmasterContext.  That would be a waste of memory at least,\nand at worst a security issue, since there are copies of the semi-sensitive\npg_hba and pg_ident data in there.  All other child process types delete\nthe PostmasterContext after forking, but the original coding of the\nbackground worker patch (commit da07a1e85) did not do so.  It appears\nthat the only reason for that was to avoid copying the bgworker's\nMyBgworkerEntry out of that context; but the couple of additional\nstatements needed to do so are hardly good justification for it.  Hence,\ncopy that data and then clear the context as other child processes do.\n\nBecause this patch changes the memory context in which a bgworker function\ngains control, back-patching it would be a bit risky, so we won't fix this\nin back branches.  The \"security\" complaint is pretty thin anyway for\ngeneric bgworkers; only with the introduction of parallel query is there\nany question of running untrusted code in a bgworker process.\n\nDiscussion: <14111.1470082717@sss.pgh.pa.us>","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/ef1b5af82339a49564037be656a3ff657fb2a246"},{"sha":"a3c7a993d5eb29df4d33075b83c75ae25f257897","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Make INSERT-from-multiple-VALUES-rows handle targetlist indirection better.\n\nPreviously, if an INSERT with multiple rows of VALUES had indirection\n(array subscripting or field selection) in its target-columns list, the\nparser handled that by applying transformAssignedExpr() to each element\nof each VALUES row independently.  This led to having ArrayRef assignment\nnodes or FieldStore nodes in each row of the VALUES RTE.  That works for\nsimple cases, but in bug #14265 Nuri Boardman points out that it fails\nif there are multiple assignments to elements/fields of the same target\ncolumn.  For such cases to work, rewriteTargetListIU() has to nest the\nArrayRefs or FieldStores together to produce a single expression to be\nassigned to the column.  But it failed to find them in the top-level\ntargetlist and issued an error about \"multiple assignments to same column\".\n\nWe could possibly fix this by teaching the rewriter to apply\nrewriteTargetListIU to each VALUES row separately, but that would be messy\n(it would change the output rowtype of the VALUES RTE, for example) and\ninefficient.  Instead, let's fix the parser so that the VALUES RTE outputs\nare just the user-specified values, cast to the right type if necessary,\nand then the ArrayRefs or FieldStores are applied in the top-level\ntargetlist to Vars representing the RTE's outputs.  This is the same\nparsetree representation already used for similar cases with INSERT/SELECT\nsyntax, so it allows simplifications in ruleutils.c, which no longer needs\nto treat INSERT-from-multiple-VALUES as its own special case.\n\nThis implementation works by applying transformAssignedExpr to the VALUES\nentries as before, and then stripping off any ArrayRefs or FieldStores it\nadds.  With lots of VALUES rows it would be noticeably more efficient to\nnot add those nodes in the first place.  But that's just an optimization\nnot a bug fix, and there doesn't seem to be any good way to do it without\nsignificant refactoring.  (A non-invasive answer would be to apply\ntransformAssignedExpr + stripping to just the first VALUES row, and then\njust forcibly cast remaining rows to the same data types exposed in the\nfirst row.  But this way would lead to different, not-INSERT-specific\nerrors being reported in casting failure cases, so it doesn't seem very\nnice.)  So leave that for later; this patch at least isn't making the\nper-row parsing work worse, and it does make the finished parsetree\nsmaller, saving rewriter and planner work.\n\nCatversion bump because stored rules containing such INSERTs would need\nto change.  Because of that, no back-patch, even though this is a very\nlong-standing bug.\n\nReport: <20160727005725.7438.26021@wrigleys.postgresql.org>\nDiscussion: <9578.1469645245@sss.pgh.pa.us>","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/a3c7a993d5eb29df4d33075b83c75ae25f257897"},{"sha":"3e2f3c2e423b3ae906668c186bac79522b8e3e29","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Prevent \"snapshot too old\" from trying to return pruned TOAST tuples.\n\nPreviously, we tested for MVCC snapshots to see whether they were too\nold, but not TOAST snapshots, which can lead to complaints about missing\nTOAST chunks if those chunks are subject to early pruning.  Ideally,\nthe threshold lsn and timestamp for a TOAST snapshot would be that of\nthe corresponding MVCC snapshot, but since we have no way of deciding\nwhich MVCC snapshot was used to fetch the TOAST pointer, use the oldest\nactive or registered snapshot instead.\n\nReported by Andres Freund, who also sketched out what the fix should\nlook like.  Patch by me, reviewed by Amit Kapila.","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/3e2f3c2e423b3ae906668c186bac79522b8e3e29"},{"sha":"81568a971f2634bc447af2788eafee899f2db2a1","author":{"name":"Peter Eisentraut","email":"2f47089682e4afbd5de3eea4edffc95dfc1eb9de@gmx.net"},"message":"doc: Move indexterms to avoid whitespace issue in man pages","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/81568a971f2634bc447af2788eafee899f2db2a1"},{"sha":"8d498a5c8a4c702ca71463a5c76bb4f319872378","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Fix bogus coding in WaitForBackgroundWorkerShutdown().\n\nSome conditions resulted in \"return\" directly out of a PG_TRY block,\nwhich left the exception stack dangling, and to add insult to injury\nfailed to restore the state of set_latch_on_sigusr1.\n\nThis is a bug only in 9.5; in HEAD it was accidentally fixed by commit\ndb0f6cad4, which removed the surrounding PG_TRY block.  However, I (tgl)\nchose to apply the patch to HEAD as well, because the old coding was\ngratuitously different from WaitForBackgroundWorkerStartup(), and there\nwould indeed have been no bug if it were done like that to start with.\n\nDmitry Ivanov\n\nDiscussion: <1637882.WfYN5gPf1A@abook>","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/8d498a5c8a4c702ca71463a5c76bb4f319872378"},{"sha":"4eb4b3f24561cb115b24984c755b2a75155afedf","author":{"name":"Bruce Momjian","email":"c14305a822a8e0093cd46d644546baf20ea0af1b@momjian.us"},"message":"docs:  mention rsync of temp and unlogged tables\n\nThis happens when using rsync to pg_upgrade slaves.\n\nReported-by: Jerry Sievers\n\nDiscussion: 20160726161946.GA3511@momjian.us","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/4eb4b3f24561cb115b24984c755b2a75155afedf"},{"sha":"e7caacf733f3ee77a555aa715ab6fbf4434e6b52","author":{"name":"Andres Freund","email":"c6cbfe878b4ee67646e7630734db67f536518d54@anarazel.de"},"message":"Fix hard to hit race condition in heapam's tuple locking code.\n\nAs mentioned in its commit message, eca0f1db left open a race condition,\nwhere a page could be marked all-visible, after the code checked\nPageIsAllVisible() to pin the VM, but before the page is locked.  Plug\nthat hole.\n\nReviewed-By: Robert Haas, Andres Freund\nAuthor: Amit Kapila\nDiscussion: CAEepm=3fWAbWryVW9swHyLTY4sXVf0xbLvXqOwUoDiNCx9mBjQ@mail.gmail.com\nBackpatch: -","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/e7caacf733f3ee77a555aa715ab6fbf4434e6b52"},{"sha":"85893f2fcbcea1413c282948ba21c5551c4a9b50","author":{"name":"jesperpedersen","email":"61e523d0c9435c8dd241282a919a07e571a1ea42@redhat.com"},"message":"pageinspect: Hash index support","distinct":true,"url":"https://api.github.com/repos/jesperpedersen/postgres/commits/85893f2fcbcea1413c282948ba21c5551c4a9b50"}]}
{"actor":{"display_login":"jesperpedersen"}}