public inbox for [email protected]  
help / color / mirror / Atom feed
From: David G. Johnston <[email protected]>
To: Robert Haas <[email protected]>
Cc: Haibo Yan <[email protected]>
Cc: jian he <[email protected]>
Cc: Corey Huinker <[email protected]>
Cc: Zsolt Parragi <[email protected]>
Cc: Vik Fearing <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Subject: Re: implement CAST(expr AS type FORMAT 'template')
Date: Thu, 2 Jul 2026 21:08:51 -0700
Message-ID: <CAKFQuwYATL7bW6yc5CwgZ91aZ2hSH_z9MV=p94DO9SPgG+L2GA@mail.gmail.com> (raw)
In-Reply-To: <CA+TgmobHaDB77i2LHRfFSDLgYiAREasv4w9wHFKNQ_0wwfdU2A@mail.gmail.com>
References: <CACJufxGqm7cYQ5C65Eoh1z-f+aMdhv9_7V=NoLH_p6uuyesi6A@mail.gmail.com>
	<[email protected]>
	<CACJufxF4OW=x2rCwa+ZmcgopDwGKDXha09qTfTpCj3QSTG6Y9Q@mail.gmail.com>
	<[email protected]>
	<CACJufxEH-8UPdbPoUoqNRaiOePw+s2W2DG4OpXtoSYDaW30oAg@mail.gmail.com>
	<CAKFQuwZXYxPw4wofq+zZ5D7nH0sHDBwr--qku9jWYv7dS+P8RQ@mail.gmail.com>
	<CACJufxGTeSnHn7w8r-qoQrqwCFQSC+CbiEthzpHKUd+bPr_0mA@mail.gmail.com>
	<[email protected]>
	<CACJufxGbsc3g6RZf0rZpKYxffK6vGkc_OsTmX54uS0kFcVBtvA@mail.gmail.com>
	<CAKFQuwaG00tsXc2oSQwjdSnPQ=JuH+T8Oeejb3sO5TeqUHsfUQ@mail.gmail.com>
	<CADkLM=cvhJBrCj3GV+jXfpb5+U1Z33nsvCXo-=ZkDyaSPbS-1g@mail.gmail.com>
	<CAKFQuwYrwM64YnvZ5aL1DEWG50uW-1SrXesSKkmvpxXXrxTW-g@mail.gmail.com>
	<[email protected]>
	<CACJufxH+soqLj_AuMQj-_jxunVQKX-HBQA_3_3vmV1jTRyZ1hA@mail.gmail.com>
	<CACJufxGhOOYnPtmsuVocXVNyx2gB3K68ze67CM4LUqQeW--S8g@mail.gmail.com>
	<CAN4CZFNnqWbyk3UNr3XAwtKJooH8LnbDUg-f2JD9z_rG=feT7w@mail.gmail.com>
	<CACJufxFVMYuVz63DteEjbMdvx2neoYcwSRb5vhO-03Tzx=B8Jw@mail.gmail.com>
	<CAN4CZFNeCfLzt5g90vf_Dw5BKW2u-QhVKo369XbO-vXYq4ci5g@mail.gmail.com>
	<CACJufxH4ELUjdGNi7vkHEA6L=G0SfE5abnFs5vjvEm3G-Jqsbw@mail.gmail.com>
	<CADkLM=dGxwVCp3y8=LU+8hQUPw61JELx2jh02i729YCex8UqWg@mail.gmail.com>
	<CA+TgmoaUzwAxa_qHSp9ybCkAhMjQRDuEAZW2BrSb1DTPiz4ZzA@mail.gmail.com>
	<CABXr29FyPC7terFF7E+r462BEHhYgv06oUVoBrhkH7xhshuE6A@mail.gmail.com>
	<CA+TgmoYW4_Ze_iT-o64VuFGqpm48hh=4dyZJwqiWfRPDTW+L+g@mail.gmail.com>
	<CABXr29HF+AHV0FNxQfHyN-ByW6-3+pTBe5Pxm23wRpBYOmfohA@mail.gmail.com>
	<CACJufxFM1cq+wj8ydmsPAYEh63g5rP2tdn+y3QOUrhaA1a+Sgg@mail.gmail.com>
	<CABXr29FJ94+DNwktmCjt=WNLmYzUAUREqr-P01CuiUksC8Y0SA@mail.gmail.com>
	<CAKFQuwbOgm=-Q-J1pRR30Xcg-RcCmSOJ5RFduoQgHNZ08OvxnQ@mail.gmail.com>
	<CA+TgmoaWpZyokE-Dj=qRyPRMLRv73C4eVvFm31wq6f-ifW_c-A@mail.gmail.com>
	<CAKFQuwaiQA0JL7G7c5nk0H64pgCvWDrTL-pd++E24QPNQHQfPg@mail.gmail.com>
	<CA+TgmobibgO2a3UDr7DrbKVnDG9ZViYTn6+nKR3Kq88Aii7-fw@mail.gmail.com>
	<CAKFQuwam6CKm+MJbNwFgoMJYJFuzWQ68+WqMf39ku8Q6kqtXYg@mail.gmail.com>
	<CA+TgmobHaDB77i2LHRfFSDLgYiAREasv4w9wHFKNQ_0wwfdU2A@mail.gmail.com>

On Thu, Jul 2, 2026 at 3:23 PM Robert Haas <[email protected]> wrote:

> On Thu, Jul 2, 2026 at 5:52 PM David G. Johnston
> <[email protected]> wrote:
> > There is no wanting the formatless-variant to fail.  There is
> recognition that sometime the formatless variant might fail with a syntax
> error and we have a way to pass a format to make the cast work.
>  >
> > If there is no cast from thistype to thattype both will fail with cast
> not found errors.  Once a cast exists the first one could pass or fail
> depending on the content being casted.  If the content has an internal
> structure/syntax the failure mode would then be a syntax error.  Overcoming
> a syntax error is done by specifying a format.
>

> I don't really know how to have a productive conversation about this
> at this point.
>
>
I'm not sure how to make the design less problematic: format is optional,
and for casts that need a format to succeed they provide a default.

But yes, without concrete userspace examples to reason with, this approach
of only being concerned with the userspace perspective leaves much to
resolve when it comes to actual implementation.  But I also don't generally
like the idea of choosing how we define the userspace based upon how easy
it might be to implement.  Especially if ostensibly the reference design is
coming from the SQL Standard.

But yeah, it is apparent to me I need to try and use the language of
implementation details and not stay conceptual.

David J.


view thread (56+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: implement CAST(expr AS type FORMAT 'template')
  In-Reply-To: <CAKFQuwYATL7bW6yc5CwgZ91aZ2hSH_z9MV=p94DO9SPgG+L2GA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox