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 1x5LTo-0000v1-2t for pgsql-hackers@arkaria.postgresql.org; Sat, 12 Sep 2026 11:01: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 1x5LSp-0005b6-04 for pgsql-hackers@arkaria.postgresql.org; Sat, 12 Sep 2026 11:00: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 1x5LSo-0005ax-23 for pgsql-hackers@lists.postgresql.org; Sat, 12 Sep 2026 11:00:06 +0000 Received: from mail-wm2-x10.google.com ([2a00:1450:4864:31::10]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1x5LSl-000000000kJ-0Aml for pgsql-hackers@postgresql.org; Sat, 12 Sep 2026 11:00:06 +0000 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49d097b4939so2549725e9.0 for ; Sat, 12 Sep 2026 04:00:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789210803; x=1789815603; darn=postgresql.org; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:content-type:from:to:cc :subject:date:message-id:reply-to:content-type; bh=QDyfvQcve+HksGHs4OK4QmvA8MYxwLLn2qd6tZVKnV8=; b=N2km3WrMYpPJKrTX2tEIOB61ICAaFq3cfaUVKyxBCC7ANVc+/q8IiTix2neVm+VkNk 4HZcEeZoQKZSVMu3GqSCYb9BXr2Y1dZ10ggyk+klK7aDCehOSBEacOe/bZMxKJKd8byT tCU6RZ1QOlole6p3M3o9LfSjhaY1z/MAmKhOv/88BWwPfxYJQmyWWy1bqzXmrG/wqUDX zv0njIs8CoAxVPFGxqB7J/wX+K7+TNEj2wV/Ure+5xft5vMsm9lPSmBpdO8ybYJ29TkO X/xefqOfa5G7FkO2CsdrTLa+8goidSBbDuDhrFjgOzAZzEeh7p7mOwWqmNnQCdTsqY43 WtEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789210803; x=1789815603; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:content-type:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QDyfvQcve+HksGHs4OK4QmvA8MYxwLLn2qd6tZVKnV8=; b=Fj3CEwELClDEbLK2hFMDg2MHhC5cGEkxQvrzlaqvxHYUDwEMxCPwrLoG40X6Xuxtit AR16ynlTUZj6w9vLoAcRuCMfwjhm2b46sBlgOQE7vra2ysr8b3cbqTmbGgSoE/qyyVXI jICdAk18MJ0jO8WRODx6vRDogdBPucWBvqQzfS8RDJs1jds/Dmkm9bFVxxYft1yuVll5 qJCn/24ehOuAz1Xaz9fprbg1sCDxIyQv7eLth4TQGyX2VF0aDnX+R61i6UQkTf8+aDsL fx4QF7qQ0DpPbT4qLWEa8agYAM6wXp4lzSKzO1E203fwYiCTj6izBJ0gPxBAYMYWMS+I D9EQ== X-Forwarded-Encrypted: i=1; AKwUvBzffLzQ/nhJhv5PC/g1+hepTxYhfbpLpJAa/QVpFI6KDLlACJNQyZMI0OnY42S2bmk7fvB7L2v0UwWEl6qT@postgresql.org X-Gm-Message-State: AFuF++ldVMP0RwnRgk3LNTch0nL9mL9ED9u/b30MpOl/jlqHrVfq30sJ QOoRkyOHtOz0RaLr2fovh3nAMrRUgWljjNxdJ30G037rRGplu6/vzXuwe05yPA== X-Gm-Gg: AYBFou3IlZsGfhF8qU9+sRw3mHNqDkIeODOf4JWzHQpjXrXwpLUQpIZjG9jmT6m1La1 DAYcAFZ6PmKJB0n3RzePMTU1TACaDBhUyIv7y1NNVquyDGu30iHzglcEj2FjePIMAP3uKUnWnwR Y4+2cjAkO6NKGwqhzPFdSqjIiMzkKT76e051ms/AB3lLx4YHXvmbXL8JnK4Q71jrZ4S/xN7Jd9X aY5zaNipwPrlX+IxzbjEw0qQHiZn4fs2DXVw3npxXmQY0JRinfOu/D8o+EPWGNwbHuris2OUt8N t6MgG+D+e4WE6HVYBKZ4CEeVM1iBFFlm6EJhA7PVr8SVZRx/GDFbnxN4qXNcTbPhosl/JdLwKY3 XjdyHhaOp8IH09oaww/HQ6jY3xsvmQypKGyAf9O86/BcKj2f3m6XVRvuo5MdJAXY8qPpPTCXy2A 3gIZwergN8+JN+w5QgOqHWv7be0SarmQKv3TudW/fjLEbNkbsIiCi2vhesTTng8beVdJViHU9D X-Received: by 2002:a05:600c:3b02:b0:49d:1f32:c911 with SMTP id 5b1f17b1804b1-49e61982fb0mr92833255e9.3.1789210802507; Sat, 12 Sep 2026 04:00:02 -0700 (PDT) Received: from [192.168.0.50] ([89.149.68.133]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e6221963dsm93395255e9.2.2026.09.12.04.00.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 12 Sep 2026 04:00:01 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Y5XgVzrgjO3SJ7MNFKhwRiK0" Message-ID: <7a9b3652-134c-4565-82ad-839035a3a382@gmail.com> Date: Sat, 12 Sep 2026 14:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Internal error codes triggered by regression tests and user queries, take 2 From: Alexander Lakhin To: Tom Lane Cc: Michael Paquier , Andres Freund , pgsql-hackers , Justin Pryzby References: <94ac928b-8370-4db5-ada5-579a9ebc089d@gmail.com> <697477.1787754418@sss.pgh.pa.us> <73eb724a-c1a3-456c-be12-0375d4556b67@gmail.com> <91a1b0ab-2c6c-4471-b7a4-ee8ee8aed64e@gmail.com> <126103.1788721678@sss.pgh.pa.us> <8343126e-11e5-48df-9f96-ea03a2b7d5ba@gmail.com> Content-Language: en-US In-Reply-To: <8343126e-11e5-48df-9f96-ea03a2b7d5ba@gmail.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Y5XgVzrgjO3SJ7MNFKhwRiK0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello Tom, 07.09.2026 00:00, Alexander Lakhin wrote: > > 06.09.2026 22:07, Tom Lane wrote: > >> @@ -794,8 +794,10 @@ transformColumnDefinition(CreateStmtContext *cxt, ColumnDef *column) >> if (constraint->conname && >> notnull_constraint->conname && >> strcmp(notnull_constraint->conname, constraint->conname) != 0) >> - elog(ERROR, "conflicting not-null constraint names \"%s\" and \"%s\"", >> - notnull_constraint->conname, constraint->conname); >> + ereport(ERROR, >> + errcode(ERRCODE_SYNTAX_ERROR), >> + errmsg("conflicting not-null constraint names \"%s\" and \"%s\"", >> + notnull_constraint->conname, constraint->conname)); >> >> This does not seem like a "syntax error". Perhaps >> ERRCODE_INVALID_OBJECT_DEFINITION would serve? > > Yeah, I considered this, but the same errmsg in > AddRelationNotNullConstraints() uses ERRCODE_SYNTAX_ERROR. I found it > more consistent to emit the same code. Maybe it would make do the opposite > -- change the errcode in AddRelationNotNullConstraints() (there are two > instances there, though)... Moreover, ERRCODE_SYNTAX_ERROR is chosen for > many other similar messages in transformColumnDefinition(), so I'm not > sure if it makes sense to change all of those or just report "syntax error" > for consistency while keeping the patch focused. I've changed that occurrence to ERRCODE_INVALID_OBJECT_DEFINITION, but as I mentioned above, transformColumnDefinition() has many other SYNTAX_ERRORs (originating from a56ff9a0b), besides AddRelationNotNullConstraints(). Please find attached a patch to correct these too, for consistency, if you find this appropriate. There are other similar errors in parse_utilcmd.c, but I'd stop here unless we want to start a new campaign not to define, but correct error codes according to some convention. >> We'd be well advised to make those two messages more consistent, >> whether they're worth translating or not. Also I guess a sweep >> for other "unreachable" errors in typmodout functions might be >> useful Changed three occurrences to use the same errmsg and errcode. Please look at the attached v3-Define-...patch, where I think I addressed all of your comments. Thank you for your time! Best regards, Alexander --------------Y5XgVzrgjO3SJ7MNFKhwRiK0 Content-Type: text/x-patch; charset=UTF-8; name="v3-Define-missing-errcodes.patch" Content-Disposition: attachment; filename="v3-Define-missing-errcodes.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKaW5kZXggYjA4ZTA3NmU2NWYuLmMx YjJlODQxNDZiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJl c3MuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYwpAQCAtNDA2 NCw3ICs0MDY0LDkgQEAgZ2V0T2JqZWN0RGVzY3JpcHRpb24oY29uc3QgT2JqZWN0QWRkcmVz cyAqb2JqZWN0LCBib29sIG1pc3Npbmdfb2spCiAJCQl9CiAKIAkJZGVmYXVsdDoKLQkJCWVs b2coRVJST1IsICJ1bnN1cHBvcnRlZCBvYmplY3QgY2xhc3M6ICV1Iiwgb2JqZWN0LT5jbGFz c0lkKTsKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJ RF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQkgZXJybXNnKCJ1bnN1cHBvcnRlZCBvYmplY3Qg Y2xhc3M6ICV1Iiwgb2JqZWN0LT5jbGFzc0lkKSkpOwogCX0KIAogCS8qIGFuIGVtcHR5IGJ1 ZmZlciBpcyBlcXVpdmFsZW50IHRvIG5vIG9iamVjdCBmb3VuZCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5k cy90YWJsZWNtZHMuYwppbmRleCA4ZGM3MGJmYTBmMS4uNWEyYzlmMDJiZjYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC05NjIxLDYgKzk2MjEsNyBAQCBBVFByZXBBZGRQ cmltYXJ5S2V5KExpc3QgKip3cXVldWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNtZCAq Y21kLAogCQkJCXR1cCA9IGZpbmROb3ROdWxsQ29uc3RyYWludChjaGlsZHJlbGlkLCBzdHJW YWwoY29sdW1uKSk7CiAJCQkJaWYgKCF0dXApCiAJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJ CQkJZXJyY29kZShFUlJDT0RFX0lOVkFMSURfVEFCTEVfREVGSU5JVElPTiksCiAJCQkJCQkJ ZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9mIHRhYmxlIFwiJXNcIiBpcyBub3QgbWFya2VkIE5P VCBOVUxMIiwKIAkJCQkJCQkJICAgc3RyVmFsKGNvbHVtbiksIGdldF9yZWxfbmFtZShjaGls ZHJlbGlkKSkpOwogCQkJCS8qIHZlcmlmeSBpdCdzIGdvb2QgZW5vdWdoICovCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCBmODM4MzExMDkwYi4uZjBjNzc1NWI4ZmIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtODA1LDggKzgwNSwxMCBA QCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENv bHVtbkRlZiAqY29sdW1uKQogCQkJCQlpZiAoY29uc3RyYWludC0+Y29ubmFtZSAmJgogCQkJ CQkJbm90bnVsbF9jb25zdHJhaW50LT5jb25uYW1lICYmCiAJCQkJCQlzdHJjbXAobm90bnVs bF9jb25zdHJhaW50LT5jb25uYW1lLCBjb25zdHJhaW50LT5jb25uYW1lKSAhPSAwKQotCQkJ CQkJZWxvZyhFUlJPUiwgImNvbmZsaWN0aW5nIG5vdC1udWxsIGNvbnN0cmFpbnQgbmFtZXMg XCIlc1wiIGFuZCBcIiVzXCIiLAotCQkJCQkJCSBub3RudWxsX2NvbnN0cmFpbnQtPmNvbm5h bWUsIGNvbnN0cmFpbnQtPmNvbm5hbWUpOworCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJ CQkJZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAorCQkJCQkJ CQllcnJtc2coImNvbmZsaWN0aW5nIG5vdC1udWxsIGNvbnN0cmFpbnQgbmFtZXMgXCIlc1wi IGFuZCBcIiVzXCIiLAorCQkJCQkJCQkJICAgbm90bnVsbF9jb25zdHJhaW50LT5jb25uYW1l LCBjb25zdHJhaW50LT5jb25uYW1lKSk7CiAKIAkJCQkJaWYgKG5vdG51bGxfY29uc3RyYWlu dC0+aXNfbm9faW5oZXJpdCAhPSBjb25zdHJhaW50LT5pc19ub19pbmhlcml0KQogCQkJCQkJ ZXJlcG9ydChFUlJPUiwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3No bWVtLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaG1lbS5jCmluZGV4IGY5NzFlZTI0 MTkyLi5mNzhjMzRkYWVlMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMv c2htZW0uYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaG1lbS5jCkBAIC0xMjEw LDcgKzEyMTAsOSBAQCBwZ19nZXRfc2htZW1fYWxsb2NhdGlvbnNfbnVtYShQR19GVU5DVElP Tl9BUkdTKQogCVNpemUJICAgKm5vZGVzOwogCiAJaWYgKHBnX251bWFfaW5pdCgpID09IC0x KQotCQllbG9nKEVSUk9SLCAibGlibnVtYSBpbml0aWFsaXphdGlvbiBmYWlsZWQgb3IgTlVN QSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0iKTsKKwkJZXJlcG9ydChFUlJP UiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJ IGVycm1zZygibGlibnVtYSBpbml0aWFsaXphdGlvbiBmYWlsZWQgb3IgTlVNQSBpcyBub3Qg c3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0iKSkpOwogCiAJSW5pdE1hdGVyaWFsaXplZFNS RihmY2luZm8sIDApOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvYWNs LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvYWNsLmMKaW5kZXggYTAxZDhmNGJjNDEuLjkx M2Q3MTVhOGM4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvYWNsLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FjbC5jCkBAIC05ODksNyArOTg5LDE2IEBAIGFj bGRlZmF1bHRfc3FsKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQlvYmp0eXBlID0gT0JKRUNUX1RZ UEU7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6 ZWQgb2JqZWN0IHR5cGUgYWJicmV2aWF0aW9uOiAlYyIsIG9ianR5cGVjKTsKKwkJCS8qIEF2 b2lkIHByaW50aW5nIG5vbi1BU0NJSSBieXRlcywgZWxzZSB3ZSBoYXZlIGVuY29kaW5nIGlz c3VlcyAqLworCQkJaWYgKG9ianR5cGVjID49ICcgJyAmJiBvYmp0eXBlYyA8IDB4N2YpCisJ CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJB TUVURVJfVkFMVUUpLAorCQkJCQkJIGVycm1zZygidW5yZWNvZ25pemVkIG9iamVjdCB0eXBl IGFiYnJldmlhdGlvbjogXCIlY1wiIiwgb2JqdHlwZWMpKSk7CisJCQllbHNlCQkJCS8qIHVz ZSBcb29vIGZvcm1hdCwgbGlrZSBjaGFyb3V0KCkgKi8KKwkJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxVRSksCisJCQkJ CQkgZXJybXNnKCJ1bnJlY29nbml6ZWQgb2JqZWN0IHR5cGUgYWJicmV2aWF0aW9uOiBcIlxc JTAzb1wiIiwKKwkJCQkJCQkJKHVuc2lnbmVkIGNoYXIpIG9ianR5cGVjKSkpOwogCX0KIAog CVBHX1JFVFVSTl9BQ0xfUChhY2xkZWZhdWx0KG9ianR5cGUsIG93bmVyKSk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvdGltZXN0YW1wLmMKaW5kZXggOGVmMTZjOWFkNGMuLjQzZWZhNTQ4NDUyIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3RpbWVzdGFtcC5jCkBAIC0xMTg2LDcgKzExODYsOSBAQCBp bnRlcnZhbHR5cG1vZG91dChQR19GVU5DVElPTl9BUkdTKQogCQkJZmllbGRzdHIgPSAiIjsK IAkJCWJyZWFrOwogCQlkZWZhdWx0OgotCQkJZWxvZyhFUlJPUiwgImludmFsaWQgSU5URVJW QUwgdHlwbW9kOiAweCV4IiwgdHlwbW9kKTsKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShl cnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQkgZXJybXNn KCJ1bnJlY29nbml6ZWQgaW50ZXJ2YWwgdHlwbW9kOiAlZCIsIHR5cG1vZCkpKTsKIAkJCWZp ZWxkc3RyID0gIiI7CiAJCQlicmVhazsKIAl9CkBAIC0xMjQ2LDcgKzEyNDgsOSBAQCBpbnRl cnZhbHR5cG1vZGxlYXN0ZmllbGQoaW50MzIgdHlwbW9kKQogCQljYXNlIElOVEVSVkFMX0ZV TExfUkFOR0U6CiAJCQlyZXR1cm4gMDsJCQkvKiBTRUNPTkQgKi8KIAkJZGVmYXVsdDoKLQkJ CWVsb2coRVJST1IsICJpbnZhbGlkIElOVEVSVkFMIHR5cG1vZDogMHgleCIsIHR5cG1vZCk7 CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFS QU1FVEVSX1ZBTFVFKSwKKwkJCQkJIGVycm1zZygidW5yZWNvZ25pemVkIGludGVydmFsIHR5 cG1vZDogJWQiLCB0eXBtb2QpKSk7CiAJCQlicmVhazsKIAl9CiAJcmV0dXJuIDA7CQkJCQkv KiBjYW4ndCBnZXQgaGVyZSwgYnV0IGtlZXAgY29tcGlsZXIgcXVpZXQgKi8KQEAgLTE0ODks NyArMTQ5Myw5IEBAIEFkanVzdEludGVydmFsRm9yVHlwbW9kKEludGVydmFsICppbnRlcnZh bCwgaW50MzIgdHlwbW9kLAogCQkJLyogZnJhY3Rpb25hbC1zZWNvbmQgcm91bmRpbmcgd2ls bCBiZSBkZWFsdCB3aXRoIGJlbG93ICovCiAJCX0KIAkJZWxzZQotCQkJZWxvZyhFUlJPUiwg InVucmVjb2duaXplZCBpbnRlcnZhbCB0eXBtb2Q6ICVkIiwgdHlwbW9kKTsKKwkJCWVyZXBv cnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFM VUUpLAorCQkJCQkgZXJybXNnKCJ1bnJlY29nbml6ZWQgaW50ZXJ2YWwgdHlwbW9kOiAlZCIs IHR5cG1vZCkpKTsKIAogCQkvKiBOZWVkIHRvIGFkanVzdCBzdWItc2Vjb25kIHByZWNpc2lv bj8gKi8KIAkJaWYgKHByZWNpc2lvbiAhPSBJTlRFUlZBTF9GVUxMX1BSRUNJU0lPTikKZGlm ZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9ncmFtLnkgYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfZ3JhbS55CmluZGV4IDVlMTRhMmQ3MzAyLi4zNzc4NWY1OGNjMiAxMDA2NDQK LS0tIGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2dyYW0ueQorKysgYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfZ3JhbS55CkBAIC0zOTMsNyArMzkzLDkgQEAgY29tcF9vcHRpb24JCTogJyMn IEtfT1BUSU9OIEtfRFVNUAogCQkJCQkJZWxzZSBpZiAoc3RyY21wKCQzLCAib2ZmIikgPT0g MCkKIAkJCQkJCQlwbHBnc3FsX2N1cnJfY29tcGlsZS0+cHJpbnRfc3RyaWN0X3BhcmFtcyA9 IGZhbHNlOwogCQkJCQkJZWxzZQotCQkJCQkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQg cHJpbnRfc3RyaWN0X3BhcmFtcyBvcHRpb24gJXMiLCAkMyk7CisJCQkJCQkJZXJlcG9ydChF UlJPUiwKKwkJCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJ CQkJCSBlcnJtc2coInVucmVjb2duaXplZCAlcyBvcHRpb24gXCIlc1wiIiwgInByaW50X3N0 cmljdF9wYXJhbXMiLCAkMykpKTsKIAkJCQkJfQogCQkJCXwgJyMnIEtfVkFSSUFCTEVfQ09O RkxJQ1QgS19FUlJPUgogCQkJCQl7Cg== --------------Y5XgVzrgjO3SJ7MNFKhwRiK0 Content-Type: text/x-patch; charset=UTF-8; name="v3-Correct-errcodes-in-transformColumnDefinition-AddRelationNotNullConstraints.patch" Content-Disposition: attachment; filename*0="v3-Correct-errcodes-in-transformColumnDefinition-AddRelation"; filename*1="NotNullConstraints.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9oZWFwLmMKaW5kZXggMWMxODhiN2EwZmYuLmY3ZmExYjkwMWQxIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRh bG9nL2hlYXAuYwpAQCAtMzAwMSw3ICszMDAxLDcgQEAgQWRkUmVsYXRpb25Ob3ROdWxsQ29u c3RyYWludHMoUmVsYXRpb24gcmVsLCBMaXN0ICpjb25zdHJhaW50cywKIAkJCXsKIAkJCQlp ZiAob3RoZXItPmlzX25vX2luaGVyaXQgIT0gY29uc3RyLT5pc19ub19pbmhlcml0KQogCQkJ CQllcmVwb3J0KEVSUk9SLAotCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1Ip LAorCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwK IAkJCQkJCQllcnJtc2coImNvbmZsaWN0aW5nIE5PIElOSEVSSVQgZGVjbGFyYXRpb24gZm9y IG5vdC1udWxsIGNvbnN0cmFpbnQgb24gY29sdW1uIFwiJXNcIiIsCiAJCQkJCQkJCSAgIHN0 clZhbChsaW5pdGlhbChjb25zdHItPmtleXMpKSkpOwogCkBAIC0zMDE1LDcgKzMwMTUsNyBA QCBBZGRSZWxhdGlvbk5vdE51bGxDb25zdHJhaW50cyhSZWxhdGlvbiByZWwsIExpc3QgKmNv bnN0cmFpbnRzLAogCQkJCQkJY29uc3RyLT5jb25uYW1lID0gcHN0cmR1cChvdGhlci0+Y29u bmFtZSk7CiAJCQkJCWVsc2UgaWYgKHN0cmNtcChjb25zdHItPmNvbm5hbWUsIG90aGVyLT5j b25uYW1lKSAhPSAwKQogCQkJCQkJZXJlcG9ydChFUlJPUiwKLQkJCQkJCQkJZXJyY29kZShF UlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlZBTElE X09CSkVDVF9ERUZJTklUSU9OKSwKIAkJCQkJCQkJZXJybXNnKCJjb25mbGljdGluZyBub3Qt bnVsbCBjb25zdHJhaW50IG5hbWVzIFwiJXNcIiBhbmQgXCIlc1wiIiwKIAkJCQkJCQkJCSAg IGNvbnN0ci0+Y29ubmFtZSwgb3RoZXItPmNvbm5hbWUpKTsKIAkJCQl9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCBmMGM3NzU1YjhmYi4uMDIxMGI1NjhhMWUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtNzQ5LDcgKzc0OSw3IEBAIHRy YW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1u RGVmICpjb2x1bW4pCiAJCQljYXNlIENPTlNUUl9OVUxMOgogCQkJCWlmICgoc2F3X251bGxh YmxlICYmIGNvbHVtbi0+aXNfbm90X251bGwpIHx8IG5lZWRfbm90bnVsbCkKIAkJCQkJZXJl cG9ydChFUlJPUiwKLQkJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJ CQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKIAkJ CQkJCQkgZXJybXNnKCJjb25mbGljdGluZyBOVUxML05PVCBOVUxMIGRlY2xhcmF0aW9ucyBm b3IgY29sdW1uIFwiJXNcIiBvZiB0YWJsZSBcIiVzXCIiLAogCQkJCQkJCQkJY29sdW1uLT5j b2xuYW1lLCBjeHQtPnJlbGF0aW9uLT5yZWxuYW1lKSwKIAkJCQkJCQkgcGFyc2VyX2VycnBv c2l0aW9uKGN4dC0+cHN0YXRlLApAQCAtNzY3LDcgKzc2Nyw3IEBAIHRyYW5zZm9ybUNvbHVt bkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4p CiAJCQkJLyogRGlzYWxsb3cgY29uZmxpY3RpbmcgW05PVF0gTlVMTCBtYXJraW5ncyAqLwog CQkJCWlmIChzYXdfbnVsbGFibGUgJiYgIWNvbHVtbi0+aXNfbm90X251bGwpCiAJCQkJCWVy ZXBvcnQoRVJST1IsCi0JCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAor CQkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCiAJ CQkJCQkJIGVycm1zZygiY29uZmxpY3RpbmcgTlVMTC9OT1QgTlVMTCBkZWNsYXJhdGlvbnMg Zm9yIGNvbHVtbiBcIiVzXCIgb2YgdGFibGUgXCIlc1wiIiwKIAkJCQkJCQkJCWNvbHVtbi0+ Y29sbmFtZSwgY3h0LT5yZWxhdGlvbi0+cmVsbmFtZSksCiAJCQkJCQkJIHBhcnNlcl9lcnJw b3NpdGlvbihjeHQtPnBzdGF0ZSwKQEAgLTc3NSw3ICs3NzUsNyBAQCB0cmFuc2Zvcm1Db2x1 bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1u KQogCiAJCQkJaWYgKGRpc2FsbG93X25vaW5oZXJpdF9ub3RudWxsICYmIGNvbnN0cmFpbnQt PmlzX25vX2luaGVyaXQpCiAJCQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQkJZXJyY29kZShF UlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkJZXJyY29kZShFUlJDT0RFX0lOVkFMSURf T0JKRUNUX0RFRklOSVRJT04pLAogCQkJCQkJCWVycm1zZygiY29uZmxpY3RpbmcgTk8gSU5I RVJJVCBkZWNsYXJhdGlvbnMgZm9yIG5vdC1udWxsIGNvbnN0cmFpbnRzIG9uIGNvbHVtbiBc IiVzXCIiLAogCQkJCQkJCQkgICBjb2x1bW4tPmNvbG5hbWUpKTsKIApAQCAtODEyLDcgKzgx Miw3IEBAIHRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4 dCwgQ29sdW1uRGVmICpjb2x1bW4pCiAKIAkJCQkJaWYgKG5vdG51bGxfY29uc3RyYWludC0+ aXNfbm9faW5oZXJpdCAhPSBjb25zdHJhaW50LT5pc19ub19pbmhlcml0KQogCQkJCQkJZXJl cG9ydChFUlJPUiwKLQkJCQkJCQkJZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJ CQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKIAkJ CQkJCQkJZXJybXNnKCJjb25mbGljdGluZyBOTyBJTkhFUklUIGRlY2xhcmF0aW9ucyBmb3Ig bm90LW51bGwgY29uc3RyYWludHMgb24gY29sdW1uIFwiJXNcIiIsCiAJCQkJCQkJCQkgICBj b2x1bW4tPmNvbG5hbWUpKTsKIApAQCAtODI1LDcgKzgyNSw3IEBAIHRyYW5zZm9ybUNvbHVt bkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4p CiAJCQljYXNlIENPTlNUUl9ERUZBVUxUOgogCQkJCWlmIChzYXdfZGVmYXVsdCkKIAkJCQkJ ZXJlcG9ydChFUlJPUiwKLQkJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiks CisJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwK IAkJCQkJCQkgZXJybXNnKCJtdWx0aXBsZSBkZWZhdWx0IHZhbHVlcyBzcGVjaWZpZWQgZm9y IGNvbHVtbiBcIiVzXCIgb2YgdGFibGUgXCIlc1wiIiwKIAkJCQkJCQkJCWNvbHVtbi0+Y29s bmFtZSwgY3h0LT5yZWxhdGlvbi0+cmVsbmFtZSksCiAJCQkJCQkJIHBhcnNlcl9lcnJwb3Np dGlvbihjeHQtPnBzdGF0ZSwKQEAgLTg1NSw3ICs4NTUsNyBAQCB0cmFuc2Zvcm1Db2x1bW5E ZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1uKQog CiAJCQkJCWlmIChzYXdfaWRlbnRpdHkpCiAJCQkJCQllcmVwb3J0KEVSUk9SLAotCQkJCQkJ CQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCQkJCShlcnJjb2RlKEVS UkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCiAJCQkJCQkJCSBlcnJtc2coIm11 bHRpcGxlIGlkZW50aXR5IHNwZWNpZmljYXRpb25zIGZvciBjb2x1bW4gXCIlc1wiIG9mIHRh YmxlIFwiJXNcIiIsCiAJCQkJCQkJCQkJY29sdW1uLT5jb2xuYW1lLCBjeHQtPnJlbGF0aW9u LT5yZWxuYW1lKSwKIAkJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihjeHQtPnBzdGF0ZSwK QEAgLTg3Nyw3ICs4NzcsNyBAQCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0 bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1uKQogCQkJCQkJbmVlZF9ub3RudWxs ID0gdHJ1ZTsKIAkJCQkJZWxzZSBpZiAoIWNvbHVtbi0+aXNfbm90X251bGwpCiAJCQkJCQll cmVwb3J0KEVSUk9SLAotCQkJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiks CisJCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiks CiAJCQkJCQkJCSBlcnJtc2coImNvbmZsaWN0aW5nIE5VTEwvTk9UIE5VTEwgZGVjbGFyYXRp b25zIGZvciBjb2x1bW4gXCIlc1wiIG9mIHRhYmxlIFwiJXNcIiIsCiAJCQkJCQkJCQkJY29s dW1uLT5jb2xuYW1lLCBjeHQtPnJlbGF0aW9uLT5yZWxuYW1lKSwKIAkJCQkJCQkJIHBhcnNl cl9lcnJwb3NpdGlvbihjeHQtPnBzdGF0ZSwKQEAgLTg5Miw3ICs4OTIsNyBAQCB0cmFuc2Zv cm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAq Y29sdW1uKQogCQkJCQkJCSBlcnJtc2coImdlbmVyYXRlZCBjb2x1bW5zIGFyZSBub3Qgc3Vw cG9ydGVkIG9uIHR5cGVkIHRhYmxlcyIpKSk7CiAJCQkJaWYgKHNhd19nZW5lcmF0ZWQpCiAJ CQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJS T1IpLAorCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElP TiksCiAJCQkJCQkJIGVycm1zZygibXVsdGlwbGUgZ2VuZXJhdGlvbiBjbGF1c2VzIHNwZWNp ZmllZCBmb3IgY29sdW1uIFwiJXNcIiBvZiB0YWJsZSBcIiVzXCIiLAogCQkJCQkJCQkJY29s dW1uLT5jb2xuYW1lLCBjeHQtPnJlbGF0aW9uLT5yZWxuYW1lKSwKIAkJCQkJCQkgcGFyc2Vy X2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLApAQCAtOTEwLDcgKzkxMCw3IEBAIHRyYW5zZm9y bUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpj b2x1bW4pCiAJCQljYXNlIENPTlNUUl9QUklNQVJZOgogCQkJCWlmIChzYXdfbnVsbGFibGUg JiYgIWNvbHVtbi0+aXNfbm90X251bGwpCiAJCQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQkJ KGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJCShlcnJjb2RlKEVSUkNP REVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCiAJCQkJCQkJIGVycm1zZygiY29uZmxp Y3RpbmcgTlVMTC9OT1QgTlVMTCBkZWNsYXJhdGlvbnMgZm9yIGNvbHVtbiBcIiVzXCIgb2Yg dGFibGUgXCIlc1wiIiwKIAkJCQkJCQkJCWNvbHVtbi0+Y29sbmFtZSwgY3h0LT5yZWxhdGlv bi0+cmVsbmFtZSksCiAJCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihjeHQtPnBzdGF0ZSwK QEAgLTk3NSw3ICs5NzUsNyBAQCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0 bXRDb250ZXh0ICpjeHQsIENvbHVtbkRlZiAqY29sdW1uKQogCiAJCWlmIChzYXdfZGVmYXVs dCAmJiBzYXdfaWRlbnRpdHkpCiAJCQllcmVwb3J0KEVSUk9SLAotCQkJCQkoZXJyY29kZShF UlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9P QkpFQ1RfREVGSU5JVElPTiksCiAJCQkJCSBlcnJtc2coImJvdGggZGVmYXVsdCBhbmQgaWRl bnRpdHkgc3BlY2lmaWVkIGZvciBjb2x1bW4gXCIlc1wiIG9mIHRhYmxlIFwiJXNcIiIsCiAJ CQkJCQkJY29sdW1uLT5jb2xuYW1lLCBjeHQtPnJlbGF0aW9uLT5yZWxuYW1lKSwKIAkJCQkJ IHBhcnNlcl9lcnJwb3NpdGlvbihjeHQtPnBzdGF0ZSwKQEAgLTk4Myw3ICs5ODMsNyBAQCB0 cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIENvbHVt bkRlZiAqY29sdW1uKQogCiAJCWlmIChzYXdfZGVmYXVsdCAmJiBzYXdfZ2VuZXJhdGVkKQog CQkJZXJlcG9ydChFUlJPUiwKLQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1Ip LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAog CQkJCQkgZXJybXNnKCJib3RoIGRlZmF1bHQgYW5kIGdlbmVyYXRpb24gZXhwcmVzc2lvbiBz cGVjaWZpZWQgZm9yIGNvbHVtbiBcIiVzXCIgb2YgdGFibGUgXCIlc1wiIiwKIAkJCQkJCQlj b2x1bW4tPmNvbG5hbWUsIGN4dC0+cmVsYXRpb24tPnJlbG5hbWUpLAogCQkJCQkgcGFyc2Vy X2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLApAQCAtOTkxLDcgKzk5MSw3IEBAIHRyYW5zZm9y bUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpj b2x1bW4pCiAKIAkJaWYgKHNhd19pZGVudGl0eSAmJiBzYXdfZ2VuZXJhdGVkKQogCQkJZXJl cG9ydChFUlJPUiwKLQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJ CQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAogCQkJCQkg ZXJybXNnKCJib3RoIGlkZW50aXR5IGFuZCBnZW5lcmF0aW9uIGV4cHJlc3Npb24gc3BlY2lm aWVkIGZvciBjb2x1bW4gXCIlc1wiIG9mIHRhYmxlIFwiJXNcIiIsCiAJCQkJCQkJY29sdW1u LT5jb2xuYW1lLCBjeHQtPnJlbGF0aW9uLT5yZWxuYW1lKSwKIAkJCQkJIHBhcnNlcl9lcnJw b3NpdGlvbihjeHQtPnBzdGF0ZSwK --------------Y5XgVzrgjO3SJ7MNFKhwRiK0--