Я новее postgresql и создаю функцию, как показано ниже
CREATE OR REPLACE FUNCTION GetLogs(
_from Date,
_to Date,
_sortBy TEXT,
_orderby INT,
_page INT,
_row INT)
RETURNS TABLE (
"Id" UUID,
"RequestHeaders" text,
"RequestContent" text,
"ResponseHeaders" text,
"ResponseContent" text,
"ResponseCode" integer,
"ExecutionTimeMs" integer,
"Description" text,
"RecordedOn" timestamp with time zone,
"Username" character varying,
"Exception" text)
AS $$
BEGIN
RETURN QUERY
SELECT COUNT(1)
FROM dbo."Logs" log
where log."RecordedOn" >= $1 and log."RecordedOn" <= $2;
RETURN QUERY
SELECT log.*
FROM dbo."Logs" log
where log."RecordedOn" >= $1 and log."RecordedOn" <= $2
Offset ($5-1) * $6
Limit $6;
END;
$$ LANGUAGE plpgsql;
, и вызываю ее, используя
select * from GetLogs('2020-02-11','2020-02-12','Date',0,1,10)
Я ожидаю, что это будут данные подсчета и таблицы, но ошибка
ERROR: structure of query does not match function result type
DETAIL: Returned type bigint does not match expected type uuid in column 1.
кто-нибудь может ее решить?