summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorPeter Eisentraut2021-03-06 18:25:45 +0000
committerPeter Eisentraut2021-03-06 18:28:05 +0000
commitf9a0392e1cf36179c984f655a6589734b8dd7468 (patch)
tree72cf42d84a56ebc5cb99caa648bffe2c2110147a /src/test
parent30b26dfac7db2fc76dafaa8a6c459871bfcd100e (diff)
Add bit_xor aggregate function
This can be used as a checksum for unordered sets. bit_and and bit_or already exist. Author: Alexey Bashtanov <bashtanov@imap.cc> Reviewed-by: Ibrar Ahmed <ibrar.ahmad@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/9d4582ae-ecfc-3a13-2238-6ab5a37c1f41@imap.cc
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/aggregates.out23
-rw-r--r--src/test/regress/sql/aggregates.sql12
2 files changed, 25 insertions, 10 deletions
diff --git a/src/test/regress/expected/aggregates.out b/src/test/regress/expected/aggregates.out
index 477fd1205c3..2c818d92534 100644
--- a/src/test/regress/expected/aggregates.out
+++ b/src/test/regress/expected/aggregates.out
@@ -742,11 +742,12 @@ CREATE TEMPORARY TABLE bitwise_test(
-- empty case
SELECT
BIT_AND(i2) AS "?",
- BIT_OR(i4) AS "?"
+ BIT_OR(i4) AS "?",
+ BIT_XOR(i8) AS "?"
FROM bitwise_test;
- ? | ?
----+---
- |
+ ? | ? | ?
+---+---+---
+ | |
(1 row)
COPY bitwise_test FROM STDIN NULL 'null';
@@ -762,11 +763,17 @@ SELECT
BIT_OR(i8) AS "7",
BIT_OR(i) AS "?",
BIT_OR(x) AS "7",
- BIT_OR(y) AS "1101"
+ BIT_OR(y) AS "1101",
+ BIT_XOR(i2) AS "5",
+ BIT_XOR(i4) AS "5",
+ BIT_XOR(i8) AS "5",
+ BIT_XOR(i) AS "?",
+ BIT_XOR(x) AS "7",
+ BIT_XOR(y) AS "1101"
FROM bitwise_test;
- 1 | 1 | 1 | ? | 0 | 0100 | 7 | 7 | 7 | ? | 7 | 1101
----+---+---+---+---+------+---+---+---+---+---+------
- 1 | 1 | 1 | 1 | 0 | 0100 | 7 | 7 | 7 | 3 | 7 | 1101
+ 1 | 1 | 1 | ? | 0 | 0100 | 7 | 7 | 7 | ? | 7 | 1101 | 5 | 5 | 5 | ? | 7 | 1101
+---+---+---+---+---+------+---+---+---+---+---+------+---+---+---+---+---+------
+ 1 | 1 | 1 | 1 | 0 | 0100 | 7 | 7 | 7 | 3 | 7 | 1101 | 5 | 5 | 5 | 2 | 7 | 1101
(1 row)
--
diff --git a/src/test/regress/sql/aggregates.sql b/src/test/regress/sql/aggregates.sql
index 54f5cf7ecc4..f9579af19a9 100644
--- a/src/test/regress/sql/aggregates.sql
+++ b/src/test/regress/sql/aggregates.sql
@@ -212,7 +212,8 @@ CREATE TEMPORARY TABLE bitwise_test(
-- empty case
SELECT
BIT_AND(i2) AS "?",
- BIT_OR(i4) AS "?"
+ BIT_OR(i4) AS "?",
+ BIT_XOR(i8) AS "?"
FROM bitwise_test;
COPY bitwise_test FROM STDIN NULL 'null';
@@ -234,7 +235,14 @@ SELECT
BIT_OR(i8) AS "7",
BIT_OR(i) AS "?",
BIT_OR(x) AS "7",
- BIT_OR(y) AS "1101"
+ BIT_OR(y) AS "1101",
+
+ BIT_XOR(i2) AS "5",
+ BIT_XOR(i4) AS "5",
+ BIT_XOR(i8) AS "5",
+ BIT_XOR(i) AS "?",
+ BIT_XOR(x) AS "7",
+ BIT_XOR(y) AS "1101"
FROM bitwise_test;
--