Re: PL argument max size, and doubt
От | Martin Marques |
---|---|
Тема | Re: PL argument max size, and doubt |
Дата | |
Msg-id | 47446F13.3090003@marquesminen.com.ar обсуждение исходный текст |
Ответ на | Re: PL argument max size, and doubt ("Rodrigo De León" <rdeleonp@gmail.com>) |
Ответы |
Re: PL argument max size, and doubt
|
Список | pgsql-sql |
Rodrigo De León escribió: > On Nov 21, 2007 8:23 AM, Martin Marques <martin@marquesminen.com.ar> wrote: > >> (BTW, which it that limit if it exists?). >> > > "In any case, the longest possible character string that can be stored > is about 1 GB." > > See: > http://www.postgresql.org/docs/8.2/static/datatype-character.html > I was asking about the limit in the argument. Is it the same as the limits the types have in table definition? >> So I made the function to test: >> >> CREATE OR REPLACE FUNCTION datoGrande(TEXT) RETURNS BOOLEAN AS $body$ >> BEGIN >> EXECUTE $ins1$ >> INSERT INTO funcdatogrande VALUES (default,$ins1$ || >> quote_literal($1) || $ins2$)$ins2$; >> IF FOUND THEN >> RETURN TRUE; >> ELSE >> RETURN FALSE; >> END IF; >> END; >> $body$ LANGUAGE 'plpgsql'; >> >> >> What bothers me is that the INSERT passes ok (the data is inserted) but >> the function is returning false on any all to it. I hope not to have a >> conceptual problem. >> > > I don't think EXECUTEing sets FOUND to true. Try: > > CREATE OR REPLACE FUNCTION > DATOGRANDE(TEXT) > RETURNS BOOLEAN AS $$ > BEGIN > INSERT INTO FUNCDATOGRANDE VALUES (DEFAULT,$1); > IF FOUND THEN > RETURN TRUE; > ELSE > RETURN FALSE; > END IF; > END; > $$ LANGUAGE 'PLPGSQL'; > I have always heard that modification queries should be EXECUTED in PL. AFAICR.
В списке pgsql-sql по дате отправления: