Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1kR2-000ZTb-2J for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 12:19:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1kR0-004OTX-1y for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Mar 2026 12:19:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1kR0-004OTP-0p for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 12:19:07 +0000 Received: from mail-yx1-xb12f.google.com ([2607:f8b0:4864:20::b12f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1kQx-00000000GOH-2vQ6 for pgsql-hackers@lists.postgresql.org; Sun, 15 Mar 2026 12:19:06 +0000 Received: by mail-yx1-xb12f.google.com with SMTP id 956f58d0204a3-64c9707fc11so2536700d50.2 for ; Sun, 15 Mar 2026 05:19:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773577142; cv=none; d=google.com; s=arc-20240605; b=jUurj5ZfqtxLIuVUPdhwQoXT/SAMakJtMfpT+HWlGCJDVz3vRWwReHs7a1ywfexABj eemWNfa94O72XqMSPiVjuUMcaN0qCoQxpq1DgkJIBZqLMNIKNz72UCVTiBfENMh4U5Mz DcDj7FOoO99GUnUJzUchMnmCOFtCe4KtizZvAd00Y0kdEQ6jXpbZKRV4VB9uEndxOgik yL2BY9L8imCxTmXCJ/7gyTTax/eBXt8giX9drmeKWc5yE6Q12zx8pBWxEVJKXzn4R30l hL18IVejVIgqQNtQkHXXJQOylUDo1F1VpvssJpjgR3y5s9xJta9U4v871hMV8Ba+hwPA YyHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=1cpfLFL4utWBDMb0FrIMjMIY3Ym5I+G8GxHNKp7O/R8=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=L2Gg0/AQjlD2HcFuOSphi9YQIul8rI7riJx/vyKmiprZ8A39IYYaBO+7q/3pyrtqH5 tZfwsQjjbagxH79gsP3F9oXdM2MiQOUAsPu2RrA4/Inc5Hjlogl4HjvUooiDlbSppY50 pRATiSrxVX4PH9BIYm2jdovI53x5rYBjeM0lHKtdTd6DYhv8S0d4kIF8fphPnnjvBhwj ierg86JxNgecAoc4eGR0lTyz36p9wgUGr6yd/jQ9z3QR0w1oCvfT1mG22JIEv385M0bC 1b/pjEzhIRArp2asR5R/ZEZ/+HvLepzmtHp8S+PpfOnILuvYg7yYbuK5KI23p5oehXrG XsGw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=percona.com; s=google; t=1773577142; x=1774181942; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=1cpfLFL4utWBDMb0FrIMjMIY3Ym5I+G8GxHNKp7O/R8=; b=Bi9Ilz8M+ZQZ48ZNazRiJA+e8caP/D72uwl1Hv1P00ZcsfFMU4g2oFMIuJTrE+v0Ie Yswq3ApudIfS/Qirs7hhzv6pJaTingLTTWQSQ1slzvAfoOhbwsYNA5Uur+/beaTn91rH LBAAEJjzxw7/oy5UI+NthtUlBTwBxIIlkWJFo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773577142; x=1774181942; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1cpfLFL4utWBDMb0FrIMjMIY3Ym5I+G8GxHNKp7O/R8=; b=NGAsdP/VHEL0r32YgxwhS64GYzLQQ/8yySR2V/RMhsXktFsVIcfjoK/2swCed8MA1L t3KraWyz8q2LR0VeA3UYlt12sK6Qo8wE96OhAL/6pKtJBKRZOZNFP0RMeUS/Xi6UBPbC tRPYV81Jm/0sLL2SEl6fheG8wg9+qAUhTHIwCpudET9pu1XWKEYNk6MkNCdVKPZKoBbq nrtFmIBXWpxt7hlku2pBOzGwMZoZ0W1vCnEhMSPsLItuRoT+Q+rAg2UULwOtrdUDEFWM T9wsgEZ5YL+OZgwSJR0HXEviALHKgoVSLqK4PyU/lQjGatTvCXKc7Zk2MZN+Z1PvLDeV wqew== X-Gm-Message-State: AOJu0YwKZHttIrFfJYlY9Ch+hvGKRNa1+A3Y/pwSNSf7QjJ2aMTGvGWx fYyS/YTxBrlBjH3qQ7Dl9dpZGsRzUelHxbSYFWm9ox8nQBmp5ZZik8+VFP1eMZ1Ez5b7N1ocWm2 Gd6QlVxbU+vbK1deWDkSJh5LT6Tqb3JBD7En6G5+Ed2YL3nYYkgVUD06QkRk9ZE2+yJPak+/25u UR/l6oobNC8gzXRn/hb7rDNWY/c1KajkIXe96BaamJ7HwjNdMGUEMzJow/E9BLA/pcpKYNnG2eY HDqZP70WEls/BED2uW9DCyjb7VKB0fEr1Aru13egi4jH8EzFPOegMJtF8oCvGVTAAIwZm492K8E +pJ08hs= X-Gm-Gg: ATEYQzwFdywBTyaZzX3OJHnmXoBnLkC/Jnfz//kEGyETpxox2x+iVPW77xSksAWRT6c kCuDcots5lHtRK+UTMjpH61u8i5zjoHim5nr7OfE+NngXxsk1g2KFSDpltksZb/tLJNoCey8IQg 42fhi+5sT8KrFhjNi1b//VWlKqOSGGliPbs0cgjQZ2B4stckDaWU4//36IVF8/c6OQx8L55VoYZ 3IVinHohXgH5W6IcSjdbrzNovML7gdB8dqRPXwOkZ93OanX6Hs0W+1AvjREQpGfd+2zDFSSgcXr 12lxNoXHMhGLXq9JtH9nMLLBbHL01HXsGNXc2+nDWZ8uluBjzIW9bEULRXFyPJgEr0CK X-Received: by 2002:a05:690c:3481:b0:79a:3de3:39fa with SMTP id 00721157ae682-79a3de34589mr27680867b3.26.1773577142184; Sun, 15 Mar 2026 05:19:02 -0700 (PDT) MIME-Version: 1.0 From: Zsolt Parragi Date: Sun, 15 Mar 2026 12:18:53 +0000 X-Gm-Features: AaiRm53l9OtTM0LUu1cppVhnQbCQQn-gUnx_N0qC_QWU5wO7tHRA2PjGoHJGxZw Message-ID: Subject: gen_guc_tables improvements To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000008b50be064d0f1b75" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008b50be064d0f1b75 Content-Type: text/plain; charset="UTF-8" Hello While reviewing a patch, I noticed a typo in guc_params.dat. The code compiled and seemingly worked, and I was very surprised that the generator script didn't catch the mistake. I looked into it, and I found several missing checks in gen_guc_tables. I attached fixes for 4 that I think would definitely improve the script (for now as separate patches, so it is easy to select only some of them): * 0001 fixes the issue that started this, it validates the allowed field names, preventing typos in their names * 0002 goes a step further and validates that fields specific to some types can only appear for those types * 0003 just improves the error reported by duplicate names, previously this was confusing (it referred to incorrect ordering) * 0004 adds basic checks about allowed characters in GUC names I was also thinking about adding validations for the enum/define values (config group, flags, guc context), but that requires a somewhat fragile extraction code, and I decided to leave that out for now. What do you think about these changes? --0000000000008b50be064d0f1b75 Content-Type: application/octet-stream; name="0001-gen_guc_tables-reject-unrecognized-field-names-in-gu.patch" Content-Disposition: attachment; filename="0001-gen_guc_tables-reject-unrecognized-field-names-in-gu.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrptqk90 RnJvbSAyZGVhNjdiZGM0M2I5M2M4ZDg1OTc5Y2M0ZjRhMGVkODM5ZGFkNmU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBTdW4sIDE1IE1hciAyMDI2IDExOjIxOjMzICswMDAwClN1YmplY3Q6IFtQQVRD SCAxLzRdIGdlbl9ndWNfdGFibGVzOiByZWplY3QgdW5yZWNvZ25pemVkIGZpZWxkIG5hbWVzIGlu CiBndWNfcGFyYW1ldGVycy5kYXQKClByZXZpb3VzbHksIGEgdHlwbyBpbiBhIGZpZWxkIG5hbWUg KGUuZy4gImNvbnRleCIgaW5zdGVhZCBvZiAiY29udGV4dCIpCndvdWxkIGJlIHNpbGVudGx5IGln bm9yZWQsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gc3VidGxlIGJ1Z3Mgb3IgbWlzc2luZwpjb25m aWd1cmF0aW9uLiAgQWRkIGEgd2hpdGVsaXN0IG9mIGFsbCByZWNvZ25pemVkIGZpZWxkcyBhbmQg cmVwb3J0IGFuCmVycm9yIGlmIGFueSBlbnRyeSBjb250YWlucyBhbiB1bmtub3duIGtleS4KLS0t CiBzcmMvYmFja2VuZC91dGlscy9taXNjL2dlbl9ndWNfdGFibGVzLnBsIHwgMTkgKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9taXNjL2dlbl9ndWNfdGFibGVzLnBsIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbAppbmRleCBhMjg1YzYyZjk4ZC4uYmEyZTZmMDAx ZjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ2VuX2d1Y190YWJsZXMucGwK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbApAQCAtNTMsNiAr NTMsMjUgQEAgc3ViIHZhbGlkYXRlX2d1Y19lbnRyeQogCQlzdHJpbmcgPT4gW10sICAgICMgbm8g ZXh0cmEgcmVxdWlyZWQgZmllbGRzCiAJKTsKIAorCSMgQWxsIGZpZWxkcyByZWNvZ25pemVkIGJ5 IHRoZSBnZW5lcmF0b3IuICAibGluZV9udW1iZXIiIGlzIGluamVjdGVkCisJIyBieSBDYXRhbG9n OjpQYXJzZURhdGEgYW5kIGlzIG5vdCBhIHVzZXItZmFjaW5nIGZpZWxkLgorCW15ICV2YWxpZF9m aWVsZHMgPSBtYXAgeyAkXyA9PiAxIH0gKAorCQlAcmVxdWlyZWRfY29tbW9uLAorCQlxdyhsb25n X2Rlc2MgZmxhZ3MgaWZkZWYgbWluIG1heCBvcHRpb25zCisJCSAgY2hlY2tfaG9vayBhc3NpZ25f aG9vayBzaG93X2hvb2sKKwkJICBsaW5lX251bWJlcikpOworCisJZm9yIG15ICRmIChzb3J0IGtl eXMgJSRlbnRyeSkKKwl7CisJCXVubGVzcyAoJHZhbGlkX2ZpZWxkc3skZn0pCisJCXsKKwkJCWRp ZSBzcHJpbnRmKAorCQkJCXFxeyVzOiVkOiBlcnJvcjogZW50cnkgIiVzIiBoYXMgdW5yZWNvZ25p emVkIGZpZWxkICIlcyJcbn0sCisJCQkJJGlucHV0X2ZuYW1lLCAkZW50cnktPntsaW5lX251bWJl cn0sCisJCQkJJGVudHJ5LT57bmFtZX0gLy8gJzx1bmtub3duPicsICRmKTsKKwkJfQorCX0KKwog CWZvciBteSAkZiAoQHJlcXVpcmVkX2NvbW1vbikKIAl7CiAJCXVubGVzcyAoZGVmaW5lZCAkZW50 cnktPnskZn0pCi0tIAoyLjQzLjAKCg== --0000000000008b50be064d0f1b75 Content-Type: application/octet-stream; name="0002-gen_guc_tables-reject-type-inappropriate-fields-in-g.patch" Content-Disposition: attachment; filename="0002-gen_guc_tables-reject-type-inappropriate-fields-in-g.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrptqko1 RnJvbSAzMzYzNDEwN2Q3Mjg2NmNiODU1NDRmMjc0YTIxN2FkNTkyZjYxZmUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBTdW4sIDE1IE1hciAyMDI2IDExOjIyOjAwICswMDAwClN1YmplY3Q6IFtQQVRD SCAyLzRdIGdlbl9ndWNfdGFibGVzOiByZWplY3QgdHlwZS1pbmFwcHJvcHJpYXRlIGZpZWxkcyBp bgogZ3VjX3BhcmFtZXRlcnMuZGF0CgpEZXRlY3Qgd2hlbiBhIEdVQyBlbnRyeSBoYXMgZmllbGRz IHRoYXQgZG9uJ3QgYXBwbHkgdG8gaXRzIHR5cGUsIHN1Y2gKYXMgIm1pbiIgb3IgIm1heCIgb24g YSBib29sIG9yIHN0cmluZywgb3IgIm9wdGlvbnMiIG9uIGFuIGludC4gIFRoZXNlCndvdWxkIGJl IHNpbGVudGx5IGlnbm9yZWQsIGxpa2VseSBpbmRpY2F0aW5nIGEgY29weS1wYXN0ZSBtaXN0YWtl LgoKVGhlIGV4aXN0aW5nIHJlcXVpcmVkX2J5X3R5cGUgc3RydWN0dXJlIGlzIHJlcGxhY2VkIHdp dGggYSBzaW5nbGUKdHlwZV9zcGVjaWZpY19maWVsZHMgaGFzaCB0aGF0IGRyaXZlcyBib3RoIHRo ZSByZXF1aXJlZC1maWVsZCBhbmQKaW5hcHByb3ByaWF0ZS1maWVsZCBjaGVja3MuCi0tLQogc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbCB8IDMyICsrKysrKysrKysrKysr KysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5w bCBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ2VuX2d1Y190YWJsZXMucGwKaW5kZXggYmEyZTZm MDAxZjEuLmIxYzFiN2FmYzZjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2dl bl9ndWNfdGFibGVzLnBsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ2VuX2d1Y190YWJs ZXMucGwKQEAgLTQ1LDEyICs0NSwxMiBAQCBzdWIgdmFsaWRhdGVfZ3VjX2VudHJ5CiAJbXkgQHJl cXVpcmVkX2NvbW1vbiA9CiAJICBxdyhuYW1lIHR5cGUgY29udGV4dCBncm91cCBzaG9ydF9kZXNj IHZhcmlhYmxlIGJvb3RfdmFsKTsKIAotCW15ICVyZXF1aXJlZF9ieV90eXBlID0gKAotCQlpbnQg PT4gW3F3KG1pbiBtYXgpXSwKLQkJcmVhbCA9PiBbcXcobWluIG1heCldLAotCQllbnVtID0+IFtx dyhvcHRpb25zKV0sCi0JCWJvb2wgPT4gW10sICAgICAgIyBubyBleHRyYSByZXF1aXJlZCBmaWVs ZHMKLQkJc3RyaW5nID0+IFtdLCAgICAjIG5vIGV4dHJhIHJlcXVpcmVkIGZpZWxkcworCW15ICV0 eXBlX3NwZWNpZmljX2ZpZWxkcyA9ICgKKwkJaW50ID0+IHsgbWFwIHsgJF8gPT4gMSB9IHF3KG1p biBtYXgpIH0sCisJCXJlYWwgPT4geyBtYXAgeyAkXyA9PiAxIH0gcXcobWluIG1heCkgfSwKKwkJ ZW51bSA9PiB7IG1hcCB7ICRfID0+IDEgfSBxdyhvcHRpb25zKSB9LAorCQlib29sID0+IHt9LAor CQlzdHJpbmcgPT4ge30sCiAJKTsKIAogCSMgQWxsIGZpZWxkcyByZWNvZ25pemVkIGJ5IHRoZSBn ZW5lcmF0b3IuICAibGluZV9udW1iZXIiIGlzIGluamVjdGVkCkBAIC04Myw3ICs4Myw3IEBAIHN1 YiB2YWxpZGF0ZV9ndWNfZW50cnkKIAkJfQogCX0KIAotCXVubGVzcyAoZXhpc3RzICRyZXF1aXJl ZF9ieV90eXBleyAkZW50cnktPnt0eXBlfSB9KQorCXVubGVzcyAoZXhpc3RzICR0eXBlX3NwZWNp ZmljX2ZpZWxkc3sgJGVudHJ5LT57dHlwZX0gfSkKIAl7CiAJCWRpZSBzcHJpbnRmKAogCQkJcXF7 JXM6JWQ6IGVycm9yOiBlbnRyeSAiJXMiIGhhcyB1bnJlY29nbml6ZWQgR1VDIHR5cGUgIiVzIlxu fSwKQEAgLTkxLDcgKzkxLDkgQEAgc3ViIHZhbGlkYXRlX2d1Y19lbnRyeQogCQkJJGVudHJ5LT57 bmFtZX0sICRlbnRyeS0+e3R5cGV9IC8vICc8dW5rbm93bj4nKTsKIAl9CiAKLQlmb3IgbXkgJGYg KEB7ICRyZXF1aXJlZF9ieV90eXBleyAkZW50cnktPnt0eXBlfSB9IH0pCisJbXkgJGZpZWxkc19m b3JfdHlwZSA9ICR0eXBlX3NwZWNpZmljX2ZpZWxkc3sgJGVudHJ5LT57dHlwZX0gfTsKKworCWZv ciBteSAkZiAoc29ydCBrZXlzICUkZmllbGRzX2Zvcl90eXBlKQogCXsKIAkJdW5sZXNzIChkZWZp bmVkICRlbnRyeS0+eyRmfSkKIAkJewpAQCAtMTAxLDYgKzEwMywyMCBAQCBzdWIgdmFsaWRhdGVf Z3VjX2VudHJ5CiAJCQkJJGVudHJ5LT57dHlwZX0sICRmKTsKIAkJfQogCX0KKworCW15ICVhbGxf dHlwZV9zcGVjaWZpYzsKKwkkYWxsX3R5cGVfc3BlY2lmaWN7JF99ID0gMQorCSAgZm9yIG1hcCB7 IGtleXMgJSRfIH0gdmFsdWVzICV0eXBlX3NwZWNpZmljX2ZpZWxkczsKKwlmb3IgbXkgJGYgKHNv cnQga2V5cyAlJGVudHJ5KQorCXsKKwkJaWYgKCRhbGxfdHlwZV9zcGVjaWZpY3skZn0gJiYgISRm aWVsZHNfZm9yX3R5cGUtPnskZn0pCisJCXsKKwkJCWRpZSBzcHJpbnRmKAorCQkJCXFxeyVzOiVk OiBlcnJvcjogZW50cnkgIiVzIiBvZiB0eXBlICIlcyIgbXVzdCBub3QgaGF2ZSBmaWVsZCAiJXMi XG59LAorCQkJCSRpbnB1dF9mbmFtZSwgJGVudHJ5LT57bGluZV9udW1iZXJ9LCAkZW50cnktPntu YW1lfSwKKwkJCQkkZW50cnktPnt0eXBlfSwgJGYpOworCQl9CisJfQogfQogCiAjIFByaW50IEdV QyB0YWJsZS4KLS0gCjIuNDMuMAoK --0000000000008b50be064d0f1b75 Content-Type: application/octet-stream; name="0003-gen_guc_tables-report-duplicate-entry-names-distinct.patch" Content-Disposition: attachment; filename="0003-gen_guc_tables-report-duplicate-entry-names-distinct.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrptql82 RnJvbSAxNjNjMTk2ZjQwNDNiOTdhMjdmZjc5YjdkNzdjYzk5NTRmMzVhNjNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBTdW4sIDE1IE1hciAyMDI2IDExOjIyOjE1ICswMDAwClN1YmplY3Q6IFtQQVRD SCAzLzRdIGdlbl9ndWNfdGFibGVzOiByZXBvcnQgZHVwbGljYXRlIGVudHJ5IG5hbWVzIGRpc3Rp bmN0bHkKClRoZSBleGlzdGluZyBhbHBoYWJldGljYWwtb3JkZXIgY2hlY2sgY2F0Y2hlcyBkdXBs aWNhdGVzLCBidXQgcmVwb3J0cwp0aGVtIGFzICJub3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIiB3 aGljaCBpcyBjb25mdXNpbmcuICBTcGxpdCB0aGUKY2hlY2sgdG8gZ2l2ZSBhIGNsZWFyICJkdXBs aWNhdGUgZW50cnkiIG1lc3NhZ2UsIGFuZCBhbHNvIGluY2x1ZGUgdGhlCmZpbGUgbmFtZSBhbmQg bGluZSBudW1iZXIgaW4gdGhlIG9yZGVyaW5nIGVycm9yLgotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L21pc2MvZ2VuX2d1Y190YWJsZXMucGwgfCAxMSArKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQs IDkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9taXNjL2dlbl9ndWNfdGFibGVzLnBsIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n ZW5fZ3VjX3RhYmxlcy5wbAppbmRleCBiMWMxYjdhZmM2Yy4uOWI2ZTNlZDY2MjIgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ2VuX2d1Y190YWJsZXMucGwKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbApAQCAtMTMzLDEwICsxMzMsMTcgQEAg c3ViIHByaW50X3RhYmxlCiAJewogCQl2YWxpZGF0ZV9ndWNfZW50cnkoJGVudHJ5KTsKIAotCQlp ZiAoZGVmaW5lZCgkcHJldl9uYW1lKSAmJiBsYygkcHJldl9uYW1lKSBnZSBsYygkZW50cnktPntu YW1lfSkpCisJCWlmIChkZWZpbmVkKCRwcmV2X25hbWUpICYmIGxjKCRwcmV2X25hbWUpIGVxIGxj KCRlbnRyeS0+e25hbWV9KSkKIAkJewogCQkJZGllIHNwcmludGYoCi0JCQkJImVudHJpZXMgYXJl IG5vdCBpbiBhbHBoYWJldGljYWwgb3JkZXI6IFwiJXNcIiwgXCIlc1wiXG4iLAorCQkJCXFxeyVz OiVkOiBlcnJvcjogZHVwbGljYXRlIGVudHJ5ICIlcyJcbn0sCisJCQkJJGlucHV0X2ZuYW1lLCAk ZW50cnktPntsaW5lX251bWJlcn0sICRlbnRyeS0+e25hbWV9KTsKKwkJfQorCQlpZiAoZGVmaW5l ZCgkcHJldl9uYW1lKSAmJiBsYygkcHJldl9uYW1lKSBndCBsYygkZW50cnktPntuYW1lfSkpCisJ CXsKKwkJCWRpZSBzcHJpbnRmKAorCQkJCXFxeyVzOiVkOiBlcnJvcjogZW50cmllcyBhcmUgbm90 IGluIGFscGhhYmV0aWNhbCBvcmRlcjogIiVzIiwgIiVzIlxufSwKKwkJCQkkaW5wdXRfZm5hbWUs ICRlbnRyeS0+e2xpbmVfbnVtYmVyfSwKIAkJCQkkcHJldl9uYW1lLCAkZW50cnktPntuYW1lfSk7 CiAJCX0KIAotLSAKMi40My4wCgo= --0000000000008b50be064d0f1b75 Content-Type: application/octet-stream; name="0004-gen_guc_tables-validate-GUC-name-format.patch" Content-Disposition: attachment; filename="0004-gen_guc_tables-validate-GUC-name-format.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmrptqlm3 RnJvbSA5ZjkyMzIxY2UwOTMwOWRlMWIyNWIwNDU2NzE5NTA0NTIzNWQ1MTM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBTdW4sIDE1IE1hciAyMDI2IDExOjIyOjM0ICswMDAwClN1YmplY3Q6IFtQQVRD SCA0LzRdIGdlbl9ndWNfdGFibGVzOiB2YWxpZGF0ZSBHVUMgbmFtZSBmb3JtYXQKClZlcmlmeSB0 aGF0IGVhY2ggZW50cnkncyBuYW1lIGNvbnNpc3RzIG9mIGxldHRlcnMsIGRpZ2l0cywgYW5kCnVu ZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGEgbGV0dGVyLiAgVGhpcyBjYXRjaGVzIGFjY2lkZW50 YWwgc3BhY2VzCm9yIHNwZWNpYWwgY2hhcmFjdGVycyB0aGF0IHdvdWxkIHByb2R1Y2UgaW52YWxp ZCBDIGNvZGUuCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbCB8 IDcgKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ2VuX2d1Y190YWJsZXMucGwgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL2dlbl9ndWNfdGFibGVzLnBsCmluZGV4IDliNmUzZWQ2NjIyLi4yZThhMzM5MTA0 NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9nZW5fZ3VjX3RhYmxlcy5wbAor KysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2dlbl9ndWNfdGFibGVzLnBsCkBAIC04Myw2ICs4 MywxMyBAQCBzdWIgdmFsaWRhdGVfZ3VjX2VudHJ5CiAJCX0KIAl9CiAKKwl1bmxlc3MgKCRlbnRy eS0+e25hbWV9ID1+IC9eW2EtekEtWl1bYS16QS1aMC05X10qJC8pCisJeworCQlkaWUgc3ByaW50 ZigKKwkJCXFxeyVzOiVkOiBlcnJvcjogZW50cnkgbmFtZSAiJXMiIGlzIG5vdCBhIHZhbGlkIEdV QyBuYW1lIChtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBk aWdpdHMsIGFuZCB1bmRlcnNjb3Jlcylcbn0sCisJCQkkaW5wdXRfZm5hbWUsICRlbnRyeS0+e2xp bmVfbnVtYmVyfSwgJGVudHJ5LT57bmFtZX0pOworCX0KKwogCXVubGVzcyAoZXhpc3RzICR0eXBl X3NwZWNpZmljX2ZpZWxkc3sgJGVudHJ5LT57dHlwZX0gfSkKIAl7CiAJCWRpZSBzcHJpbnRmKAot LSAKMi40My4wCgo= --0000000000008b50be064d0f1b75--