Re: Function proposal to find the type of a datum - Mailing list pgsql-hackers

From Richard Huxton
Subject Re: Function proposal to find the type of a datum
Date
Msg-id 45C30DD4.1050105@archonet.com
Whole thread Raw
In response to Re: Function proposal to find the type of a datum  (Kate F <kate@cats.meow.at>)
Responses Re: Function proposal to find the type of a datum  (Kate F <kate@cats.meow.at>)
List pgsql-hackers
Kate F wrote:
> I see my misunderstanding: '2' IS OF (INTEGER) yields false: fine.
> However I was expecting that pg_type_of('2') would return 'INTEGER': it
> wouldn't, of course. So, I understand you here: there would be no
> difference between this and IS OF in the way I had imagined.

It's not even possible to have a function that determines the type of a 
value given that we have overlapping types. How do you know that "2" 
isn't an int8 rather than int4, or numeric, or just text. What about 
'now'? That's a valid timestamp as well as text.

Now, if we had an can_be_cast_to(TEXT-VAL,TYPE) that would at least let 
you check against a pre-determined list of types. The only way I know of 
at present is to trap an exception if it fails.

I think you're going to have to store your arguments with their types.

--   Richard Huxton  Archonet Ltd


pgsql-hackers by date:

Previous
From: "Simon Riggs"
Date:
Subject: Referential Integrity and SHARE locks
Next
From: Csaba Nagy
Date:
Subject: Re: Referential Integrity and SHARE locks