{"push_id":2760071549,"size":95,"distinct_size":1,"ref":"refs/heads/commitfest/18/1690","head":"112294df358cea6a69d4c94b84f2c854a137df80","before":"08a828ef469ab414c802370ad57b6aa94fe647c5","commits":[{"sha":"5fc1008e8a8b9e96ac75b4db5dd9ad2b99a9c8b2","author":{"name":"Michael Paquier","email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@paquier.xyz"},"message":"Clean up temporary WAL segments after an instance crash\n\nTemporary WAL segments are created in pg_wal and named as xlogtemp.pid\nbefore being renamed to the real deal when creating a new segment.  If\nan instance crashes after the temporary segment is created and before\nthe rename is done, then the server would finish with unremovable data.\n\nAfter an instance crash, scan pg_wal and remove any such segments.  With\nrepetitive unlucky crashes this would contribute to disk bloat and\npresents risks of ENOSPC especially with max_wal_size close to the\nmaximum allowed.\n\nAuthor: Michael Paquier\nReviewed-by: Yugo Nagata, Heikki Linnakangas\nDiscussion: https://postgr.es/m/20180514054955.GF1528@paquier.xyz","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/5fc1008e8a8b9e96ac75b4db5dd9ad2b99a9c8b2"},{"sha":"ce89ad0fa07d98e20380867811a5269ee36d45c7","author":{"name":"Michael Paquier","email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@paquier.xyz"},"message":"Fix argument of pg_create_logical_replication_slot for slot name\n\nAll attributes and arguments using a slot name map to the data type\n\"name\", but this function has been using \"text\".  This is cosmetic, as\neven if text is used then the slot name would be truncated to 64\ncharacters anyway and stored as such.  The documentation already said\nso and the function already assumed that the argument was of this type\nwhen fetching its value.\n\nBump catalog version.\n\nAuthor: Sawada Masahiko\nDiscussion: https://postgr.es/m/CAD21AoADYz_-eAqH5AVFaCaojcRgwpo9PW=u8kgTMys63oB8Cw@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/ce89ad0fa07d98e20380867811a5269ee36d45c7"},{"sha":"387a5cfb94f041ffe18d03ccc4063c626bb4b73e","author":{"name":"Thomas Munro","email":"1ff054ef0838bf068a4b7c40eef026e560a37025@postgresql.org"},"message":"Add pg_dump --on-conflict-do-nothing option.\n\nWhen dumping INSERT statements, optionally add ON CONFLICT DO NOTHING.\n\nAuthor: Surafel Temesgen\nReviewed-by: Takeshi Ideriha, Nico Williams, Dilip Kumar\nDiscussion: https://postgr.es/m/CALAY4q-PQ9cOEzs2%2BQHK5ObfF_4QbmBaYXbZx6BGGN66Q-n8FA%40mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/387a5cfb94f041ffe18d03ccc4063c626bb4b73e"},{"sha":"e8d9caa436db2931613d7cb4a4a8b3933d5f6ded","author":{"name":"Thomas Munro","email":"1ff054ef0838bf068a4b7c40eef026e560a37025@postgresql.org"},"message":"Accept invalidation messages in InitializeSessionUserId().\n\nIf the authentication method modified the system catalogs through a\nseparate database connection (say, to create a new role on the fly),\nmake sure syscache sees the changes before we try to find the user.\n\nAuthor: Thomas Munro\nReviewed-by: Tom Lane, Andres Freund\nDiscussion: https://postgr.es/m/CAEepm%3D3_h0_cgmz5PMyab4xk_OFrg6G5VCN%3DnF4chFXM9iFOqA%40mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/e8d9caa436db2931613d7cb4a4a8b3933d5f6ded"},{"sha":"1f4ec8945967a75f711d721860752985624a0957","author":{"name":"Peter Eisentraut","email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net"},"message":"Remove obsolete documentation build tools for Windows\n\nThe scripts and instructions have been nonfunctional at least since\nPostgreSQL 10 (commit 510074f9f0131a04322d6a3d2a51c87e6db243f9) and\nnobody has stepped up to fix them.  So right now just remove them until\nsomeone wants to resurrect them.\n\nDiscussion: https://www.postgresql.org/message-id/flat/B74C0219-6BA9-46E1-A524-5B9E8CD3BDB3%40yesql.se","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/1f4ec8945967a75f711d721860752985624a0957"},{"sha":"3884072329bd1ad7d41bf7582c5d60e969365634","author":{"name":"Peter Eisentraut","email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net"},"message":"Prohibit transaction commands in security definer procedures\n\nStarting and aborting transactions in security definer procedures\ndoesn't work.  StartTransaction() insists that the security context\nstack is empty, so this would currently cause a crash, and\nAbortTransaction() resets it.  This could be made to work by\nreorganizing the code, but right now we just prohibit it.\n\nReported-by: amul sul <sulamul@gmail.com>\nDiscussion: https://www.postgresql.org/message-id/flat/CAAJ_b96Gupt_LFL7uNyy3c50-wbhA68NUjiK5%3DrF6_w%3Dpq_T%3DQ%40mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/3884072329bd1ad7d41bf7582c5d60e969365634"},{"sha":"394811501cbef1259a544f8957160ca7153013ec","author":{"name":"Bruce Momjian","email":"9ae9c44b775ee9b29f4f502415e02e61a9b1a6a0@momjian.us"},"message":"docs:  Remove \"New\" description of the libpqxx interface\n\nBackpatch-through: 9.3","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/394811501cbef1259a544f8957160ca7153013ec"},{"sha":"130beba36d6dd46b8c527646f9f2433347cbfb11","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Fix inadequate buffer locking in FSM and VM page re-initialization.\n\nWhen reading an existing FSM or VM page that was found to be corrupt by the\nbuffer manager, the code applied PageInit() to reinitialize the page, but\ndid so without any locking.  There is thus a hazard that two backends might\nconcurrently do PageInit, which in itself would still be OK, but the slower\none might then zero over subsequent data changes applied by the faster one.\nEven that is unlikely to be fatal; but it's not desirable, so add locking\nto prevent it.\n\nThis does not add any locking overhead in the normal code path where the\npage is OK.  It's not immediately obvious that that's safe, but I believe\nit is, for reasons explained in the added comments.\n\nProblem noted by R P Asim.  It's been like this for a long time, so\nback-patch to all supported branches.\n\nDiscussion: https://postgr.es/m/CANXE4Te4G0TGq6cr0-TvwP0H4BNiK_-hB5gHe8mF+nz0mcYfMQ@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/130beba36d6dd46b8c527646f9f2433347cbfb11"},{"sha":"42f70cd9c3dbfcdfbeea4e24d5921173d0eaab66","author":{"name":"Heikki Linnakangas","email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi"},"message":"Improve performance of tuple conversion map generation\n\nPreviously convert_tuples_by_name_map naively performed a search of each\noutdesc column starting at the first column in indesc and searched each\nindesc column until a match was found.  When partitioned tables had many\ncolumns this could result in slow generation of the tuple conversion maps.\nFor INSERT and UPDATE statements that touched few rows, this could mean a\nvery large overhead indeed.\n\nWe can do a bit better with this loop.  It's quite likely that the columns\nin partitioned tables and their partitions are in the same order, so it\nmakes sense to start searching for each column outer column at the inner\ncolumn position 1 after where the previous match was found (per idea from\nAlexander Kuzmenkov). This makes the best case search O(N) instead of\nO(N^2).  The worst case is still O(N^2), but it seems unlikely that would\nhappen.\n\nLikewise, in the planner, make_inh_translation_list's search for the\nmatching column could often end up falling back on an O(N^2) type search.\nThis commit also improves that by first checking the column that follows\nthe previous match, instead of the column with the same attnum.  If we\nfail to match here we fallback on the syscache's hashtable lookup.\n\nAuthor: David Rowley\nReviewed-by: Alexander Kuzmenkov\nDiscussion: https://www.postgresql.org/message-id/CAKJS1f9-wijVgMdRp6_qDMEQDJJ%2BA_n%3DxzZuTmLx5Fz6cwf%2B8A%40mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/42f70cd9c3dbfcdfbeea4e24d5921173d0eaab66"},{"sha":"93ad00c968ae93e93f4ff238068a92625f41b6ff","author":{"name":"Alvaro Herrera","email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org"},"message":"Dump foreign keys on partitioned tables\n\nThe patch that ended up as commit 3de241dba86f (\"Foreign keys on\npartitioned tables\") lacked pg_dump tests, so the pg_dump code that was\nthere to support it inadvertently stopped working when in later\ndevelopment I modified the backend code not to emit pg_trigger rows for\nthe partitioned table itself.\n\nBug analysis and code fix is by Michaël.  I (Álvaro) added the test.\n\nReported-by: amul sul <sulamul@gmail.com>\nCo-authored-by: Michaël Paquier <michael@paquier.xyz>\nCo-authored-by: Álvaro Herrera <alvherre@alvh.no-ip.org>\nDiscussion: https://postgr.es/m/CAAJ_b94n=UsNVhgs97vCaWEZAMe-tGDRVuZ73oePQH=eaJKGSA@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/93ad00c968ae93e93f4ff238068a92625f41b6ff"},{"sha":"4984784f836a061985b356c52253b5d83a0cbe65","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Fix crash in json{b}_populate_recordset() and json{b}_to_recordset().\n\nAs of commit 37a795a60, populate_recordset_worker() tried to pass back\n(as rsi.setDesc) a tupdesc that it also had cached in its fn_extra.\nBut the core executor would free the passed-back tupdesc, risking a\ncrash if the function were called again in the same query.  The safest\nand least invasive way to fix that is to make an extra tupdesc copy\nto pass back.\n\nWhile at it, I failed to resist the temptation to get rid of unnecessary\nget_fn_expr_argtype() calls here and in populate_record_worker().\n\nPer report from Dmitry Dolgov; thanks to Michael Paquier and\nAndrew Gierth for investigation and discussion.\n\nDiscussion: https://postgr.es/m/CA+q6zcWzN9ztCfR47ZwgTr1KLnuO6BAY6FurxXhovP4hxr+yOQ@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/4984784f836a061985b356c52253b5d83a0cbe65"},{"sha":"333224c99ed107a4e73dc7768879c2a37c6f99ab","author":{"name":"Peter Eisentraut","email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net"},"message":"Update documentation editor setup instructions\n\nNow that the documentation sources are in XML rather than SGML, some of\nthe documentation about the editor, or more specifically Emacs, setup\nneeds updating.  The updated instructions recommend using nxml-mode,\nwhich works mostly out of the box, with some small tweaks in\nemacs.samples and .dir-locals.el.\n\nAlso remove some obsolete stuff in .dir-locals.el.  I did, however,\nleave the sgml-mode settings in there so that someone using Emacs\nwithout emacs.samples gets those settings when editing a *.sgml file.","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/333224c99ed107a4e73dc7768879c2a37c6f99ab"},{"sha":"28a1ae5342fe39b7c4057d3f872cb6057f5f33bf","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Fix crash in contrib/ltree's lca() function for empty input array.\n\nlca_inner() wasn't prepared for the possibility of getting no inputs.\nFix that, and make some cosmetic improvements to the code while at it.\n\nAlso, I thought the documentation of this function as returning the\n\"longest common prefix\" of the paths was entirely misleading; it really\nreturns a path one shorter than the longest common prefix, for the typical\ndefinition of \"prefix\".  Don't use that term in the docs, and adjust the\nexamples to clarify what really happens.\n\nThis has been broken since its beginning, so back-patch to all supported\nbranches.\n\nPer report from Hailong Li.  Thanks to Pierre Ducroquet for diagnosing\nand for the initial patch, though I whacked it around some and added\ntest cases.\n\nDiscussion: https://postgr.es/m/5b0d8e4f-f2a3-1305-d612-e00e35a7be66@qunar.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/28a1ae5342fe39b7c4057d3f872cb6057f5f33bf"},{"sha":"1007b0a126c608b530fd2914825f1e6d133cb649","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Fix hashjoin costing mistake introduced with inner_unique optimization.\n\nIn final_cost_hashjoin(), commit 9c7f5229a allowed inner_unique cases\nto follow a code path previously used only for SEMI/ANTI joins; but it\nneglected to fix an if-test within that path that assumed SEMI and ANTI\nwere the only possible cases.  This resulted in a wrong value for\nhashjointuples, and an ensuing bad cost estimate, for inner_unique normal\njoins.  Fortunately, for inner_unique normal joins we can assume the number\nof joined tuples is the same as for a SEMI join; so there's no need for\nmore code, we just have to invert the test to check for ANTI not SEMI.\n\nIt turns out that in two contrib tests in which commit 9c7f5229a\nchanged the plan expected for a query, the change was actually wrong\nand induced by this estimation error, not by any real improvement.\nHence this patch also reverts those changes.\n\nPer report from RK Korlapati.  Backpatch to v10 where the error was\nintroduced.\n\nDavid Rowley\n\nDiscussion: https://postgr.es/m/CA+SNy03bhq0fodsfOkeWDCreNjJVjsdHwUsb7AG=jpe0PtZc_g@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/1007b0a126c608b530fd2914825f1e6d133cb649"},{"sha":"a06e56b247feb2812bad5cf60fd9c0128d81f5c0","author":{"name":"Peter Eisentraut","email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net"},"message":"doc: Update redirecting links\n\nUpdate links that resulted in redirects.  Most are changes from http to\nhttps, but there are also some other minor edits.  (There are still some\nredirects where the target URL looks less elegant than the one we\ncurrently have.  I have left those as is.)","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/a06e56b247feb2812bad5cf60fd9c0128d81f5c0"},{"sha":"f7cb2842bf47715133b40e4a503f35dbe60d1b72","author":{"name":"Peter Eisentraut","email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net"},"message":"Add plan_cache_mode setting\n\nThis allows overriding the choice of custom or generic plan.\n\nAuthor: Pavel Stehule <pavel.stehule@gmail.com>\nDiscussion: https://www.postgresql.org/message-id/flat/CAFj8pRAGLaiEm8ur5DWEBo7qHRWTk9HxkuUAz00CZZtJj-LkCA%40mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/f7cb2842bf47715133b40e4a503f35dbe60d1b72"},{"sha":"32df1c9afa5a11e37b154fe50df7a4f016f289e4","author":{"name":"Robert Haas","email":"cc4ab156f0be9feefe10b35a552fd319cd7679ae@postgresql.org"},"message":"Add subtransaction handling for table synchronization workers.\n\nSince the old logic was completely unaware of subtransactions, a\nchange made in a subsequently-aborted subtransaction would still cause\nworkers to be stopped at toplevel transaction commit.  Fix that by\nmanaging a stack of worker lists rather than just one.\n\nAmit Khandekar and Robert Haas\n\nDiscussion: http://postgr.es/m/CAJ3gD9eaG_mWqiOTA2LfAug-VRNn1hrhf50Xi1YroxL37QkZNg@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/32df1c9afa5a11e37b154fe50df7a4f016f289e4"},{"sha":"e353389d24da48c708f72379f87e9b518baac521","author":{"name":"Alvaro Herrera","email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org"},"message":"Fix partition pruning with IS [NOT] NULL clauses\n\nThe original code was unable to prune partitions that could not possibly\ncontain NULL values, when the query specified less than all columns in a\nmulticolumn partition key.  Reorder the if-tests so that it is, and add\nmore commentary and regression tests.\n\nReported-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>\nCo-authored-by: Dilip Kumar <dilipbalaut@gmail.com>\nCo-authored-by: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>\nCo-authored-by: Álvaro Herrera <alvherre@alvh.no-ip.org>\nReviewed-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>\nReviewed-by: amul sul <sulamul@gmail.com>\nDiscussion: https://postgr.es/m/CAFjFpRc7qjLUfXLVBBC_HAnx644sjTYM=qVoT3TJ840HPbsTXw@mail.gmail.com","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/e353389d24da48c708f72379f87e9b518baac521"},{"sha":"cb9db2ab0674381b92559e011738f19e2bd0f6f2","author":{"name":"Alvaro Herrera","email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org"},"message":"Fix ALTER TABLE...SET STATS error message for included columns\n\nThe existing error message was complaining that the column is not an\nexpression, which is not correct.  Introduce a suitable wording\nvariation and a test.\n\nCo-authored-by: Yugo Nagata <nagata@sraoss.co.jp>\nDiscussion: https://postgr.es/m/20180628182803.e4632d5a.nagata@sraoss.co.jp\nReviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/cb9db2ab0674381b92559e011738f19e2bd0f6f2"},{"sha":"1c04d4beea8a7f0f5fb667512025aada14c5be67","author":{"name":"Alvaro Herrera","email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org"},"message":"Revise BuildIndexValueDescription to simplify it\n\nGetting a pg_index tuple from syscache when the open index relation is\navailable is pointless -- just use the one from relcache.\n\nNoticed while reviewing code for cb9db2ab0674.\n\nNo backpatch.","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/1c04d4beea8a7f0f5fb667512025aada14c5be67"}]}
{"actor":{"display_login":"postgresql-cfbot"}}