Discussion:
Type of text literals
Steve Baldwin
2018-07-10 22:41:23 UTC
Permalink
Can someone please help me understand this:

b2bc_dev=# select pg_typeof('a') as a, pg_typeof(array['a']) as arr;
a | arr
---------+--------
unknown | text[]
(1 row)

Why is a text literal on its own 'unknown' whereas in the context of an
array it assumes 'text' ?

This is pg 10.4 in case it matters.

Thanks,

Steve
Tom Lane
2018-07-10 22:54:35 UTC
Permalink
Post by Steve Baldwin
b2bc_dev=# select pg_typeof('a') as a, pg_typeof(array['a']) as arr;
a | arr
---------+--------
unknown | text[]
(1 row)
Why is a text literal on its own 'unknown' whereas in the context of an
array it assumes 'text' ?
There is no "unknown[]" type, so it has to assume something.

regards, tom lane

Loading...