Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Use factorial rather than numeric_fac in create_operator.sql.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 18 Sep 2020 22:03:44 +0000 (18:03 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 18 Sep 2020 22:03:44 +0000 (18:03 -0400)
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
src/test/regress/sql/create_operator.sql

index 54e8b791595dc10408c064cad1abdb87271b044d..9e4d4e93fb79e464ecae4df90f43cfdaf2fd40ea 100644 (file)
@@ -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 operator created above
 SELECT point '(1,2)' <% widget '(0,0,3)' AS t,
@@ -40,7 +40,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 => (
@@ -50,7 +50,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? 
@@ -128,7 +128,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;
@@ -136,7 +136,7 @@ ROLLBACK;
 BEGIN TRANSACTION;
 CREATE OPERATOR #*# (
    leftarg = SETOF int8,
-   procedure = numeric_fac
+   procedure = factorial
 );
 ERROR:  SETOF type not allowed for operator argument
 ROLLBACK;
@@ -144,7 +144,7 @@ ROLLBACK;
 BEGIN TRANSACTION;
 CREATE OPERATOR #*# (
    rightarg = SETOF int8,
-   procedure = numeric_fac
+   procedure = factorial
 );
 ERROR:  SETOF type not allowed for operator argument
 ROLLBACK;
@@ -168,13 +168,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
index 8b6fd0bb43d62764ce1add88e239b324d1ae1383..c32da8c066a77d8cc2212aeafcfca1c7712b0d6a 100644 (file)
@@ -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 operator created above
@@ -42,7 +42,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
@@ -51,7 +51,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
@@ -85,7 +85,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;
 
@@ -94,7 +94,7 @@ ROLLBACK;
 BEGIN TRANSACTION;
 CREATE OPERATOR #*# (
    leftarg = SETOF int8,
-   procedure = numeric_fac
+   procedure = factorial
 );
 ROLLBACK;
 
@@ -103,7 +103,7 @@ ROLLBACK;
 BEGIN TRANSACTION;
 CREATE OPERATOR #*# (
    rightarg = SETOF int8,
-   procedure = numeric_fac
+   procedure = factorial
 );
 ROLLBACK;
 
@@ -129,13 +129,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