From a950fb0734267ebdc48e3a03b234b42f81135a9e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 18 Sep 2020 18:03:44 -0400 Subject: [PATCH] Use factorial rather than numeric_fac in create_operator.sql. These two SQL functions are aliases for the same C function, so this change has no semantic effect. However, because we dropped the numeric_fac alias in HEAD (commit 76f412ab3), operator definitions based on that one don't port forward, causing problems for cross-version upgrade tests based on the regression database. Patch all active back branches to dodge the problem. Discussion: https://postgr.es/m/449144.1600439950@sss.pgh.pa.us --- src/test/regress/expected/create_operator.out | 20 +++++++++---------- src/test/regress/sql/create_operator.sql | 20 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/test/regress/expected/create_operator.out b/src/test/regress/expected/create_operator.out index f3e4177731..a673edf097 100644 --- a/src/test/regress/expected/create_operator.out +++ b/src/test/regress/expected/create_operator.out @@ -16,15 +16,15 @@ CREATE OPERATOR <% ( ); CREATE OPERATOR @#@ ( rightarg = int8, -- left unary - procedure = numeric_fac + procedure = factorial ); CREATE OPERATOR #@# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); CREATE OPERATOR #%# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); -- Test comments COMMENT ON OPERATOR ###### (int4, NONE) IS 'bad right unary'; @@ -32,7 +32,7 @@ ERROR: operator does not exist: integer ###### -- => is disallowed now CREATE OPERATOR => ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); ERROR: syntax error at or near "=>" LINE 1: CREATE OPERATOR => ( @@ -42,7 +42,7 @@ LINE 1: CREATE OPERATOR => ( -- this is legal because ! is not allowed in sql ops CREATE OPERATOR !=- ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); SELECT 2 !=-; ?column? @@ -120,7 +120,7 @@ REVOKE USAGE ON SCHEMA schema_op1 FROM regress_rol_op1; SET ROLE regress_rol_op1; CREATE OPERATOR schema_op1.#*# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); ERROR: permission denied for schema schema_op1 ROLLBACK; @@ -128,7 +128,7 @@ ROLLBACK; BEGIN TRANSACTION; CREATE OPERATOR #*# ( leftarg = SETOF int8, - procedure = numeric_fac + procedure = factorial ); ERROR: SETOF type not allowed for operator argument ROLLBACK; @@ -136,7 +136,7 @@ ROLLBACK; BEGIN TRANSACTION; CREATE OPERATOR #*# ( rightarg = SETOF int8, - procedure = numeric_fac + procedure = factorial ); ERROR: SETOF type not allowed for operator argument ROLLBACK; @@ -160,13 +160,13 @@ ROLLBACK; -- Should fail. Invalid attribute CREATE OPERATOR #@%# ( leftarg = int8, -- right unary - procedure = numeric_fac, + procedure = factorial, invalid_att = int8 ); WARNING: operator attribute "invalid_att" not recognized -- Should fail. At least leftarg or rightarg should be mandatorily specified CREATE OPERATOR #@%# ( - procedure = numeric_fac + procedure = factorial ); ERROR: at least one of leftarg or rightarg must be specified -- Should fail. Procedure should be mandatorily specified diff --git a/src/test/regress/sql/create_operator.sql b/src/test/regress/sql/create_operator.sql index 0579cb95e1..330c528854 100644 --- a/src/test/regress/sql/create_operator.sql +++ b/src/test/regress/sql/create_operator.sql @@ -19,17 +19,17 @@ CREATE OPERATOR <% ( CREATE OPERATOR @#@ ( rightarg = int8, -- left unary - procedure = numeric_fac + procedure = factorial ); CREATE OPERATOR #@# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); CREATE OPERATOR #%# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); -- Test comments @@ -38,7 +38,7 @@ COMMENT ON OPERATOR ###### (int4, NONE) IS 'bad right unary'; -- => is disallowed now CREATE OPERATOR => ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); -- lexing of <=, >=, <>, != has a number of edge cases @@ -47,7 +47,7 @@ CREATE OPERATOR => ( -- this is legal because ! is not allowed in sql ops CREATE OPERATOR !=- ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); SELECT 2 !=-; -- make sure lexer returns != as <> even in edge cases @@ -81,7 +81,7 @@ REVOKE USAGE ON SCHEMA schema_op1 FROM regress_rol_op1; SET ROLE regress_rol_op1; CREATE OPERATOR schema_op1.#*# ( leftarg = int8, -- right unary - procedure = numeric_fac + procedure = factorial ); ROLLBACK; @@ -90,7 +90,7 @@ ROLLBACK; BEGIN TRANSACTION; CREATE OPERATOR #*# ( leftarg = SETOF int8, - procedure = numeric_fac + procedure = factorial ); ROLLBACK; @@ -99,7 +99,7 @@ ROLLBACK; BEGIN TRANSACTION; CREATE OPERATOR #*# ( rightarg = SETOF int8, - procedure = numeric_fac + procedure = factorial ); ROLLBACK; @@ -125,13 +125,13 @@ ROLLBACK; -- Should fail. Invalid attribute CREATE OPERATOR #@%# ( leftarg = int8, -- right unary - procedure = numeric_fac, + procedure = factorial, invalid_att = int8 ); -- Should fail. At least leftarg or rightarg should be mandatorily specified CREATE OPERATOR #@%# ( - procedure = numeric_fac + procedure = factorial ); -- Should fail. Procedure should be mandatorily specified