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.98.2) (envelope-from ) id 1xI294-00000003REA-3TzG for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Oct 2026 11:00:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1xI292-000000002fp-1bW3 for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Oct 2026 11:00:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xI291-000000002fh-3zp0 for pgsql-hackers@lists.postgresql.org; Sat, 17 Oct 2026 11:00:08 +0000 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1xI28z-00000002UP3-2OWL for pgsql-hackers@postgresql.org; Sat, 17 Oct 2026 11:00:06 +0000 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-48e00eee27dso320175f8f.0 for ; Sat, 17 Oct 2026 04:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792234803; x=1792839603; darn=postgresql.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:content-type:from:to:cc :subject:date:message-id:reply-to:content-type; bh=Uu6U8wpZlMmLHrDZgH8ApKQULXQewRuVpaGWBRrvXwg=; b=ZFI9yucXXle1bg9DfpM9m3GOWt4QR8lYzRp/CvssSPX828ogjxNW4jJygT8jgWubm6 WLmTNq7Wl4AiRoBRD+YQJUpTBCrrRaoOD7pst4TD2uPCP5jKfkBdw2HOCWhbNkIyxPBh o60wkXBq4f5zCDnVEwYBRIuqTRM9v/ErpMpMdLW4U4yPh1fZ72k/ZP/OdpiwYhBY757m h86ThJjF7CUIg+miNrm4Ckflbfyl5SWJS7y3VFqZuAqLkwZFWzPw7nuwyI5nwYu//wku +ptEyv0MBE0aaUG2pyFNOa4f279LlLNO2t1KeP8tdVf5S0bzIkblU8tNazBKQB+jWdzc JwEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792234803; x=1792839603; h=in-reply-to:from:content-language:references:cc:to: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=Uu6U8wpZlMmLHrDZgH8ApKQULXQewRuVpaGWBRrvXwg=; b=Y6flptRPMETptrIPxreFAPwdESU60UsTULeGZcuZ7KlPJrSC7uA+5R8TwmVmIyiOGs b1ecXKjBmV5ou4Lx2VB2o1m+irSB8rRnANK/EOc+btjnOgMlz1ezl/x01FwPAVFb8haY ltInduIQ6zvSHAGdx5NH/Tt/ppHe40BsmBYlqMJ5tWmhs17QeIuRyXwxK+nleXsLvA7J numxv0P04K2vAw3Po1dnjIUxFAeh853N7GC0yoG0aLDCztwP2lUtN82gAsXhhU+xLyGB ACl3G0kmB7Atx9jo/m7DfwyNuXknBIRpGO1gQvqX3sLNfFg0zbuH9q3QQbSVY4TXHZAC OBmA== X-Forwarded-Encrypted: i=1; AKwUvBxsQtnSGBX1ZmqkK39WG8hJoAGUm8y8kuioPyNoU6CRj3gMPSNvew4sW7WOpwmHyW/XxbFUI63bJ0V8KOtA@postgresql.org X-Gm-Message-State: AFq9FYLqWWnin+ON62BZdkhrBMu3z5wKaG2/6kMhrHUk/qH15XMkcnin o8CFMulmI4lo75Zg/abdXjssiX47XqjsG2ZzXN9u2XeIzZVZbNCA06SuNXKb6Q== X-Gm-Gg: AYBFou3+3EereNwonKjfzDUNQJz62kl78IuQmS0AcIdLNxM4YstDXBg7e1dTxdlkl6W ScQ/ZXtPnaY1R/JOO0Q0R72tbn8RtLWpcejPY9ZM+l+AUvC5eQK2nlI2lYSft7/lFVpazW4dpXV xjzKDDL57RRP7ckouGrWDFuTrHJMn9tMzWfsJQbN5icEhic60mzAx8lIIJwwcYJ/O96es/Ytg5Y RD1t49OdkTWNDPHw6dUEdEidr96L33HjCOBLfb7b47MMz5Q1scGBij7TD0RMEgqaCvyJkBzUflG 607aJLzFsx31DhyXW+KHPFYInviIK6TPZ52uzX7S8jWz2n2Hfj1zBVSVZRrlbD8zITeeVnD/QZw 5JcYX1T66jQG3DrL/yY5RBPBfoBXthUezWbtLm0+X7gtGb+zkKWb+q4or4Dgf0M1twSiqTH80qs 14y/Zd9RvRYwMt0l3IXT19U8QkdqntiB5/p6WCEdjYd+/kSPUh+e1Ra9FzBWwL+amOtj1up0gB X-Received: by 2002:a05:600c:4f42:b0:4a1:ddca:8b66 with SMTP id 5b1f17b1804b1-4a1ddca9066mr22297225e9.31.1792234802849; Sat, 17 Oct 2026 04:00:02 -0700 (PDT) Received: from [192.168.0.50] ([89.149.105.24]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4a1df370381sm9623735e9.1.2026.10.17.04.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 17 Oct 2026 04:00:01 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------V8Y90pLRhbHO0WzS6SKWx8jD" Message-ID: Date: Sat, 17 Oct 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 To: Michael Paquier , Tom Lane Cc: 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> <7a9b3652-134c-4565-82ad-839035a3a382@gmail.com> Content-Language: en-US From: Alexander Lakhin In-Reply-To: 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. --------------V8Y90pLRhbHO0WzS6SKWx8jD Content-Type: multipart/alternative; boundary="------------ATxfcR0J1VOx64B6HaOSG1rT" --------------ATxfcR0J1VOx64B6HaOSG1rT Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello Michael and Tom, 22.09.2026 13:49, Michael Paquier wrote: > As a whole, that looks OK, so applied on HEAD. I did not look at > 0002. Let me share the following set of other internal errors: 1) CREATE TABLE t AS SELECT ''::text a; CREATE INDEX brinidx ON t USING brin   (a text_bloom_ops(n_distinct_per_range = -1.0)); ERROR:  XX000: the bloom filter is too large (44629 > 8144) LOCATION:  bloom_init, brin_bloom.c: -> ERRCODE_PROGRAM_LIMIT_EXCEEDED 2) SELECT pg_identify_object_as_address('1'::regclass, 1, 1); ERROR:  XX000: unsupported object class: 1 LOCATION:  getObjectTypeDescription, objectaddress.c:4731 -> ERRCODE_INVALID_PARAMETER_VALUE 3) SELECT pg_get_acl('1'::regclass, 1, 0); ERROR:  XX000: unrecognized class ID: 1 LOCATION:  get_object_property_data, objectaddress.c:2821 -> ERRCODE_INVALID_PARAMETER_VALUE 4) SELECT jsonb_to_tsvector('{}', '[{}]'::jsonb); ERROR:  XX000: unexpected end of flag array LOCATION:  parse_jsonb_index_flags, jsonfuncs.c:5614 -> ERRCODE_INVALID_PARAMETER_VALUE 5) CREATE PROCEDURE p(INOUT a integer) LANGUAGE sql   AS 'SELECT 1 WHERE false;'; CALL p(1); ERROR:  XX000: procedure returned null record LOCATION:  ExecuteCallStmt, functioncmds.c:2351 -> ERRCODE_INVALID_OBJECT_DEFINITION 6) CREATE EXTENSION dblink; CREATE FUNCTION connection_parameters() RETURNS text LANGUAGE SQL AS   $f$ SELECT $$dbname='$$||current_database()||$$' port=$$||current_setting('port'); $f$; SELECT dblink_connect('myconn',connection_parameters()); SELECT * FROM dblink_send_query('myconn', 'SELECT 1'); SELECT * FROM dblink('myconn', 'SELECT 2') AS t(i int); ERROR:  XX000: could not send query: another command is already in progress LOCATION:  storeQueryResult, dblink.c:1103 -> ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE Please look at the attached patch which defines these error codes. Best regards, Alexander --------------ATxfcR0J1VOx64B6HaOSG1rT Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hello Michael and Tom,

22.09.2026 13:49, Michael Paquier wrote:
As a whole, that looks OK, so applied on HEAD.  I did not look at
0002.

Let me share the following set of other internal errors:
1)
CREATE TABLE t AS SELECT ''::text a;
CREATE INDEX brinidx ON t USING brin
  (a text_bloom_ops(n_distinct_per_range = -1.0));

ERROR:  XX000: the bloom filter is too large (44629 > 8144)
LOCATION:  bloom_init, brin_bloom.c:
-> ERRCODE_PROGRAM_LIMIT_EXCEEDED

2)
SELECT pg_identify_object_as_address('1'::regclass, 1, 1);

ERROR:  XX000: unsupported object class: 1
LOCATION:  getObjectTypeDescription, objectaddress.c:4731
-> ERRCODE_INVALID_PARAMETER_VALUE

3)
SELECT pg_get_acl('1'::regclass, 1, 0);

ERROR:  XX000: unrecognized class ID: 1
LOCATION:  get_object_property_data, objectaddress.c:2821
-> ERRCODE_INVALID_PARAMETER_VALUE

4)
SELECT jsonb_to_tsvector('{}', '[{}]'::jsonb);

ERROR:  XX000: unexpected end of flag array
LOCATION:  parse_jsonb_index_flags, jsonfuncs.c:5614
-> ERRCODE_INVALID_PARAMETER_VALUE

5)
CREATE PROCEDURE p(INOUT a integer) LANGUAGE sql
  AS 'SELECT 1 WHERE false;';
CALL p(1);

ERROR:  XX000: procedure returned null record
LOCATION:  ExecuteCallStmt, functioncmds.c:2351
-> ERRCODE_INVALID_OBJECT_DEFINITION

6)
CREATE EXTENSION dblink;
CREATE FUNCTION connection_parameters() RETURNS text LANGUAGE SQL AS
  $f$ SELECT $$dbname='$$||current_database()||$$' port=$$||current_setting('port'); $f$;
SELECT dblink_connect('myconn',connection_parameters());
SELECT * FROM dblink_send_query('myconn', 'SELECT 1');
SELECT * FROM dblink('myconn', 'SELECT 2') AS t(i int);

ERROR:  XX000: could not send query: another command is already in progress
LOCATION:  storeQueryResult, dblink.c:1103
-> ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE

Please look at the attached patch which defines these error codes.

Best regards,
Alexander
--------------ATxfcR0J1VOx64B6HaOSG1rT-- --------------V8Y90pLRhbHO0WzS6SKWx8jD Content-Type: text/x-patch; charset=UTF-8; name="Define-missing-errcodes-2.patch" Content-Disposition: attachment; filename="Define-missing-errcodes-2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvZGJsaW5rL2RibGluay5jIGIvY29udHJpYi9kYmxpbmsv ZGJsaW5rLmMKaW5kZXggOTYxM2Y4ODE5ODUuLjI5YzE5ZTAwMTdmIDEwMDY0NAotLS0gYS9j b250cmliL2RibGluay9kYmxpbmsuYworKysgYi9jb250cmliL2RibGluay9kYmxpbmsuYwpA QCAtMTEwNSw3ICsxMTA1LDkgQEAgc3RvcmVRdWVyeVJlc3VsdChzdG9yZUluZm8gKnNpbmZv LCBQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKnNxbCkKIAlQR3Jlc3VsdCAgICpyZXM7CiAK IAlpZiAoIVBRc2VuZFF1ZXJ5KGNvbm4sIHNxbCkpCi0JCWVsb2coRVJST1IsICJjb3VsZCBu b3Qgc2VuZCBxdWVyeTogJXMiLCBwY2hvbXAoUFFlcnJvck1lc3NhZ2UoY29ubikpKTsKKwkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX09CSkVDVF9OT1RfSU5fUFJF UkVRVUlTSVRFX1NUQVRFKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3Qgc2VuZCBxdWVyeTog JXMiLCBwY2hvbXAoUFFlcnJvck1lc3NhZ2UoY29ubikpKSkpOwogCiAJaWYgKCFQUXNldFNp bmdsZVJvd01vZGUoY29ubikpCS8qIHNob3VsZG4ndCBmYWlsICovCiAJCWVsb2coRVJST1Is ICJmYWlsZWQgdG8gc2V0IHNpbmdsZS1yb3cgbW9kZSBmb3IgZGJsaW5rIHF1ZXJ5Iik7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX2Jsb29tLmMgYi9zcmMv YmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX2Jsb29tLmMKaW5kZXggNTU1OGEyZWRlYTUuLjc4 OGQ4OWJiZTgyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX2Js b29tLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9ibG9vbS5jCkBAIC0z NDIsOCArMzQyLDEwIEBAIGJsb29tX2luaXQoaW50IG5kaXN0aW5jdCwgZG91YmxlIGZhbHNl X3Bvc2l0aXZlX3JhdGUpCiAJICogZmlsdGVycyB0aGF0IGFyZSBzbWFsbCBpbmRpdmlkdWFs bHksIGJ1dCB0b28gbGFyZ2Ugd2hlbiBjb21iaW5lZC4KIAkgKi8KIAlpZiAobmJ5dGVzID4g Qmxvb21NYXhGaWx0ZXJTaXplKQotCQllbG9nKEVSUk9SLCAidGhlIGJsb29tIGZpbHRlciBp cyB0b28gbGFyZ2UgKCVkID4gJXp1KSIsIG5ieXRlcywKLQkJCSBCbG9vbU1heEZpbHRlclNp emUpOworCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPR1JBTV9M SU1JVF9FWENFRURFRCksCisJCQkJIGVycm1zZygidGhlIGJsb29tIGZpbHRlciBpcyB0b28g bGFyZ2UgKCVkID4gJXp1KSIsIG5ieXRlcywKKwkJCQkJCUJsb29tTWF4RmlsdGVyU2l6ZSkp KTsKIAogCS8qCiAJICogV2UgYWxsb2NhdGUgdGhlIHdob2xlIGZpbHRlci4gTW9zdCBvZiBp dCBpcyBnb2luZyB0byBiZSAwIGJpdHMsIHNvIHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVj dGFkZHJlc3MuYwppbmRleCAwOWM5Yzc1MTEzMy4uNzVhYTRiOWU3MTQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCisrKyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCkBAIC0yODE5LDcgKzI4MTksOCBAQCBnZXRfb2Jq ZWN0X3Byb3BlcnR5X2RhdGEoT2lkIGNsYXNzX2lkKQogCX0KIAogCWVyZXBvcnQoRVJST1Is Ci0JCQkoZXJybXNnX2ludGVybmFsKCJ1bnJlY29nbml6ZWQgY2xhc3MgSUQ6ICV1IiwgY2xh c3NfaWQpKSk7CisJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVF KSwKKwkJCSBlcnJtc2coInVucmVjb2duaXplZCBjbGFzcyBJRDogJXUiLCBjbGFzc19pZCkp KTsKIAogCXJldHVybiBOVUxMOwkJCQkvKiBrZWVwIE1TQyBjb21waWxlciBoYXBweSAqLwog fQpAQCAtNDcyOCw3ICs0NzI5LDkgQEAgZ2V0T2JqZWN0VHlwZURlc2NyaXB0aW9uKGNvbnN0 IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJYnJlYWs7CiAK IAkJZGVmYXVsdDoKLQkJCWVsb2coRVJST1IsICJ1bnN1cHBvcnRlZCBvYmplY3QgY2xhc3M6 ICV1Iiwgb2JqZWN0LT5jbGFzc0lkKTsKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJj b2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAorCQkJCQkgZXJybXNnKCJ1 bnN1cHBvcnRlZCBvYmplY3QgY2xhc3M6ICV1Iiwgb2JqZWN0LT5jbGFzc0lkKSkpOwogCX0K IAogCS8qIHRoZSByZXN1bHQgY2FuIG5ldmVyIGJlIGVtcHR5ICovCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jb21tYW5kcy9mdW5jdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL2Z1bmN0aW9uY21kcy5jCmluZGV4IDRkNDYwMTNkN2RlLi4xZjRjMGIxNTZiMCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZnVuY3Rpb25jbWRzLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvZnVuY3Rpb25jbWRzLmMKQEAgLTIzNDgsNyArMjM0OCw5IEBA IEV4ZWN1dGVDYWxsU3RtdChDYWxsU3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMs IGJvb2wgYXRvbWljLCBEZXN0UmVjZWl2ZXIKIAkJVHVwbGVUYWJsZVNsb3QgKnNsb3Q7CiAK IAkJaWYgKGZjaW5mby0+aXNudWxsKQotCQkJZWxvZyhFUlJPUiwgInByb2NlZHVyZSByZXR1 cm5lZCBudWxsIHJlY29yZCIpOworCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUo RVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKKwkJCQkJIGVycm1zZygicHJv Y2VkdXJlIHJldHVybmVkIG51bGwgcmVjb3JkIikpKTsKIAogCQkvKgogCQkgKiBFbnN1cmUg dGhlcmUncyBhbiBhY3RpdmUgc25hcHNob3Qgd2hpbHN0IHdlIGV4ZWN1dGUgd2hhdGV2ZXIn cwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25mdW5jcy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L2pzb25mdW5jcy5jCmluZGV4IGFkYmFmZDBlY2QzLi40ZTQ0 MjRmOThkNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25mdW5jcy5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29uZnVuY3MuYwpAQCAtNTYxMSw3ICs1 NjExLDkgQEAgcGFyc2VfanNvbmJfaW5kZXhfZmxhZ3MoSnNvbmIgKmpiKQogCiAJLyogZXhw ZWN0IGVuZCBvZiBhcnJheSBub3cgKi8KIAlpZiAodHlwZSAhPSBXSkJfRU5EX0FSUkFZKQot CQllbG9nKEVSUk9SLCAidW5leHBlY3RlZCBlbmQgb2YgZmxhZyBhcnJheSIpOworCQllcmVw b3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFM VUUpLAorCQkJCSBlcnJtc2coInVuZXhwZWN0ZWQgZW5kIG9mIGZsYWcgYXJyYXkiKSkpOwog CiAJLyogZ2V0IGZpbmFsIFdKQl9ET05FIGFuZCBmcmVlIGl0ZXJhdG9yICovCiAJdHlwZSA9 IEpzb25iSXRlcmF0b3JOZXh0KCZpdCwgJnYsIGZhbHNlKTsK --------------V8Y90pLRhbHO0WzS6SKWx8jD--