У меня есть простая функция PostgreSQL ... что-то вроде ниже
CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS '
BEGIN
OPEN $1 FOR
SELECT col
FROM test
WHERE cola = 1;
RETURN $1;
END;
' LANGUAGE plpgsql;
Дело в том, что когда я запускаю следующий sql, скажем, я получаю 10 строк
SELECT col
FROM test
WHERE cola = 1;
, но когда япри вызове функции я получаю 0 строк назад, позже после изменения сценария я обнаружил, что следующие операции
CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS '
BEGIN
OPEN $1 FOR
SELECT col
FROM test t
WHERE t.cola = 1;
RETURN $1;
END;
' LANGUAGE plpgsql;
и возвращают необходимые строки.
Я знаю, что это не является строго проблемой SQL, но это хорошо известная проблема PostgreSQL или, возможно, ошибка?
Следует отметить, что у меня есть несколько таблиц со столбцами с именем 'cola', это причина или есть конфигурация PostgreSQLпроблема?
32-битная версия PostgreSQL для Windows v8.3
для Windows