У меня проблемы с выполнением функций, которые принимают и возвращают postgres refcursor
в jooq.Я понятия не имею, как подходить к экземпляру ref
, то есть Result<Record>
, и как проходить по записям, которые я должен получить из функции, которую я хочу выполнить.
Допустим, у меня есть следующая функцияв postgres (postgres 9.5):
create or replace function foo_cursor(name character varying, ref refcursor)
returns refcursor
as $func$
begin
open ref for
select id, first_name, last_name
from students
where first_name = name;
return ref;
end
$func$
language plpgsql;
И в postgres я выполняю вот так:
begin;
select foo_cursor('Konrad', 'my_cursor');
fetch all in "my_cursor";
commit;
Функция должна оставаться прежней - она возвращает refcursor
изанимает refcursor
.
И я хочу выполнить это в jOOQ:
Routines.fooCursor(configuration, "Konrad", ____);
Но я не знаю, что поместить в ____
, что занимает Result<Record>
.Я попробовал что-то вроде:
Result<Record> records = DSL.using(configuration).newResult();
, но это тоже не сработало.