Re: RETURNS SETOF primitive returns results in parentheses
От | Stephan Szabo |
---|---|
Тема | Re: RETURNS SETOF primitive returns results in parentheses |
Дата | |
Msg-id | 20051026074400.Y22162@megazone.bigpanda.com обсуждение исходный текст |
Ответ на | RETURNS SETOF primitive returns results in parentheses (Mario Splivalo <mario.splivalo@mobart.hr>) |
Список | pgsql-sql |
On Wed, 26 Oct 2005, Mario Splivalo wrote: > Consider this function: > > CREATE OR REPLACE FUNCTION php_get_subfield_data_repeating(int4, > "varchar") > RETURNS SETOF "varchar" AS > $BODY$ > DECLARE > aRecordID ALIAS FOR $1; > aSubFieldId ALIAS FOR $2; > > returnValue record; > subFieldNumber char(3); > subFieldLetter char(1); > > BEGIN > subFieldNumber = substr(aSubFieldId, 1, 3); > subFieldLetter = substr(aSubFieldId, 4); > > FOR returnValue IN SELECT "subfieldValue"::varchar > FROM "records_sub" > WHERE "fieldTag" = subFieldNumber AND "subfieldTag" = subFieldLetter > AND "recordId" = aRecordId > LOOP > RETURN NEXT returnValue; I think the root cause is that you're not returning a varchar here, but instead a record containing a varchar (if I return next returnValue."subfieldValue" I don't seem to get parens). I'm not sure why it's allowing you to do so, though, it seems like that shouldn't match the return type.
В списке pgsql-sql по дате отправления: