Temp sequence & table

Genady
Дата: 30.01.2004 13:50:49
Нифига не понимаю!
Написал функцию в которой создаю временный объекты (см subj) в конце их дропаю.
Но если функцию вызываю в рамках одной сессии больше одного раза то получаю офигительный эксепшн.
ERROR: relation with OID 204864 does not exist
CONTEXT: PL/pgSQL function "fn_test" line 11 at select into variables
Это что, особенности языка?
Sad Spirit
Дата: 30.01.2004 17:01:43
Да, это особенности языка. Планы выполнения запросов кэшируются, потому во второй раз план зависит от несуществующей таблицы.

Варианта два: вызывать функции внутри транзакции, чтобы временные таблицы были живы или выполнять запросы через EXECUTE, чтобы планы не кэшировались.
Genady
Дата: 02.02.2004 13:09:27
Переписал функцию, теперь там проверка существования этих объектов.
Интересно почему в Sybase так не любят Postgre, Power designer генерит до жути кривой код.