);
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,
-- => is disallowed now
CREATE OPERATOR => (
leftarg = int8, -- right unary
- procedure = numeric_fac
+ procedure = factorial
);
ERROR: syntax error at or near "=>"
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?
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;
BEGIN TRANSACTION;
CREATE OPERATOR #*# (
leftarg = SETOF int8,
- procedure = numeric_fac
+ procedure = factorial
);
ERROR: SETOF type not allowed for operator argument
ROLLBACK;
BEGIN TRANSACTION;
CREATE OPERATOR #*# (
rightarg = SETOF int8,
- procedure = numeric_fac
+ procedure = factorial
);
ERROR: SETOF type not allowed for operator argument
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
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
-- => is disallowed now
CREATE OPERATOR => (
leftarg = int8, -- right unary
- procedure = numeric_fac
+ procedure = factorial
);
-- lexing of <=, >=, <>, != has a number of edge cases
-- 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
SET ROLE regress_rol_op1;
CREATE OPERATOR schema_op1.#*# (
leftarg = int8, -- right unary
- procedure = numeric_fac
+ procedure = factorial
);
ROLLBACK;
BEGIN TRANSACTION;
CREATE OPERATOR #*# (
leftarg = SETOF int8,
- procedure = numeric_fac
+ procedure = factorial
);
ROLLBACK;
BEGIN TRANSACTION;
CREATE OPERATOR #*# (
rightarg = SETOF int8,
- procedure = numeric_fac
+ procedure = factorial
);
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