Add STABLE RPCs in test fixtures to increase coverage
This commit is contained in:
committed by
Wolfgang Walther
parent
6efa304142
commit
1edbef0538
Vendored
+21
-7
@@ -119,35 +119,36 @@ CREATE TABLE items3 (
|
|||||||
|
|
||||||
CREATE FUNCTION search(id BIGINT) RETURNS SETOF items
|
CREATE FUNCTION search(id BIGINT) RETURNS SETOF items
|
||||||
LANGUAGE plpgsql
|
LANGUAGE plpgsql
|
||||||
|
STABLE
|
||||||
AS $$BEGIN
|
AS $$BEGIN
|
||||||
RETURN QUERY SELECT items.id FROM items WHERE items.id=search.id;
|
RETURN QUERY SELECT items.id FROM items WHERE items.id=search.id;
|
||||||
END$$;
|
END$$;
|
||||||
|
|
||||||
CREATE FUNCTION always_true(test.items) RETURNS boolean
|
CREATE FUNCTION always_true(test.items) RETURNS boolean
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $$ SELECT true $$;
|
AS $$ SELECT true $$;
|
||||||
|
|
||||||
CREATE FUNCTION computed_overload(test.items) RETURNS boolean
|
CREATE FUNCTION computed_overload(test.items) RETURNS boolean
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $$ SELECT true $$;
|
AS $$ SELECT true $$;
|
||||||
|
|
||||||
CREATE FUNCTION computed_overload(test.items2) RETURNS boolean
|
CREATE FUNCTION computed_overload(test.items2) RETURNS boolean
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $$ SELECT true $$;
|
AS $$ SELECT true $$;
|
||||||
|
|
||||||
CREATE FUNCTION is_first(test.items) RETURNS boolean
|
CREATE FUNCTION is_first(test.items) RETURNS boolean
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $$ SELECT $1.id = 1 $$;
|
AS $$ SELECT $1.id = 1 $$;
|
||||||
|
|
||||||
|
|
||||||
CREATE FUNCTION anti_id(test.items) RETURNS bigint
|
CREATE FUNCTION anti_id(test.items) RETURNS bigint
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $_$ SELECT $1.id * -1 $_$;
|
AS $_$ SELECT $1.id * -1 $_$;
|
||||||
|
|
||||||
SET search_path = public, pg_catalog;
|
SET search_path = public, pg_catalog;
|
||||||
|
|
||||||
CREATE FUNCTION always_false(test.items) RETURNS boolean
|
CREATE FUNCTION always_false(test.items) RETURNS boolean
|
||||||
LANGUAGE sql STABLE
|
LANGUAGE sql IMMUTABLE
|
||||||
AS $$ SELECT false $$;
|
AS $$ SELECT false $$;
|
||||||
|
|
||||||
create table public_consumers (
|
create table public_consumers (
|
||||||
@@ -194,6 +195,7 @@ create view consumers_extra_view as
|
|||||||
|
|
||||||
CREATE FUNCTION getitemrange(min bigint, max bigint) RETURNS SETOF items
|
CREATE FUNCTION getitemrange(min bigint, max bigint) RETURNS SETOF items
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
STABLE
|
||||||
AS $_$
|
AS $_$
|
||||||
SELECT * FROM test.items WHERE id > $1 AND id <= $2;
|
SELECT * FROM test.items WHERE id > $1 AND id <= $2;
|
||||||
$_$;
|
$_$;
|
||||||
@@ -204,6 +206,7 @@ $_$;
|
|||||||
|
|
||||||
CREATE FUNCTION noparamsproc() RETURNS text
|
CREATE FUNCTION noparamsproc() RETURNS text
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
IMMUTABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT a FROM (VALUES ('Return value of no parameters procedure.')) s(a);
|
SELECT a FROM (VALUES ('Return value of no parameters procedure.')) s(a);
|
||||||
$$;
|
$$;
|
||||||
@@ -214,6 +217,7 @@ CREATE FUNCTION noparamsproc() RETURNS text
|
|||||||
|
|
||||||
CREATE FUNCTION login(id text, pass text) RETURNS public.jwt_token
|
CREATE FUNCTION login(id text, pass text) RETURNS public.jwt_token
|
||||||
LANGUAGE sql SECURITY DEFINER
|
LANGUAGE sql SECURITY DEFINER
|
||||||
|
STABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT jwt.sign(
|
SELECT jwt.sign(
|
||||||
row_to_json(r), 'reallyreallyreallyreallyverysafe'
|
row_to_json(r), 'reallyreallyreallyreallyverysafe'
|
||||||
@@ -239,6 +243,7 @@ CREATE FUNCTION varied_arguments(
|
|||||||
jsonb jsonb default '{}'
|
jsonb jsonb default '{}'
|
||||||
) RETURNS json
|
) RETURNS json
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
IMMUTABLE
|
||||||
AS $_$
|
AS $_$
|
||||||
SELECT json_build_object(
|
SELECT json_build_object(
|
||||||
'double', double,
|
'double', double,
|
||||||
@@ -262,6 +267,7 @@ Just a test for RPC function arguments$_$;
|
|||||||
|
|
||||||
CREATE FUNCTION json_argument(arg json) RETURNS text
|
CREATE FUNCTION json_argument(arg json) RETURNS text
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
IMMUTABLE
|
||||||
AS $_$
|
AS $_$
|
||||||
SELECT json_typeof(arg);
|
SELECT json_typeof(arg);
|
||||||
$_$;
|
$_$;
|
||||||
@@ -272,6 +278,7 @@ $_$;
|
|||||||
|
|
||||||
CREATE FUNCTION jwt_test() RETURNS public.jwt_token
|
CREATE FUNCTION jwt_test() RETURNS public.jwt_token
|
||||||
LANGUAGE sql SECURITY DEFINER
|
LANGUAGE sql SECURITY DEFINER
|
||||||
|
IMMUTABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT jwt.sign(
|
SELECT jwt.sign(
|
||||||
row_to_json(r), 'reallyreallyreallyreallyverysafe'
|
row_to_json(r), 'reallyreallyreallyreallyverysafe'
|
||||||
@@ -306,6 +313,7 @@ $$;
|
|||||||
|
|
||||||
CREATE FUNCTION get_current_user() RETURNS text
|
CREATE FUNCTION get_current_user() RETURNS text
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
STABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT current_user::text;
|
SELECT current_user::text;
|
||||||
$$;
|
$$;
|
||||||
@@ -319,6 +327,7 @@ CREATE FUNCTION reveal_big_jwt() RETURNS TABLE (
|
|||||||
nbf bigint, iat bigint, jti text, "http://postgrest.com/foo" boolean
|
nbf bigint, iat bigint, jti text, "http://postgrest.com/foo" boolean
|
||||||
)
|
)
|
||||||
LANGUAGE sql SECURITY DEFINER
|
LANGUAGE sql SECURITY DEFINER
|
||||||
|
STABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT current_setting('request.jwt.claim.iss') as iss,
|
SELECT current_setting('request.jwt.claim.iss') as iss,
|
||||||
current_setting('request.jwt.claim.sub') as sub,
|
current_setting('request.jwt.claim.sub') as sub,
|
||||||
@@ -385,6 +394,7 @@ $_$;
|
|||||||
|
|
||||||
CREATE FUNCTION singlejsonparam(single_param json) RETURNS json
|
CREATE FUNCTION singlejsonparam(single_param json) RETURNS json
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
IMMUTABLE
|
||||||
AS $_$
|
AS $_$
|
||||||
SELECT single_param;
|
SELECT single_param;
|
||||||
$_$;
|
$_$;
|
||||||
@@ -395,6 +405,7 @@ $_$;
|
|||||||
|
|
||||||
CREATE FUNCTION test_empty_rowset() RETURNS SETOF integer
|
CREATE FUNCTION test_empty_rowset() RETURNS SETOF integer
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
IMMUTABLE
|
||||||
AS $$
|
AS $$
|
||||||
SELECT null::int FROM (SELECT 1) a WHERE false;
|
SELECT null::int FROM (SELECT 1) a WHERE false;
|
||||||
$$;
|
$$;
|
||||||
@@ -952,6 +963,7 @@ DO $do$BEGIN
|
|||||||
|
|
||||||
CREATE FUNCTION getproject_domain(id int) RETURNS SETOF projects_domain
|
CREATE FUNCTION getproject_domain(id int) RETURNS SETOF projects_domain
|
||||||
LANGUAGE sql
|
LANGUAGE sql
|
||||||
|
STABLE
|
||||||
AS $_$
|
AS $_$
|
||||||
SELECT projects::projects_domain FROM test.projects WHERE id = $1;
|
SELECT projects::projects_domain FROM test.projects WHERE id = $1;
|
||||||
$_$;
|
$_$;
|
||||||
@@ -1163,11 +1175,13 @@ create function test.many_inout_params(INOUT num int, INOUT str text, INOUT b bo
|
|||||||
$$ language sql;
|
$$ language sql;
|
||||||
|
|
||||||
CREATE FUNCTION test.variadic_param(VARIADIC v TEXT[] DEFAULT '{}') RETURNS text[]
|
CREATE FUNCTION test.variadic_param(VARIADIC v TEXT[] DEFAULT '{}') RETURNS text[]
|
||||||
|
IMMUTABLE
|
||||||
LANGUAGE SQL AS $$
|
LANGUAGE SQL AS $$
|
||||||
SELECT v
|
SELECT v
|
||||||
$$;
|
$$;
|
||||||
|
|
||||||
CREATE FUNCTION test.sayhello_variadic(name TEXT, VARIADIC v TEXT[]) RETURNS text
|
CREATE FUNCTION test.sayhello_variadic(name TEXT, VARIADIC v TEXT[]) RETURNS text
|
||||||
|
IMMUTABLE
|
||||||
LANGUAGE SQL AS $$
|
LANGUAGE SQL AS $$
|
||||||
SELECT 'Hello, ' || name
|
SELECT 'Hello, ' || name
|
||||||
$$;
|
$$;
|
||||||
@@ -1680,7 +1694,7 @@ CREATE TABLE web_content (
|
|||||||
|
|
||||||
CREATE FUNCTION getallusers() RETURNS SETOF users AS $$
|
CREATE FUNCTION getallusers() RETURNS SETOF users AS $$
|
||||||
SELECT * FROM test.users;
|
SELECT * FROM test.users;
|
||||||
$$ LANGUAGE sql;
|
$$ LANGUAGE sql STABLE;
|
||||||
|
|
||||||
create table app_users (
|
create table app_users (
|
||||||
id integer primary key,
|
id integer primary key,
|
||||||
|
|||||||
Reference in New Issue
Block a user