Re: express composite type literal as text
От | Tom Lane |
---|---|
Тема | Re: express composite type literal as text |
Дата | |
Msg-id | 31376.1424634472@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | express composite type literal as text (Eric Hanson <elhanson@gmail.com>) |
Ответы |
Re: express composite type literal as text
|
Список | pgsql-general |
Eric Hanson <elhanson@gmail.com> writes: > How do I express a composite type literal as text? The rules are given in the manual ... > I can't use the ROW() notation, because all values need to be represented > as text over a REST api. But I can't seem to get the text-based syntax to > work: > select * from on_hand where item='("fuzzy dice",42,1.99)'; > yeilds > ERROR: input of anonymous composite types is not implemented That message isn't telling you that you've got a problem with the data syntax, it's telling you that you need to cast the literal to a named composite data type. This works: # select * from on_hand where item='("fuzzy dice",42,1.99)'::inventory_item; item | count ------------------------+------- ("fuzzy dice",42,1.99) | 1000 (1 row) Now, I'm not too sure *why* it's making you do that --- seems like the default assumption ought to be that the literal is the same type as the variable it's being compared to. Perhaps there's a bug in there, or perhaps there's no easy way to avoid this requirement. But that's what the requirement is today. regards, tom lane
В списке pgsql-general по дате отправления: