FreakDJ
01/14/2022, 1:12 AMFreakDJ
01/14/2022, 1:12 AMFreakDJ
01/14/2022, 1:13 AMplpgsql
begin
PERFORM *
FROM "SolanaFloorTracker";
end;
and my code to run it looks like this:
javascript
const test = () => {
supabase.rpc("test").then(({ error, data, count, status, statusText }) => {
if (error) console.error({error});
else console.log({data});
});
};
test();
FreakDJ
01/14/2022, 1:16 AM{data: ''}
FreakDJ
01/14/2022, 1:16 AMgaryaustin
01/14/2022, 1:19 AMgaryaustin
01/14/2022, 1:20 AMFreakDJ
01/14/2022, 1:21 AMgaryaustin
01/14/2022, 1:21 AMFreakDJ
01/14/2022, 1:22 AMgaryaustin
01/14/2022, 1:22 AMFreakDJ
01/14/2022, 1:23 AMgaryaustin
01/14/2022, 1:23 AMFreakDJ
01/14/2022, 1:23 AMFreakDJ
01/14/2022, 1:25 AMplpgsql
begin
CREATE FUNCTION getall() RETURNS SETOF "SolanaFloorTracker" AS $$
SELECT *
FROM "SolanaFloorTracker";
$$ LANGUAGE SQL IMMUTABLE;
end;
FreakDJ
01/14/2022, 1:26 AMgaryaustin
01/14/2022, 1:33 AMgaryaustin
01/14/2022, 1:33 AMgaryaustin
01/14/2022, 1:34 AMFreakDJ
01/14/2022, 1:35 AMgaryaustin
01/14/2022, 1:35 AMFreakDJ
01/14/2022, 1:38 AMFreakDJ
01/14/2022, 1:38 AMgaryaustin
01/14/2022, 1:39 AMgaryaustin
01/14/2022, 1:39 AMFreakDJ
01/14/2022, 1:41 AMgaryaustin
01/14/2022, 1:41 AMgaryaustin
01/14/2022, 1:43 AMFreakDJ
01/14/2022, 1:44 AMgaryaustin
01/14/2022, 1:44 AMFreakDJ
01/14/2022, 1:44 AMjavascript
const test = () => {
supabase.rpc("test1").then(({ error, data, count, status, statusText }) => {
if (error) console.error({ error });
else console.log({ data });
});
};
test();
garyaustin
01/14/2022, 1:44 AMFreakDJ
01/14/2022, 1:45 AMcreate or replace function test1()
returns setof "SolanaFloorTracker"
language plpgsql
as $$
begin
return query
select * from "SolanaFloorTracker";
end;
$$
it says 'success. no rows returned'FreakDJ
01/14/2022, 1:45 AMgaryaustin
01/14/2022, 1:45 AMFreakDJ
01/14/2022, 1:45 AMgaryaustin
01/14/2022, 1:46 AMgaryaustin
01/14/2022, 1:47 AMgaryaustin
01/14/2022, 1:48 AMFreakDJ
01/14/2022, 1:48 AMFreakDJ
01/14/2022, 1:49 AMgaryaustin
01/14/2022, 1:49 AMFreakDJ
01/14/2022, 1:50 AMFreakDJ
01/14/2022, 1:51 AMgaryaustin
01/14/2022, 1:51 AMFreakDJ
01/14/2022, 1:51 AMFreakDJ
01/14/2022, 1:51 AMFreakDJ
01/14/2022, 1:54 AMcreate view SolanaFloorTrackers AS
-- this is a CTE
with psft as (
SELECT *, rank() over (partition by (sft.name) order by sft."timestamp" desc),
select c.id , c."timestamp", c.name, c.price, c.volume, p.price, p.volume
from psft c. -- c for current
left outer join psft p ON c.name = p.name. -- p for previous
where c.rank = 1 and p.rank =2;
It is from a thread in the sql channel from like a month ago where I was asking for some help trying to do something like thisgaryaustin
01/14/2022, 1:55 AMFreakDJ
01/14/2022, 1:56 AMFreakDJ
01/14/2022, 1:57 AMFreakDJ
01/14/2022, 1:58 AMgaryaustin
01/14/2022, 2:04 AMgaryaustin
01/14/2022, 2:05 AMFreakDJ
01/14/2022, 2:08 AMgaryaustin
01/14/2022, 2:37 AMgaryaustin
01/14/2022, 2:45 AMgaryaustin
01/14/2022, 2:46 AMgaryaustin
01/14/2022, 2:49 AMFreakDJ
01/14/2022, 3:28 AMcreate or replace function fetch_data()
returns setof "SolanaFloorTracker"
language plpgsql
as $$
begin
return query
SELECT rank_filter.*
FROM (
SELECT "SolanaFloorTracker".*,
rank() OVER (
PARTITION BY "CollectionName"
ORDER BY created_at DESC
)
FROM "SolanaFloorTracker"
) rank_filter WHERE RANK <=2;
end;
$$
but when I call select fetch_data
it says "structure of query does not match function result type"garyaustin
01/14/2022, 3:40 AMFreakDJ
01/14/2022, 10:02 PMgaryaustin
01/14/2022, 10:18 PMgaryaustin
01/14/2022, 10:27 PM