Re: to_regtype() Raises Error
От | Erik Wienhold |
---|---|
Тема | Re: to_regtype() Raises Error |
Дата | |
Msg-id | 1096313951.132571.1694990461053@office.mailbox.org обсуждение исходный текст |
Ответ на | to_regtype() Raises Error ("David E. Wheeler" <david@justatheory.com>) |
Ответы |
Re: to_regtype() Raises Error
|
Список | pgsql-hackers |
On 18/09/2023 00:13 CEST David E. Wheeler <david@justatheory.com> wrote: > The docs for `to_regtype()` say, “this function will return NULL rather than > throwing an error if the name is not found.” And it’s true most of the time: > > david=# select to_regtype('foo'), to_regtype('clam'); > to_regtype | to_regtype > ------------+------------ > [null] | [null] > > But not others: > > david=# select to_regtype('inteval second'); > ERROR: syntax error at or near "second" > LINE 1: select to_regtype('inteval second'); > ^ > CONTEXT: invalid type name "inteval second” Probably a typo and you meant 'interval second' which works. > I presume this has something to do with not catching errors from the parser? > > david=# select to_regtype('clam bake'); > ERROR: syntax error at or near "bake" > LINE 1: select to_regtype('clam bake'); > ^ > CONTEXT: invalid type name "clam bake" Double-quoting the type name to treat it as an identifier works: test=# select to_regtype('"clam bake"'); to_regtype ------------ <NULL> (1 row) So it's basically a matter of keywords vs. identifiers. -- Erik
В списке pgsql-hackers по дате отправления: