Basic CREATE OPERATOR tests
authorIan Barwick <ian@2ndquadrant.com>
Tue, 16 Dec 2014 23:54:43 +0000 (08:54 +0900)
committerIan Barwick <ian@2ndquadrant.com>
Tue, 16 Dec 2014 23:54:43 +0000 (08:54 +0900)
src/test/regress/ddl-deparse/ddl-schedule
src/test/regress/ddl-deparse/expected/create_operator.out [new file with mode: 0644]
src/test/regress/ddl-deparse/sql/create_operator.sql [new file with mode: 0644]

index 1189a12df1405829e497e033082aa38dbc34dd86..049210bf3b17347b93e93100f22d60a8373111b2 100644 (file)
@@ -14,6 +14,7 @@ test: create_schema
 test: create_type_enum
 test: create_type_range
 test: create_type
+test: create_operator
 test: create_domain
 test: create_sequence_1
 test: create_table
diff --git a/src/test/regress/ddl-deparse/expected/create_operator.out b/src/test/regress/ddl-deparse/expected/create_operator.out
new file mode 100644 (file)
index 0000000..42261e0
--- /dev/null
@@ -0,0 +1,32 @@
+---
+--- CREATE_OPERATOR
+---
+CREATE OPERATOR @#@ (
+   rightarg = int8,        -- left unary
+   procedure = numeric_fac
+);
+CREATE OPERATOR #@# (
+   leftarg = int8,     -- right unary
+   procedure = numeric_fac
+);
+CREATE OPERATOR #%# (
+   leftarg = int8,     -- right unary
+   procedure = numeric_fac
+);
+CREATE OR REPLACE FUNCTION fn_op2(boolean, boolean)
+  RETURNS boolean
+  LANGUAGE sql
+  IMMUTABLE
+AS $$
+  SELECT NULL::BOOLEAN;
+$$;
+CREATE OPERATOR === (
+    LEFTARG = boolean,
+    RIGHTARG = boolean,
+    PROCEDURE = fn_op2,
+    COMMUTATOR = ===,
+    NEGATOR = !==,
+    RESTRICT = contsel,
+    JOIN = contjoinsel,
+    SORT1, SORT2, LTCMP, GTCMP, HASHES, MERGES
+);
diff --git a/src/test/regress/ddl-deparse/sql/create_operator.sql b/src/test/regress/ddl-deparse/sql/create_operator.sql
new file mode 100644 (file)
index 0000000..9ebe556
--- /dev/null
@@ -0,0 +1,39 @@
+---
+--- CREATE_OPERATOR
+---
+
+
+
+CREATE OPERATOR @#@ (
+   rightarg = int8,        -- left unary
+   procedure = numeric_fac
+);
+
+CREATE OPERATOR #@# (
+   leftarg = int8,     -- right unary
+   procedure = numeric_fac
+);
+
+CREATE OPERATOR #%# (
+   leftarg = int8,     -- right unary
+   procedure = numeric_fac
+);
+
+CREATE OR REPLACE FUNCTION fn_op2(boolean, boolean)
+  RETURNS boolean
+  LANGUAGE sql
+  IMMUTABLE
+AS $$
+  SELECT NULL::BOOLEAN;
+$$;
+
+CREATE OPERATOR === (
+    LEFTARG = boolean,
+    RIGHTARG = boolean,
+    PROCEDURE = fn_op2,
+    COMMUTATOR = ===,
+    NEGATOR = !==,
+    RESTRICT = contsel,
+    JOIN = contjoinsel,
+    SORT1, SORT2, LTCMP, GTCMP, HASHES, MERGES
+);