mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Update regress tests for change of pg_am/pg_amop.
This commit is contained in:
@ -1,5 +1,4 @@
|
||||
--
|
||||
-- OIDJOIN
|
||||
-- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
|
||||
--
|
||||
SELECT oid, pg_aggregate.aggtransfn1
|
||||
@ -130,6 +129,14 @@ SELECT oid, pg_am.ambuild
|
||||
-----+---------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_am.amcostestimate
|
||||
FROM pg_am
|
||||
WHERE pg_am.amcostestimate != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
|
||||
oid | amcostestimate
|
||||
-----+----------------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_amop.amopid
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopid != 0 AND
|
||||
@ -154,22 +161,6 @@ SELECT oid, pg_amop.amopopr
|
||||
-----+---------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_amop.amopselect
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopselect != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
|
||||
oid | amopselect
|
||||
-----+------------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_amop.amopnpages
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopnpages != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
|
||||
oid | amopnpages
|
||||
-----+------------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_amproc.amid
|
||||
FROM pg_amproc
|
||||
WHERE pg_amproc.amid != 0 AND
|
||||
@ -354,6 +345,38 @@ SELECT oid, pg_rewrite.ev_class
|
||||
-----+----------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_statistic.starelid
|
||||
FROM pg_statistic
|
||||
WHERE pg_statistic.starelid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
|
||||
oid | starelid
|
||||
-----+----------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_statistic.staop
|
||||
FROM pg_statistic
|
||||
WHERE pg_statistic.staop != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
|
||||
oid | staop
|
||||
-----+-------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_trigger.tgrelid
|
||||
FROM pg_trigger
|
||||
WHERE pg_trigger.tgrelid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
|
||||
oid | tgrelid
|
||||
-----+---------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_trigger.tgfoid
|
||||
FROM pg_trigger
|
||||
WHERE pg_trigger.tgfoid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
|
||||
oid | tgfoid
|
||||
-----+--------
|
||||
(0 rows)
|
||||
|
||||
SELECT oid, pg_type.typrelid
|
||||
FROM pg_type
|
||||
WHERE pg_type.typrelid != 0 AND
|
||||
|
@ -21,12 +21,15 @@
|
||||
--
|
||||
-- **************** pg_proc ****************
|
||||
-- Look for illegal values in pg_proc fields.
|
||||
-- NOTE: currently there are a few pg_proc entries that have prorettype = 0.
|
||||
-- Someday that ought to be cleaned up.
|
||||
SELECT p1.oid, p1.proname
|
||||
FROM pg_proc as p1
|
||||
WHERE (p1.prolang = 0 OR p1.prorettype = 0 OR
|
||||
p1.pronargs < 0 OR p1.pronargs > 9)
|
||||
AND p1.proname !~ '^pl[^_]+_call_handler$'
|
||||
AND p1.proname !~ '^RI_FKey_'
|
||||
AND p1.proname !~ 'costestimate$'
|
||||
AND p1.proname != 'update_pg_pwd';
|
||||
oid | proname
|
||||
-----+---------
|
||||
@ -504,7 +507,7 @@ WHERE p1.aggfinalfn = p2.oid AND
|
||||
SELECT p1.oid
|
||||
FROM pg_amop as p1
|
||||
WHERE p1.amopid = 0 OR p1.amopclaid = 0 OR p1.amopopr = 0 OR
|
||||
p1.amopstrategy <= 0 OR p1.amopselect = 0 OR p1.amopnpages = 0;
|
||||
p1.amopstrategy <= 0;
|
||||
oid
|
||||
-----
|
||||
(0 rows)
|
||||
@ -560,40 +563,6 @@ WHERE p1.amopopr = p2.oid AND p1.amopclaid = p3.oid AND
|
||||
-----+-----+---------+-----+---------
|
||||
(0 rows)
|
||||
|
||||
-- Check that amopselect points to a proc with the right signature
|
||||
-- to be an access-method selectivity estimator.
|
||||
-- The proc signature we want is:
|
||||
-- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
|
||||
SELECT p1.oid, p2.oid, p2.proname
|
||||
FROM pg_amop AS p1, pg_proc AS p2
|
||||
WHERE p1.amopselect = p2.oid AND
|
||||
(p2.prorettype != 701 OR p2.proretset OR
|
||||
p2.pronargs != 7 OR
|
||||
p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
|
||||
p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
|
||||
p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
|
||||
p2.proargtypes[6] != 26);
|
||||
oid | oid | proname
|
||||
-----+-----+---------
|
||||
(0 rows)
|
||||
|
||||
-- Check that amopnpages points to a proc with the right signature
|
||||
-- to be an access-method page-count estimator.
|
||||
-- The proc signature we want is:
|
||||
-- float8 proc(oid, oid, int2, <any>, int4, int4, oid)
|
||||
SELECT p1.oid, p2.oid, p2.proname
|
||||
FROM pg_amop AS p1, pg_proc AS p2
|
||||
WHERE p1.amopnpages = p2.oid AND
|
||||
(p2.prorettype != 701 OR p2.proretset OR
|
||||
p2.pronargs != 7 OR
|
||||
p2.proargtypes[0] != 26 OR p2.proargtypes[1] != 26 OR
|
||||
p2.proargtypes[2] != 21 OR p2.proargtypes[3] != 0 OR
|
||||
p2.proargtypes[4] != 23 OR p2.proargtypes[5] != 23 OR
|
||||
p2.proargtypes[6] != 26);
|
||||
oid | oid | proname
|
||||
-----+-----+---------
|
||||
(0 rows)
|
||||
|
||||
-- **************** pg_amproc ****************
|
||||
-- Look for illegal values in pg_amproc fields
|
||||
SELECT p1.oid
|
||||
|
@ -1,8 +1,6 @@
|
||||
--
|
||||
-- OIDJOIN
|
||||
-- This is created by pgsql/contrib/findoidjoins/make_oidjoin_check
|
||||
--
|
||||
|
||||
SELECT oid, pg_aggregate.aggtransfn1
|
||||
FROM pg_aggregate
|
||||
WHERE pg_aggregate.aggtransfn1 != 0 AND
|
||||
@ -67,6 +65,10 @@ SELECT oid, pg_am.ambuild
|
||||
FROM pg_am
|
||||
WHERE pg_am.ambuild != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.ambuild);
|
||||
SELECT oid, pg_am.amcostestimate
|
||||
FROM pg_am
|
||||
WHERE pg_am.amcostestimate != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_am.amcostestimate);
|
||||
SELECT oid, pg_amop.amopid
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopid != 0 AND
|
||||
@ -79,14 +81,6 @@ SELECT oid, pg_amop.amopopr
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopopr != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_amop.amopopr);
|
||||
SELECT oid, pg_amop.amopselect
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopselect != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopselect);
|
||||
SELECT oid, pg_amop.amopnpages
|
||||
FROM pg_amop
|
||||
WHERE pg_amop.amopnpages != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_amop.amopnpages);
|
||||
SELECT oid, pg_amproc.amid
|
||||
FROM pg_amproc
|
||||
WHERE pg_amproc.amid != 0 AND
|
||||
@ -179,6 +173,22 @@ SELECT oid, pg_rewrite.ev_class
|
||||
FROM pg_rewrite
|
||||
WHERE pg_rewrite.ev_class != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_rewrite.ev_class);
|
||||
SELECT oid, pg_statistic.starelid
|
||||
FROM pg_statistic
|
||||
WHERE pg_statistic.starelid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_statistic.starelid);
|
||||
SELECT oid, pg_statistic.staop
|
||||
FROM pg_statistic
|
||||
WHERE pg_statistic.staop != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_operator AS t1 WHERE t1.oid = pg_statistic.staop);
|
||||
SELECT oid, pg_trigger.tgrelid
|
||||
FROM pg_trigger
|
||||
WHERE pg_trigger.tgrelid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_class AS t1 WHERE t1.oid = pg_trigger.tgrelid);
|
||||
SELECT oid, pg_trigger.tgfoid
|
||||
FROM pg_trigger
|
||||
WHERE pg_trigger.tgfoid != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_trigger.tgfoid);
|
||||
SELECT oid, pg_type.typrelid
|
||||
FROM pg_type
|
||||
WHERE pg_type.typrelid != 0 AND
|
||||
@ -203,4 +213,3 @@ SELECT oid, pg_type.typsend
|
||||
FROM pg_type
|
||||
WHERE pg_type.typsend != 0 AND
|
||||
NOT EXISTS(SELECT * FROM pg_proc AS t1 WHERE t1.oid = pg_type.typsend);
|
||||
|
||||
|
Reference in New Issue
Block a user