mirror of
https://github.com/postgres/postgres.git
synced 2025-05-05 09:19:17 +03:00
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
This commit is contained in:
parent
fcc3665a03
commit
a950fb0734
@ -16,15 +16,15 @@ CREATE OPERATOR <% (
|
|||||||
);
|
);
|
||||||
CREATE OPERATOR @#@ (
|
CREATE OPERATOR @#@ (
|
||||||
rightarg = int8, -- left unary
|
rightarg = int8, -- left unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
CREATE OPERATOR #@# (
|
CREATE OPERATOR #@# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
CREATE OPERATOR #%# (
|
CREATE OPERATOR #%# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
-- Test comments
|
-- Test comments
|
||||||
COMMENT ON OPERATOR ###### (int4, NONE) IS 'bad right unary';
|
COMMENT ON OPERATOR ###### (int4, NONE) IS 'bad right unary';
|
||||||
@ -32,7 +32,7 @@ ERROR: operator does not exist: integer ######
|
|||||||
-- => is disallowed now
|
-- => is disallowed now
|
||||||
CREATE OPERATOR => (
|
CREATE OPERATOR => (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ERROR: syntax error at or near "=>"
|
ERROR: syntax error at or near "=>"
|
||||||
LINE 1: CREATE OPERATOR => (
|
LINE 1: CREATE OPERATOR => (
|
||||||
@ -42,7 +42,7 @@ LINE 1: CREATE OPERATOR => (
|
|||||||
-- this is legal because ! is not allowed in sql ops
|
-- this is legal because ! is not allowed in sql ops
|
||||||
CREATE OPERATOR !=- (
|
CREATE OPERATOR !=- (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
SELECT 2 !=-;
|
SELECT 2 !=-;
|
||||||
?column?
|
?column?
|
||||||
@ -120,7 +120,7 @@ REVOKE USAGE ON SCHEMA schema_op1 FROM regress_rol_op1;
|
|||||||
SET ROLE regress_rol_op1;
|
SET ROLE regress_rol_op1;
|
||||||
CREATE OPERATOR schema_op1.#*# (
|
CREATE OPERATOR schema_op1.#*# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ERROR: permission denied for schema schema_op1
|
ERROR: permission denied for schema schema_op1
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
@ -128,7 +128,7 @@ ROLLBACK;
|
|||||||
BEGIN TRANSACTION;
|
BEGIN TRANSACTION;
|
||||||
CREATE OPERATOR #*# (
|
CREATE OPERATOR #*# (
|
||||||
leftarg = SETOF int8,
|
leftarg = SETOF int8,
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ERROR: SETOF type not allowed for operator argument
|
ERROR: SETOF type not allowed for operator argument
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
@ -136,7 +136,7 @@ ROLLBACK;
|
|||||||
BEGIN TRANSACTION;
|
BEGIN TRANSACTION;
|
||||||
CREATE OPERATOR #*# (
|
CREATE OPERATOR #*# (
|
||||||
rightarg = SETOF int8,
|
rightarg = SETOF int8,
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ERROR: SETOF type not allowed for operator argument
|
ERROR: SETOF type not allowed for operator argument
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
@ -160,13 +160,13 @@ ROLLBACK;
|
|||||||
-- Should fail. Invalid attribute
|
-- Should fail. Invalid attribute
|
||||||
CREATE OPERATOR #@%# (
|
CREATE OPERATOR #@%# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac,
|
procedure = factorial,
|
||||||
invalid_att = int8
|
invalid_att = int8
|
||||||
);
|
);
|
||||||
WARNING: operator attribute "invalid_att" not recognized
|
WARNING: operator attribute "invalid_att" not recognized
|
||||||
-- Should fail. At least leftarg or rightarg should be mandatorily specified
|
-- Should fail. At least leftarg or rightarg should be mandatorily specified
|
||||||
CREATE OPERATOR #@%# (
|
CREATE OPERATOR #@%# (
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ERROR: at least one of leftarg or rightarg must be specified
|
ERROR: at least one of leftarg or rightarg must be specified
|
||||||
-- Should fail. Procedure should be mandatorily specified
|
-- Should fail. Procedure should be mandatorily specified
|
||||||
|
@ -19,17 +19,17 @@ CREATE OPERATOR <% (
|
|||||||
|
|
||||||
CREATE OPERATOR @#@ (
|
CREATE OPERATOR @#@ (
|
||||||
rightarg = int8, -- left unary
|
rightarg = int8, -- left unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE OPERATOR #@# (
|
CREATE OPERATOR #@# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE OPERATOR #%# (
|
CREATE OPERATOR #%# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Test comments
|
-- Test comments
|
||||||
@ -38,7 +38,7 @@ COMMENT ON OPERATOR ###### (int4, NONE) IS 'bad right unary';
|
|||||||
-- => is disallowed now
|
-- => is disallowed now
|
||||||
CREATE OPERATOR => (
|
CREATE OPERATOR => (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
|
|
||||||
-- lexing of <=, >=, <>, != has a number of edge cases
|
-- lexing of <=, >=, <>, != has a number of edge cases
|
||||||
@ -47,7 +47,7 @@ CREATE OPERATOR => (
|
|||||||
-- this is legal because ! is not allowed in sql ops
|
-- this is legal because ! is not allowed in sql ops
|
||||||
CREATE OPERATOR !=- (
|
CREATE OPERATOR !=- (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
SELECT 2 !=-;
|
SELECT 2 !=-;
|
||||||
-- make sure lexer returns != as <> even in edge cases
|
-- 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;
|
SET ROLE regress_rol_op1;
|
||||||
CREATE OPERATOR schema_op1.#*# (
|
CREATE OPERATOR schema_op1.#*# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ ROLLBACK;
|
|||||||
BEGIN TRANSACTION;
|
BEGIN TRANSACTION;
|
||||||
CREATE OPERATOR #*# (
|
CREATE OPERATOR #*# (
|
||||||
leftarg = SETOF int8,
|
leftarg = SETOF int8,
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ ROLLBACK;
|
|||||||
BEGIN TRANSACTION;
|
BEGIN TRANSACTION;
|
||||||
CREATE OPERATOR #*# (
|
CREATE OPERATOR #*# (
|
||||||
rightarg = SETOF int8,
|
rightarg = SETOF int8,
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
@ -125,13 +125,13 @@ ROLLBACK;
|
|||||||
-- Should fail. Invalid attribute
|
-- Should fail. Invalid attribute
|
||||||
CREATE OPERATOR #@%# (
|
CREATE OPERATOR #@%# (
|
||||||
leftarg = int8, -- right unary
|
leftarg = int8, -- right unary
|
||||||
procedure = numeric_fac,
|
procedure = factorial,
|
||||||
invalid_att = int8
|
invalid_att = int8
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Should fail. At least leftarg or rightarg should be mandatorily specified
|
-- Should fail. At least leftarg or rightarg should be mandatorily specified
|
||||||
CREATE OPERATOR #@%# (
|
CREATE OPERATOR #@%# (
|
||||||
procedure = numeric_fac
|
procedure = factorial
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Should fail. Procedure should be mandatorily specified
|
-- Should fail. Procedure should be mandatorily specified
|
||||||
|
Loading…
x
Reference in New Issue
Block a user