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 1wFR9e-0056zP-39 for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Apr 2026 06:33:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wFR9e-00BvCf-0n for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Apr 2026 06:33:46 +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.96) (envelope-from ) id 1wFR9d-00BvCX-2g for pgsql-hackers@lists.postgresql.org; Wed, 22 Apr 2026 06:33:45 +0000 Received: from mail-vs1-xe33.google.com ([2607:f8b0:4864:20::e33]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wFR9b-00000002CvG-2onr for pgsql-hackers@postgresql.org; Wed, 22 Apr 2026 06:33:44 +0000 Received: by mail-vs1-xe33.google.com with SMTP id ada2fe7eead31-6058a955e04so3271440137.0 for ; Tue, 21 Apr 2026 23:33:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776839623; cv=none; d=google.com; s=arc-20240605; b=cuhr8UhWhvAH78/8ikWLL27/u7jAVypSDPHH4FE9stqaMoAB0HdYPCvzPFMPVT8Aq/ juoijCRzypyWNcS+1ghyT0uS15POug2ULIY8DxLC9Q5Fs4AexjpjQ2g1HJzj1cNCIlyr G3tcQnG4o/7WTS2P4h9KBOssQw2rui/wJfZE9kb94IGcEdDl84eo1bke5musOoa9G+7M 7txfaTfrhx2I5laPF078aK85261sSFxCfQX8xU7Dx6HYVvr5+4EmyycQVu/DpLSqQa/7 Jz3hlrsp2HJkIzrAxmb1ErTTwJyow8TDxttr7VEmq/7N1LqWNerPewmaFPnzh/rMDaqS lDJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=XryCXWjZWVE88ZFq2WnHyg8Qa7/q5MyiV5ClY9AZzYI=; fh=8kWayiHT0er8eCt2Ot706u3X8/x54KTOZg7w+Bh7MfQ=; b=YBpj1wzzg22v8OMbjJtgfpiwIR8jcNQK9MJu6UAaToQw6mUB8isfqGV+SdYcxYyWsU U4gsX+2pvPpMA2HtVheWbtZckX9bgwgpI5wtNKy7ZoV8rQdROkfNWbwcXOCV1KI2UxFF uYMcwfoFrtfvOPMd9RKb6s1EIgTmb1MLcsk3Hwq1ZD7ttMXBAe9arqwSkyBi0csmLwY0 6YmbilqtMRVIIv9JLia0gy5tHSsNPnFMQBrlnIG0Kcf33kQjVGG59xXn1bN+5n1VSqDP hOC6lwf1WVsCoq4iBUovHJsQmGuq+G2dFReASBUdgBZR2mbH9q3nJ2vjvVzWAX3O7Wl+ OXTw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776839623; x=1777444423; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XryCXWjZWVE88ZFq2WnHyg8Qa7/q5MyiV5ClY9AZzYI=; b=E6V5ULQRxW/8mOKplKhBvxVJiLCYMnKw+sqx9a0+hjuxiYLWymQvd+1R6ORo93mqh7 /M0ytcxVW8qp2dSuxKG0iJn9BLoAIRzIvRhVbWYdznUhtvVzUwZ6m4qa2sz1HvcNd1xo zTPVIoIYTAMl/3qYy55axxDb8VQk6kSIjLd/iCiW7YUA1uMBxyslrom4e+CsloVcLYbl dgKOYac7HUnQS6yQl2K+AlSav2YxqfCAIl+pfgQ4v/aKHDWENZoKFzwTgAoH1lYBoN// op+8wvPp3OFswVWs1pWeAePJOVFxVr1joaI6Da2aqIx+OV0+5m/5JMdNnxafLMOPBeH5 4AWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776839623; x=1777444423; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XryCXWjZWVE88ZFq2WnHyg8Qa7/q5MyiV5ClY9AZzYI=; b=dpX+VTD1z5aSo8rh8zAVLyBHP1XyFxSCSPGYw20SrmONHh0ClZ6noleENxaB/4nJ8r FGwvWYqQGT5G/8IPOkFldKycpktRwkH6xTxptU0pZkbPBFHPiYOWFC3VEk22/FOLWaL8 Y+L3TogJYQejYJC4GYPsM7aLo7nUh9S/kKI61OssW1ATKbKgvAZjFDLMIDY4+XR4u6zj ZwLPfcU8BPewAP7r4gQ5TCJi1BHQcpXec//0keUEKJxZ6wZLjs0aBjq/E8jiOBjUA7Um C1jz7jXSclC5N2WfffSjZD4NjIzXZRb/+qd1TNnno7SVoey+FInVT/RhuDlPtCsJJK3A +ucg== X-Gm-Message-State: AOJu0YyWrUQ31rfisedEzrFkQmbgOmgb3czRuCZAl/I3Bx/1N2eeaRn/ lIGB80JvLYeGKEJPrLzoNcEd7TZ+1qtK4DY8pf/JvkxUTmg/aFJ1R2GsaD0oe9kYxroJMm8BnUQ yijrug5QlwAa5VC5mmpFC+CxgWwTMylhjEFREaA5SpQ== X-Gm-Gg: AeBDietbclkH1DKUE/k1ZXCa2sj2R7lGiOPtiUUz3R0ztBs06K+u0dj+afKHxCbmWY2 jCpSiYFLbS/eOlq8Di9d8HOnq73Oj5r539Kkgeb28fWIfZ7LO+uwauTAtf/YH5hUkSQk7+Y6kZD 0pwjTv5q+3v2t7qbGae7pzGKfe4Gu10VRmOZE7sK0Auacb6RlUZsMKuC4kfuPVV+1B66ogQltGK n2IdmbO3iXyC7xRo/xx6AZpOxBMT7xtyrpOttDyNgxlR6psBr2Zn355Lv1Z1wGaBTiSzlSBydcF ncO9kXz0TV4SOWwB5XkqojzvFBFn5XdogGu7Jwb37ydltZWn5QzUkLNXEldSWA0nCqF5ujKuTWM z816jP/F/5eGRtPJdIUuzcd251GX/Q6x17FKA5zCkLQK184Jt74Rqqn3vLUAqJiG3nWdTKtg3GI vYuMemJznYHHEuWDfDg0L5E8PbSGmvtwxzaGTQNsQD7ZM= X-Received: by 2002:a05:6102:5114:b0:608:ce6d:4db1 with SMTP id ada2fe7eead31-616fb5837a1mr6726438137.3.1776839623220; Tue, 21 Apr 2026 23:33:43 -0700 (PDT) MIME-Version: 1.0 References: <1127584.1769649859@sss.pgh.pa.us> In-Reply-To: From: jian he Date: Wed, 22 Apr 2026 14:33:01 +0800 X-Gm-Features: AQROBzBUx3J5mB2ew9Xk_mw7rbfW2ADNHVLDgD8rj7cngzpiyagBgIm7MSqTIqY Message-ID: Subject: Re: ERROR: failed to find conversion function from unknown to text To: Tom Lane Cc: PostgreSQL-development Content-Type: multipart/mixed; boundary="00000000000090c6ea065006b66f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000090c6ea065006b66f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jan 29, 2026 at 11:53=E2=80=AFAM jian he wrote: > > To make it an error, meaning it's not possible to coerce to the unknown t= ype. > We can do it in the function find_coercion_pathway, just > after the ``if (sourceTypeId =3D=3D targetTypeId)`` check: > > if (targetTypeId =3D=3D UNKNOWNOID) > return COERCION_PATH_NONE; > > it's also doable in the function can_coerce_type, > right after the ``if (inputTypeId =3D=3D UNKNOWNOID)``: > > if (targetTypeId =3D=3D UNKNOWNOID) > return false; I choose to disallow UNKNOWN target types in find_coercion_pathway. do $$ declare a int; begin a :=3D '1'::text::unknown; end$$; This DO statement does not cause any error in the HEAD, because of function find_coercion_pathway: ``` /* * When parsing PL/pgSQL assignments, allow an I/O cast to be used * whenever no normal coercion is available. */ if (result =3D=3D COERCION_PATH_NONE && ccontext =3D=3D COERCION_PLPGSQL) result =3D COERCION_PATH_COERCEVIAIO; ``` but will result error with the attached V2: ERROR: cannot cast type text to unknown -- jian https://www.enterprisedb.com/ --00000000000090c6ea065006b66f Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-Disallow-UNKNOWN-target-types.patch" Content-Disposition: attachment; filename="v2-0001-Disallow-UNKNOWN-target-types.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mo9oepkd0 RnJvbSA5ZjNkODQ3MWRiNTc4ZDYzNzI5MDY0ZDExN2NhMmZlZDFhYmVjMTEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjIgQXByIDIwMjYgMTQ6MTI6MjUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYy IDEvMV0gRGlzYWxsb3cgVU5LTk9XTiB0YXJnZXQgdHlwZXMKCmRpc2N1c3Npb246IGh0dHBzOi8v cG9zdGdyLmVzL20vQ0FDSnVmeEh1MHNYTzg3OTFGRGNOWHAyYkZuRTg5anl1R2tKYkxDUWtoZ1dx Nlh1TkxnQG1haWwuZ21haWwuY29tCmNvbW1pdGZlc3QgZW50cnk6IGh0dHBzOi8vY29tbWl0ZmVz dC5wb3N0Z3Jlc3FsLm9yZy9wYXRjaC8KLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29l cmNlLmMgIHwgIDQgKysrKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9taXNjLm91dCB8IDEy ICsrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvbWlzYy5zcWwgICAgICB8ICA2ICsr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NvZXJjZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X2NvZXJjZS5jCmluZGV4IDkxM2NhNTM2NjZmLi5hZWM3NTYxMmNhMSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NvZXJjZS5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9jb2VyY2UuYwpAQCAtMzE2Niw2ICszMTY2LDEwIEBAIGZpbmRfY29lcmNpb25fcGF0aHdh eShPaWQgdGFyZ2V0VHlwZUlkLCBPaWQgc291cmNlVHlwZUlkLAogCWlmIChPaWRJc1ZhbGlkKHRh cmdldFR5cGVJZCkpCiAJCXRhcmdldFR5cGVJZCA9IGdldEJhc2VUeXBlKHRhcmdldFR5cGVJZCk7 CiAKKwkvKiBEaXNhbGxvdyBVTktOT1dOIHRhcmdldCB0eXBlcy4gKi8KKwlpZiAodGFyZ2V0VHlw ZUlkID09IFVOS05PV05PSUQpCisJCXJldHVybiBDT0VSQ0lPTl9QQVRIX05PTkU7CisKIAkvKiBE b21haW5zIGFyZSBhbHdheXMgY29lcmNpYmxlIHRvIGFuZCBmcm9tIHRoZWlyIGJhc2UgdHlwZSAq LwogCWlmIChzb3VyY2VUeXBlSWQgPT0gdGFyZ2V0VHlwZUlkKQogCQlyZXR1cm4gQ09FUkNJT05f UEFUSF9SRUxBQkVMVFlQRTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bWlzYy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21pc2Mub3V0CmluZGV4IDZlODE2 YzU3ZjFmLi4xYzZhZTBhM2JiYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9taXNjLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21pc2Mub3V0CkBAIC0z OTYsMyArMzk2LDE1IEBAIFNFTEVDVCAqLCAoZXF1aXBtZW50KENBU1QoKGguKikgQVMgaG9iYmll c19yKSkpLm5hbWUgRlJPTSBob2JiaWVzX3IgaDsKIC0tCiAtLSByZXdyaXRlIHJ1bGVzCiAtLQor ZG8gJCQgZGVjbGFyZSBhIHRleHQ7CitiZWdpbiBhIDo9ICdzJzo6dGV4dDo6dW5rbm93bjsKK2Vu ZCQkOworRVJST1I6ICBjYW5ub3QgY2FzdCB0eXBlIHRleHQgdG8gdW5rbm93bgorTElORSAxOiBh IDo9ICdzJzo6dGV4dDo6dW5rbm93bgorICAgICAgICAgICAgICAgICAgICAgIF4KK1FVRVJZOiAg YSA6PSAncyc6OnRleHQ6OnVua25vd24KK0NPTlRFWFQ6ICBQTC9wZ1NRTCBmdW5jdGlvbiBpbmxp bmVfY29kZV9ibG9jayBsaW5lIDIgYXQgYXNzaWdubWVudAorc2VsZWN0ICdzJzo6dGV4dDo6dW5r bm93bjsKK0VSUk9SOiAgY2Fubm90IGNhc3QgdHlwZSB0ZXh0IHRvIHVua25vd24KK0xJTkUgMTog c2VsZWN0ICdzJzo6dGV4dDo6dW5rbm93bjsKKyAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL21pc2Muc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvbWlzYy5zcWwKaW5kZXggMTY1YTJlMTc1ZmIuLmM1NjhiNDIzOWY4IDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9taXNjLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9taXNjLnNxbApAQCAtMjczLDMgKzI3Myw5IEBAIFNFTEVDVCAqLCAoZXF1aXBtZW50KENBU1Qo KGguKikgQVMgaG9iYmllc19yKSkpLm5hbWUgRlJPTSBob2JiaWVzX3IgaDsKIC0tCiAtLSByZXdy aXRlIHJ1bGVzCiAtLQorCitkbyAkJCBkZWNsYXJlIGEgdGV4dDsKK2JlZ2luIGEgOj0gJ3MnOjp0 ZXh0Ojp1bmtub3duOworZW5kJCQ7CisKK3NlbGVjdCAncyc6OnRleHQ6OnVua25vd247Ci0tIAoy LjM0LjEKCg== --00000000000090c6ea065006b66f--