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

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to