mirror of
https://github.com/zebrajr/postgres.git
synced 2025-12-07 12:20:31 +01:00
The output of the function changes whenever previous (or, as in this
case, concurrent) tests leave a table in place. That causes unneeded
churn.
This should fix failures due to the tests added bfe16d1a5, like on
lapwing, caused by the tsrf test running concurrently with misc. Those
could also have been addressed by using temp tables, but that test has
annoyed me before.
Discussion: <27626.1473729905@sss.pgh.pa.us>
99 lines
2.5 KiB
Plaintext
99 lines
2.5 KiB
Plaintext
--
|
|
-- CREATE_FUNCTION_2
|
|
--
|
|
CREATE FUNCTION hobbies(person)
|
|
RETURNS setof hobbies_r
|
|
AS 'select * from hobbies_r where person = $1.name'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION hobby_construct(text, text)
|
|
RETURNS hobbies_r
|
|
AS 'select $1 as name, $2 as hobby'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION hobby_construct_named(name text, hobby text)
|
|
RETURNS hobbies_r
|
|
AS 'select name, hobby'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION hobbies_by_name(hobbies_r.name%TYPE)
|
|
RETURNS hobbies_r.person%TYPE
|
|
AS 'select person from hobbies_r where name = $1'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION equipment(hobbies_r)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where hobby = $1.name'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION equipment_named(hobby hobbies_r)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where equipment_r.hobby = equipment_named.hobby.name'
|
|
LANGUAGE SQL;
|
|
|
|
CREATE FUNCTION equipment_named_ambiguous_1a(hobby hobbies_r)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where hobby = equipment_named_ambiguous_1a.hobby.name'
|
|
LANGUAGE SQL;
|
|
|
|
CREATE FUNCTION equipment_named_ambiguous_1b(hobby hobbies_r)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where equipment_r.hobby = hobby.name'
|
|
LANGUAGE SQL;
|
|
|
|
CREATE FUNCTION equipment_named_ambiguous_1c(hobby hobbies_r)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where hobby = hobby.name'
|
|
LANGUAGE SQL;
|
|
|
|
CREATE FUNCTION equipment_named_ambiguous_2a(hobby text)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where hobby = equipment_named_ambiguous_2a.hobby'
|
|
LANGUAGE SQL;
|
|
|
|
CREATE FUNCTION equipment_named_ambiguous_2b(hobby text)
|
|
RETURNS setof equipment_r
|
|
AS 'select * from equipment_r where equipment_r.hobby = hobby'
|
|
LANGUAGE SQL;
|
|
|
|
|
|
CREATE FUNCTION pt_in_widget(point, widget)
|
|
RETURNS bool
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION overpaid(emp)
|
|
RETURNS bool
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION boxarea(box)
|
|
RETURNS float8
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION interpt_pp(path, path)
|
|
RETURNS point
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION reverse_name(name)
|
|
RETURNS name
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION oldstyle_length(int4, text)
|
|
RETURNS int4
|
|
AS '@libdir@/regress@DLSUFFIX@'
|
|
LANGUAGE C; -- intentionally not strict
|
|
|
|
--
|
|
-- Function dynamic loading
|
|
--
|
|
LOAD '@libdir@/regress@DLSUFFIX@';
|