{"push_id":1343585570,"size":46,"distinct_size":4,"ref":"refs/heads/pltcl_setof_merge","head":"2d1402fc7347f213f0012d5b3cecc71dc151ae79","before":"be8c3304414783365a86b4e22790cf4885890037","commits":[{"sha":"d51924be886c2a05e691fa05b16cb6b30ab8370f","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Convert contrib/hstore_plpython to not use direct linking to other modules.\n\nPreviously, on most platforms, we allowed hstore_plpython's references\nto hstore and plpython to be unresolved symbols at link time, trusting\nthe dynamic linker to resolve them when the module is loaded.  This\nhas a number of problems, the worst being that the dynamic linker\ndoes not know where the references come from and can do nothing but\nfail if those other modules haven't been loaded.  We've more or less\ngotten away with that for the limited use-case of datatype transform\nmodules, but even there, it requires some awkward hacks, most recently\ncommit 83c249200.\n\nInstead, let's not treat these references as linker-resolvable at all,\nbut use function pointers that are manually filled in by the module's\n_PG_init function.  There are few enough contact points that this\ndoesn't seem unmaintainable, at least for these use-cases.  (Note that\nthe same technique wouldn't work at all for decoupling from libpython\nitself, but fortunately that's just a standard shared library and can\nbe linked to normally.)\n\nThis is an initial patch that just converts hstore_plpython.  If the\nbuildfarm doesn't find any fatal problems, I'll work on the other\ntransform modules soon.\n\nTom Lane, per an idea of Andres Freund's.\n\nDiscussion: <2652.1475512158@sss.pgh.pa.us>","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/d51924be886c2a05e691fa05b16cb6b30ab8370f"},{"sha":"61633f79048d040aefeed68dcac0e0b996a06189","author":{"name":"Andres Freund","email":"c6cbfe878b4ee67646e7630734db67f536518d54@anarazel.de"},"message":"Correct logical decoding restore behaviour for subtransactions.\n\nBefore initializing iteration over a subtransaction's changes, the last\nfew changes were not spilled to disk. That's correct if the transaction\ndidn't spill to disk, but otherwise... This bug can lead to missed or\nmisorderd subtransaction contents when they were spilled to disk.\n\nMove spilling of the remaining in-memory changes to\nReorderBufferIterTXNInit(), where it can easily be applied to the top\ntransaction and, if present, subtransactions.\n\nSince this code had too many bugs already, noticeably increase test\ncoverage.\n\nFixes: #14319\nReported-By: Huan Ruan\nDiscussion: <20160909012610.20024.58169@wrigleys.postgresql.org>\nBackport: 9,4-, where logical decoding was added","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/61633f79048d040aefeed68dcac0e0b996a06189"},{"sha":"c86c2d9d57c1e6c5fec860873734cccaf31df5b0","author":{"name":"Heikki Linnakangas","email":"f503d7d54583b01050f859fedbc50f86f41cf34b@iki.fi"},"message":"Update comment.\n\nmergepreread()/mergeprereadone() don't exist anymore, the function that\ndoes roughly the same is now called mergereadnext().","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/c86c2d9d57c1e6c5fec860873734cccaf31df5b0"},{"sha":"490ed1ebb9b26fb342a1e3240107092e9c5aec02","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Fix hstore_plpython for Python 3.\n\nIn commit d51924be8, I overlooked the need to provide linkage for\nPLyUnicode_FromStringAndSize, because that's only used (and indeed\nonly exists) in Python 3 builds.\n\nIn light of the need to #if this item, rearrange the ordering of\nthe code related to each function pointer, so as not to need more\n#if's than absolutely necessary.\n\nPer buildfarm.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/490ed1ebb9b26fb342a1e3240107092e9c5aec02"},{"sha":"6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Extend framework from commit 53be0b1ad to report latch waits.\n\nWaitLatch, WaitLatchOrSocket, and WaitEventSetWait now taken an\nadditional wait_event_info parameter; legal values are defined in\npgstat.h.  This makes it possible to uniquely identify every point in\nthe core code where we are waiting for a latch; extensions can pass\nWAIT_EXTENSION.\n\nBecause latches were the major wait primitive not previously covered\nby this patch, it is now possible to see information in\npg_stat_activity on a large number of important wait events not\npreviously addressed, such as ClientRead, ClientWrite, and SyncRep.\n\nUnfortunately, many of the wait events added by this patch will fail\nto appear in pg_stat_activity because they're only used in background\nprocesses which don't currently appear in pg_stat_activity.  We should\nfix this either by creating a separate view for such information, or\nelse by deciding to include them in pg_stat_activity after all.\n\nMichael Paquier and Robert Haas, reviewed by Alexander Korotkov and\nThomas Munro.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa"},{"sha":"976a1ce91008944121d0b9d2b84c9644c36f7fbb","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Adjust worker_spi for 6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/976a1ce91008944121d0b9d2b84c9644c36f7fbb"},{"sha":"23843dcb60f941786ab57fec804234bfadd5d17f","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Remove trailing commas from enums.\n\nBuildfarm member mylodon doesn't like them.  Actually, I don't like\nthem either, but I failed to notice these before pushing commit\n6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/23843dcb60f941786ab57fec804234bfadd5d17f"},{"sha":"d4fca5e6c7363ba6ee4de7b8d72d68064fa864ca","author":{"name":"Heikki Linnakangas","email":"f503d7d54583b01050f859fedbc50f86f41cf34b@iki.fi"},"message":"Fix another outdated comment.\n\nPreloading is done by logtape.c now.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/d4fca5e6c7363ba6ee4de7b8d72d68064fa864ca"},{"sha":"9445d1121d28d0a8ae32c907320b5d6ff985077b","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Fix Windows compile break in 6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/9445d1121d28d0a8ae32c907320b5d6ff985077b"},{"sha":"6c9c95ed1b89add3a78d115a90e92d765b4c859a","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Fix another Windows compile break.\n\nCommit 6f3bd98ebfc008cbd676da777bb0b2376c4c4bfa is still making\nthe buildfarm unhappy.  This time it's mastodon that is complaining.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/6c9c95ed1b89add3a78d115a90e92d765b4c859a"},{"sha":"46ddbbb1177a7e6ce5a4fe0ef8fa8ac49f36d0bb","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Improve (I hope) our autolocation of the Python shared library.\n\nOlder versions of Python produce garbage (or at least useless) values of\nget_config_vars('LDLIBRARY').  Newer versions produce garbage (or at least\nuseless) values of get_config_vars('SO'), which was defeating our configure\nlogic that attempted to identify where the Python shlib really is.  The net\nresult, at least with a stock Python 3.5 installation on macOS, was that\nwe were linking against a static library in the mistaken belief that it was\na shared library.  This managed to work, if you count statically absorbing\nlibpython into plpython.so as working.  But it no longer works as of commit\nd51924be8, because now we get separate static copies of libpython in\nplpython.so and hstore_plpython.so, and those can't interoperate on the\nsame data.  There are some other infelicities like assuming that nobody\never installs a private version of Python on a macOS machine.\n\nHence, forget about looking in $python_configdir for the Python shlib;\nas far as I can tell no version of Python has ever put one there, and\ncertainly no currently-supported version does.  Also, rather than relying\non get_config_vars('SO'), just try all the possibilities for shlib\nextensions.  Also, rather than trusting Py_ENABLE_SHARED, believe we've\nfound a shlib only if it has a recognized extension.  Last, explicitly\ncope with the possibility that the shlib is really in /usr/lib and\n$python_libdir is a red herring --- this is the actual situation on older\nmacOS, but we were only accidentally working with it.\n\nDiscussion: <5300.1475592228@sss.pgh.pa.us>","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/46ddbbb1177a7e6ce5a4fe0ef8fa8ac49f36d0bb"},{"sha":"fc76259f5b8473dbd3d2009b0e4a267cf3a7e704","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Huh, we do need to look in $python_configdir for the Python shlib.\n\nDebian does it that way, for no doubt what seems to them a good reason.\nThanks to Aidan Van Dyk for confirmation.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/fc76259f5b8473dbd3d2009b0e4a267cf3a7e704"},{"sha":"eda04886c1e048d695728206504ab4198462168e","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Avoid direct cross-module links in hstore_plperl and ltree_plpython, too.\n\nJust turning the crank on the project started in commit d51924be8.\nThese cases turn out to be exact subsets of the boilerplate needed\nfor hstore_plpython.\n\nDiscussion: <2652.1475512158@sss.pgh.pa.us>","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/eda04886c1e048d695728206504ab4198462168e"},{"sha":"d2ce38e204583bc444eebffd800d492cf56e3b38","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Rename WAIT_* constants to PG_WAIT_*.\n\nWindows apparently has a constant named WAIT_TIMEOUT, and some of these\nother names are pretty generic, too.  Insert \"PG_\" at the front of each\nname in order to disambiguate.\n\nMichael Paquier","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/d2ce38e204583bc444eebffd800d492cf56e3b38"},{"sha":"eb3bc0bd1a68e30f09f36937da5aa5338b3b994c","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Re-alphabetize #include directives.\n\nThomas Munro","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/eb3bc0bd1a68e30f09f36937da5aa5338b3b994c"},{"sha":"ddd4f82cb6f65354776541dfac3bedf680e0e303","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"In python shlib probe, cater for OpenBSD, which omits the .so symlink.\n\nMost Unix-oid platforms provide a symlink \"libfoo.so\" -> \"libfoo.so.n.n\"\nto allow the linker to resolve a reference \"-lfoo\" to a version-numbered\nshared library.  OpenBSD has apparently hacked ld(1) to do this internally,\nbecause there are no such symlinks to be found in their library\ndirectories.  Tweak the new code in PGAC_CHECK_PYTHON_EMBED_SETUP to cope.\nPer buildfarm member curculio.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/ddd4f82cb6f65354776541dfac3bedf680e0e303"},{"sha":"61f9e7ba3c4e4bde887f980b9316fb818ede59b6","author":{"name":"Robert Haas","email":"93159bdbbeed5b47be970d58edfbdf1c3ce55e4c@postgresql.org"},"message":"Update obsolete comments and perldoc.\n\nLoose ends from commit 2a0f89cd717ce6d49cdc47850577823682167e87.\n\nDaniel Gustafsson","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/61f9e7ba3c4e4bde887f980b9316fb818ede59b6"},{"sha":"11c0e743b67acc9a0406b6058ed24de5e5527cf0","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Try to fix python shlib probe for MinGW.\n\nPer discussion with Andrew Dunstan, it seems there are three peculiarities\nof the Python installation on MinGW (or at least, of the instance on\nbuildfarm member frogmouth).  First, the library name doesn't contain\n\"2.7\" but just \"27\".  It looks like we can deal with that by consulting\nget_config_vars('VERSION') to see whether a dot should be used or not.\nSecond, the library might be in c:/Windows/System32, analogously to it\npossibly being in /usr/lib on Unix-oid platforms.  Third, it's apparently\nnot standard to use the prefix \"lib\" on the file name.  This patch will\naccept files with or without \"lib\", but the first part of that may well\nbe dead code.","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/11c0e743b67acc9a0406b6058ed24de5e5527cf0"},{"sha":"bfe2e847811a4d0a46c8cdf16195c0e5929b6f83","author":{"name":"Tom Lane","email":"9ca635a44fdf5aa326758d8d245579b9ae84653c@sss.pgh.pa.us"},"message":"Remove -Wl,-undefined,dynamic_lookup in macOS build.\n\nWe don't need this anymore, and it prevents build-time error checking\nthat's usually good to have, so remove it.  Undoes one change of commit\ncac765820.\n\nUnfortunately, it's much harder to get a similar effect on other common\nplatforms, because we don't want the linker to throw errors for symbols\nthat will be resolved in the core backend.  Only macOS and AIX expect the\ncore backend executable to be available while linking loadable modules,\nso only these platforms can usefully throw errors for unresolved symbols\nat link time.\n\nDiscussion: <2652.1475512158@sss.pgh.pa.us>","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/bfe2e847811a4d0a46c8cdf16195c0e5929b6f83"},{"sha":"b56fb691b0033f9b86e0552bd5adfd485f05eef6","author":{"name":"Heikki Linnakangas","email":"f503d7d54583b01050f859fedbc50f86f41cf34b@iki.fi"},"message":"Fix excessive memory consumption in the new sort pre-reading code.\n\nLogicalTapeRewind() should not allocate large read buffer, if the tape\nis completely empty. The calling code relies on that, for its\ncalculation of how much memory to allocate for the read buffers. That\nlead to massive overallocation of memory, if maxTapes was high, but\nonly a few tapes were actually used.\n\nReported by Tomas Vondra\n\nDiscussion: <7303da46-daf7-9c68-3cc1-9f83235cf37e@2ndquadrant.com>","distinct":false,"url":"https://api.github.com/repos/decibel/postgres/commits/b56fb691b0033f9b86e0552bd5adfd485f05eef6"}]}
{"actor":{"display_login":"decibel"}}