{"push_id":2790816208,"size":4,"distinct_size":1,"ref":"refs/heads/commitfest/19/1745","head":"3f77bac93b3884f105cd4be5c24fa960420dd795","before":"b458168cb4c6758ff077fa5b6a9390b76cc9d9c0","commits":[{"sha":"3a60c8ff892a8242b907f44702bfd9f1ff877d45","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Distinguish printf-like functions that support %m from those that don't.\n\nThe elog/ereport family of functions certainly support the %m format spec,\nbecause they implement it \"by hand\".  But elsewhere we have printf wrappers\nthat might or might not allow it depending on whether the platform's printf\ndoes.  (Most non-glibc versions don't, and notably, src/port/snprintf.c\ndoesn't.)  Hence, rather than using the gnu_printf format archetype\ninterchangeably for all these functions, use it only for elog/ereport.\nThis will allow us to get compiler warnings for mistakes like the ones\nfixed in commit a13b47a59, at least on platforms where printf doesn't\ntake %m and gcc is correctly configured to know it.  (Unfortunately,\nthat won't happen on Linux, nor on macOS according to my testing.\nIt remains to be seen what the buildfarm's gcc-on-Windows animals will\nthink of this, but we may well have to rely on less-popular platforms\nto warn us about unportable code of this kind.)\n\nDiscussion: https://postgr.es/m/2975.1526862605@sss.pgh.pa.us","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/3a60c8ff892a8242b907f44702bfd9f1ff877d45"},{"sha":"a2a8acd15217b1e355c083a41da4dc5c7f35b30b","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Produce compiler errors if errno is referenced inside elog/ereport calls.\n\nIt's often unsafe to reference errno within an elog/ereport call, because\nthere are a lot of sub-functions involved and they might not all preserve\nerrno.  (This is why we support the %m format spec: it works off a value\nof errno captured before we execute any potentially-unsafe functions in\nthe arguments.)  Therefore, we have a project policy not to use errno\nthere.\n\nThis patch adds a hack to cause an (admittedly obscure) compiler error\nfor such unsafe usages.  With the current code, the error will only be seen\non Linux, macOS, and FreeBSD, but that should certainly be enough to catch\nmistakes in the buildfarm if they somehow get missed earlier.\n\nIn addition, fix some places in src/common/exec.c that trip the error.\nI think these places are actually all safe, but it's simple enough to\navoid the error by capturing errno manually, and doing so is good\nfuture-proofing in case these call sites get any more complicated.\n\nThomas Munro (exec.c fixes by me)\n\nDiscussion: https://postgr.es/m/2975.1526862605@sss.pgh.pa.us","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/a2a8acd15217b1e355c083a41da4dc5c7f35b30b"},{"sha":"4a2994f055be9405a254b22de6cd2107a0f46563","author":{"name":"Tom Lane","email":"ffeaa947aef224da9ba99b6a18bdd74288df0e3e@sss.pgh.pa.us"},"message":"Fix wrong order of operations in inheritance_planner.\n\nWhen considering a partitioning parent rel, we should stop processing that\nsubroot as soon as we've done adjust_appendrel_attrs and any securityQuals\nupdates.  The rest of this is unnecessary, and indeed adding duplicate\nsubquery RTEs to the subroot is *wrong*.  As the code stood, the children\nof that partition ended up with two sets of copied subquery RTEs, confusing\nmatters greatly.  Even more hilarity ensued if all of the children got\nexcluded by constraint exclusion, so that the extra RTEs didn't make it\nback into the parent rtable.\n\nPer fuzz testing by Andreas Seltenreich.  Back-patch to v11 where this\ngot broken (by commit 0a480502b, it looks like).\n\nDiscussion: https://postgr.es/m/87va8g7vq0.fsf@ansel.ydns.eu","distinct":false,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/4a2994f055be9405a254b22de6cd2107a0f46563"},{"sha":"3f77bac93b3884f105cd4be5c24fa960420dd795","author":{"name":"Commitfest Bot","email":"b9e638e07cc2e2abf56c9c0cad7954f2e3bc1641@cputube.org"},"message":"[CF 19/1745] conflict handling for COPY FROM\n\nThis commit was automatically generated by cfbot at commitfest.cputube.org.\nIt is based on patches submitted to the PostgreSQL mailing lists and\nregistered in the PostgreSQL Commitfest application.\n\nThis branch will be overwritten each time a new patch version is posted to\nthe email thread, and also periodically to check for bitrot caused by changes\non the master branch.\n\nCommitfest entry: https://commitfest.postgresql.org/19/1745\nPatch(es): https://www.postgresql.org/message-id/CALAY4q8PcAcTUVgjvKkNxenoAcydiwUuYhwNwad4kcZQ9Ewdbw@mail.gmail.com\nAuthor(s): Surafel Temesgen","distinct":true,"url":"https://api.github.com/repos/postgresql-cfbot/postgresql/commits/3f77bac93b3884f105cd4be5c24fa960420dd795"}]}
{"actor":{"display_login":"postgresql-cfbot"}}