aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-09-18 18:03:44 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2020-09-18 18:03:44 -0400
commit760b8fe766bce62fa00fb22dc60315418288a1a8 (patch)
treedb6db21f9eff535b565ef6d5ab9cba0ec9dba940
parent6a7a5fce9a7421cc0e07341921787f55a814249b (diff)
downloadpostgresql-760b8fe766bce62fa00fb22dc60315418288a1a8.tar.gz
postgresql-760b8fe766bce62fa00fb22dc60315418288a1a8.zip
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
-rw-r--r--src/test/regress/expected/create_operator.out20
-rw-r--r--src/test/regress/sql/create_operator.sql20
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 f3e41777318..a673edf097c 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 0579cb95e1d..330c5288549 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