When I try this function: CREATE FUNCTION pgtest(INT4, INT4, INT4, INT4, INT8, INT4, INT2, INT8, VARCHAR(100), VARCHAR(100), INT4, CHAR(40), INT4) RETURNS INT4 AS ' DECLARE result INT4; BEGIN result := $1 + 12; RETURN result; END; ' LANGUAGE 'plpgsql'; it always returns NULL. If I have less arguments in there (like just one argument) it works. I know that there is a compiled-in limit of 16 args, but this is less than 16 args, and I recompiled postgres to take up to 30 args anyway. Any idea what's going on? Is there some limit as to the amount of bytes a function can have as arguments? I'm very perplexed. Thanks
Well, I did a dropdb and then I recreated everything, and then it started working the way I thought it should. There must have been some function in there that was confusing it, or who knows what. As I'm writing and debugging functions, I do a lot of DROP FUNCTION and CREATE FUNCTION, so maybe something happened. Strange.
The bug is back, and I can't figure it out.
<drevil@sidereal.kz> writes:
> When I try this function:
> it always returns NULL.
Are you passing any arguments that are NULL?
regards, tom lane
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера