summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTom Lane2004-06-06 19:07:02 +0000
committerTom Lane2004-06-06 19:07:02 +0000
commit19e3bdd6c79568f902dc3613c69f0788f8de583f (patch)
treeea7a13ccad40925089145c7a0eae9f1f02372b45 /src/test
parent62c3e61e50baacadcb038690353a3abc1f474538 (diff)
Minor catalog cleanups for composite-type stuff. Adjust signatures shown
in pg_proc for record_in, record_out, etc to reflect that these routines now make use of the second OID parameter. Remove the ancient SET entry in pg_type, which is now highly unlikely to ever become used again. Adjust type_sanity regression test to match.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/type_sanity.out29
-rw-r--r--src/test/regress/sql/type_sanity.sql12
2 files changed, 25 insertions, 16 deletions
diff --git a/src/test/regress/expected/type_sanity.out b/src/test/regress/expected/type_sanity.out
index 8bd18ca29b2..71db213beae 100644
--- a/src/test/regress/expected/type_sanity.out
+++ b/src/test/regress/expected/type_sanity.out
@@ -56,7 +56,7 @@ WHERE (p1.typtype = 'c' AND p1.typrelid = 0) OR
(0 rows)
-- Look for basic types that don't have an array type.
--- NOTE: as of 7.3, this check finds SET, smgr, and unknown.
+-- NOTE: as of 7.5, this check finds smgr and unknown.
SELECT p1.oid, p1.typname
FROM pg_type as p1
WHERE p1.typtype in ('b') AND p1.typname NOT LIKE '\\_%' AND NOT EXISTS
@@ -65,10 +65,9 @@ WHERE p1.typtype in ('b') AND p1.typname NOT LIKE '\\_%' AND NOT EXISTS
p2.typelem = p1.oid);
oid | typname
-----+---------
- 32 | SET
210 | smgr
705 | unknown
-(3 rows)
+(2 rows)
-- Conversion routines must be provided except in 'c' entries.
SELECT p1.oid, p1.typname
@@ -84,6 +83,8 @@ SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = 'cstring'::regtype) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = 'cstring'::regtype AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.pronargs = 3 AND p2.proargtypes[0] = 'cstring'::regtype AND
p2.proargtypes[1] = 'oid'::regtype AND
p2.proargtypes[2] = 'int4'::regtype));
@@ -91,7 +92,7 @@ WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
-----+---------+-----+---------
(0 rows)
--- As of 7.3, this check finds SET and refcursor, which are borrowing
+-- As of 7.5, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
@@ -99,11 +100,10 @@ WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
(p1.typelem != 0 AND p1.typlen < 0) AND NOT
(p2.prorettype = p1.oid AND NOT p2.proretset)
ORDER BY 1;
- oid | typname | oid | proname
-------+-----------+-----+-----------
- 32 | SET | 109 | unknownin
+ oid | typname | oid | proname
+------+-----------+-----+---------
1790 | refcursor | 46 | textin
-(2 rows)
+(1 row)
-- Varlena array types will point to array_in
SELECT p1.oid, p1.typname, p2.oid, p2.proname
@@ -116,20 +116,21 @@ WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND
(0 rows)
-- Check for bogus typoutput routines
--- As of 7.3, this check finds SET and refcursor, which are borrowing
+-- As of 7.5, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typoutput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = p1.oid) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = p1.oid AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.oid = 'array_out'::regproc AND
p1.typelem != 0 AND p1.typlen = -1))
ORDER BY 1;
- oid | typname | oid | proname
-------+-----------+-----+------------
- 32 | SET | 110 | unknownout
+ oid | typname | oid | proname
+------+-----------+-----+---------
1790 | refcursor | 47 | textout
-(2 rows)
+(1 row)
SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
@@ -180,6 +181,8 @@ SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typsend = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = p1.oid) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = p1.oid AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.oid = 'array_send'::regproc AND
p1.typelem != 0 AND p1.typlen = -1))
ORDER BY 1;
diff --git a/src/test/regress/sql/type_sanity.sql b/src/test/regress/sql/type_sanity.sql
index 3c9004ce569..0c3751ef908 100644
--- a/src/test/regress/sql/type_sanity.sql
+++ b/src/test/regress/sql/type_sanity.sql
@@ -50,7 +50,7 @@ WHERE (p1.typtype = 'c' AND p1.typrelid = 0) OR
(p1.typtype != 'c' AND p1.typrelid != 0);
-- Look for basic types that don't have an array type.
--- NOTE: as of 7.3, this check finds SET, smgr, and unknown.
+-- NOTE: as of 7.5, this check finds smgr and unknown.
SELECT p1.oid, p1.typname
FROM pg_type as p1
@@ -72,11 +72,13 @@ SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = 'cstring'::regtype) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = 'cstring'::regtype AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.pronargs = 3 AND p2.proargtypes[0] = 'cstring'::regtype AND
p2.proargtypes[1] = 'oid'::regtype AND
p2.proargtypes[2] = 'int4'::regtype));
--- As of 7.3, this check finds SET and refcursor, which are borrowing
+-- As of 7.5, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
@@ -94,12 +96,14 @@ WHERE p1.typinput = p2.oid AND p1.typtype in ('b', 'p') AND
-- Check for bogus typoutput routines
--- As of 7.3, this check finds SET and refcursor, which are borrowing
+-- As of 7.5, this check finds refcursor, which is borrowing
-- other types' I/O routines
SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typoutput = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = p1.oid) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = p1.oid AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.oid = 'array_out'::regproc AND
p1.typelem != 0 AND p1.typlen = -1))
ORDER BY 1;
@@ -142,6 +146,8 @@ SELECT p1.oid, p1.typname, p2.oid, p2.proname
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typsend = p2.oid AND p1.typtype in ('b', 'p') AND NOT
((p2.pronargs = 1 AND p2.proargtypes[0] = p1.oid) OR
+ (p2.pronargs = 2 AND p2.proargtypes[0] = p1.oid AND
+ p2.proargtypes[1] = 'oid'::regtype) OR
(p2.oid = 'array_send'::regproc AND
p1.typelem != 0 AND p1.typlen = -1))
ORDER BY 1;