Skip to content

Commit

Permalink
Detach bitstring test
Browse files Browse the repository at this point in the history
  • Loading branch information
mkgrgis committed Jan 12, 2024
1 parent 06ee232 commit 9bc53a4
Show file tree
Hide file tree
Showing 23 changed files with 5,276 additions and 7,276 deletions.
810 changes: 810 additions & 0 deletions expected/12.16/extra/bitstring.out

Large diffs are not rendered by default.

762 changes: 3 additions & 759 deletions expected/12.16/type.out

Large diffs are not rendered by default.

810 changes: 810 additions & 0 deletions expected/13.12/extra/bitstring.out

Large diffs are not rendered by default.

1,328 changes: 4 additions & 1,324 deletions expected/13.12/type.out

Large diffs are not rendered by default.

810 changes: 810 additions & 0 deletions expected/14.9/extra/bitstring.out

Large diffs are not rendered by default.

1,330 changes: 4 additions & 1,326 deletions expected/14.9/type.out

Large diffs are not rendered by default.

810 changes: 810 additions & 0 deletions expected/15.4/extra/bitstring.out

Large diffs are not rendered by default.

1,330 changes: 4 additions & 1,326 deletions expected/15.4/type.out

Large diffs are not rendered by default.

810 changes: 810 additions & 0 deletions expected/16.0/extra/bitstring.out

Large diffs are not rendered by default.

804 changes: 3 additions & 801 deletions expected/16.0/type.out

Large diffs are not rendered by default.

231 changes: 231 additions & 0 deletions sql/12.16/extra/bitstring.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
--SET log_min_messages TO DEBUG1;
--SET client_min_messages TO DEBUG1;
--Testcase 001:
CREATE EXTENSION sqlite_fdw;
--Testcase 002:
CREATE SERVER sqlite_svr FOREIGN DATA WRAPPER sqlite_fdw
OPTIONS (database '/tmp/sqlitefdw_test.db');

--Testcase 003:
CREATE SERVER sqlite2 FOREIGN DATA WRAPPER sqlite_fdw;

--Testcase 02:
CREATE FOREIGN TABLE "type_BIT"( "i" int OPTIONS (key 'true'), "b" bit(6)) SERVER sqlite_svr OPTIONS (table 'type_BIT');
--Testcase 03:
DROP FOREIGN TABLE IF EXISTS "type_BIT+";
--Testcase 04:
CREATE FOREIGN TABLE "type_BIT+"( "i" int OPTIONS (key 'true'), "b" bit(6), "t" text, "l" smallint, "bi" bigint OPTIONS (column_name 'b')) SERVER sqlite_svr OPTIONS (table 'type_BIT+');
--Testcase 05: type mismatch
INSERT INTO "type_BIT" ("i", "b") VALUES (1, 1);
--Testcase 06: type mismatch
INSERT INTO "type_BIT" ("i", "b") VALUES (2, 2);
--Testcase 07: improper data length
INSERT INTO "type_BIT" ("i", "b") VALUES (3, '1');
--Testcase 08: improper data length
INSERT INTO "type_BIT" ("i", "b") VALUES (4, '10');
--Testcase 09: improper data length
INSERT INTO "type_BIT" ("i", "b") VALUES (5, '101');
--Testcase 10:
INSERT INTO "type_BIT" ("i", "b") VALUES (6, '110110');
--Testcase 11:
INSERT INTO "type_BIT" ("i", "b") VALUES (7, '111001');
--Testcase 12:
INSERT INTO "type_BIT" ("i", "b") VALUES (8, '110000');
--Testcase 13:
INSERT INTO "type_BIT" ("i", "b") VALUES (9, '100001');
--Testcase 14: type mismatch with proper data length
INSERT INTO "type_BIT" ("i", "b") VALUES (10, 53);
--Testcase 15:
SELECT * FROM "type_BIT+";
--Testcase 16:
SELECT * FROM "type_BIT" WHERE b < '110110';
--Testcase 17:
SELECT * FROM "type_BIT" WHERE b > '110110';
--Testcase 18:
SELECT * FROM "type_BIT" WHERE b = '110110';

--Testcase 20:
CREATE FOREIGN TABLE "type_VARBIT"( "i" int OPTIONS (key 'true'), "b" varbit(70)) SERVER sqlite_svr OPTIONS (table 'type_VARBIT');
--Testcase 21:
DROP FOREIGN TABLE IF EXISTS "type_VARBIT+";
--Testcase 22:
CREATE FOREIGN TABLE "type_VARBIT+"( "i" int OPTIONS (key 'true'), "b" varbit(70), "t" text, "l" smallint) SERVER sqlite_svr OPTIONS (table 'type_VARBIT+');
--Testcase 23:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (1, '1');
--Testcase 24:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (2, '10');
--Testcase 25:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (3, '11');
--Testcase 26:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (4, '100');
--Testcase 27:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (5, '101');
--Testcase 28:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (6, '110110');
--Testcase 29:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (7, '111001');
--Testcase 30:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (8, '110000');
--Testcase 31:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (9, '100001');
--Testcase 32:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (10, '0100100101011001010010101000111110110101101101111011000101010');
--Testcase 33:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (11, '01001001010110010100101010001111101101011011011110110001010101');

--Testcase 34:
SELECT * FROM "type_VARBIT+";
--Testcase 35:
SELECT * FROM "type_VARBIT+" WHERE b < '110110';
--Testcase 36:
SELECT * FROM "type_VARBIT+" WHERE b > '110110';
--Testcase 37:
SELECT * FROM "type_VARBIT+" WHERE b = '110110';

--Testcase 38:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (12, '010010010101100101001010100011111011010110110111101100010101010');
--Testcase 39:
INSERT INTO "type_VARBIT" ("i", "b") VALUES (13, '0100100101011001010010101000111110110101101101111011000101010101');
--Testcase 40: very long bit string, expected ERROR, 65 bits
INSERT INTO "type_VARBIT" ("i", "b") VALUES (14, '01001001010110010100101010001111101101011011011110110001010101010');
--Testcase 41:
SELECT * FROM "type_VARBIT+" WHERE "i" > 10;

--Testcase 42:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" | b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 43:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" & b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 44:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" # b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 45:
SELECT "i", "b", "b" >> 2 "res" FROM "type_BIT";
--Testcase 46:
SELECT "i", "b", "b" << 3 "res" FROM "type_BIT";
--Testcase 47:
SELECT "i", "b", ~ "b" "res" FROM "type_BIT";
--Testcase 48:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" | b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 49:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" & b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 50:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" # b2."b" "res" FROM "type_BIT" b1 INNER JOIN "type_BIT" b2 ON true;
--Testcase 51:
EXPLAIN VERBOSE
SELECT "i", "b", "b" >> 2 "res" FROM "type_BIT";
--Testcase 52:
EXPLAIN VERBOSE
SELECT "i", "b", "b" << 3 "res" FROM "type_BIT";
--Testcase 53:
EXPLAIN VERBOSE
SELECT "i", "b", ~ "b" "res" FROM "type_BIT";

--Testcase 54:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" | b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 55:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" & b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 56:
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" # b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 57:
SELECT "i", "b", "b" >> 2 "res" FROM "type_VARBIT";
--Testcase 58:
SELECT "i", "b", "b" << 3 "res" FROM "type_VARBIT";
--Testcase 59:
SELECT "i", "b", ~ "b" "res" FROM "type_VARBIT";
--Testcase 60:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" | b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 61:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" & b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 62:
EXPLAIN VERBOSE
SELECT b1."i" "i₁", b1."b" "b₁", b2."i" "i₂", b2."b" "b₂", b1."b" # b2."b" "res" FROM "type_VARBIT" b1 INNER JOIN "type_VARBIT" b2 ON true;
--Testcase 63:
EXPLAIN VERBOSE
SELECT "i", "b", "b" >> 2 "res" FROM "type_VARBIT";
--Testcase 64:
EXPLAIN VERBOSE
SELECT "i", "b", "b" << 3 "res" FROM "type_VARBIT";
--Testcase 65:
EXPLAIN VERBOSE
SELECT "i", "b", ~ "b" "res" FROM "type_VARBIT";

--Testcase 66:
SELECT "i", "b", "b" & B'101011' "res" FROM "type_BIT";
--Testcase 67:
SELECT "i", "b", "b" | B'101011' "res" FROM "type_BIT";
--Testcase 68:
SELECT "i", "b", "b" # B'101011' "res" FROM "type_BIT";
--Testcase 69:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" & B'101011') IS NOT NULL;
--Testcase 70:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" | B'101011') IS NOT NULL;
--Testcase 71:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" # B'101011') IS NOT NULL;
--Testcase 72:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" >> 1) IS NOT NULL;
--Testcase 73:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" << 2) IS NOT NULL;
--Testcase 74:
SELECT "i", "b" FROM "type_BIT" WHERE (~ "b") IS NOT NULL;
--Testcase 75:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" & B'101011') IS NOT NULL;
--Testcase 76:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" | B'101011') IS NOT NULL;
--Testcase 77:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" # B'101011') IS NOT NULL;
--Testcase 78:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" >> 1) IS NOT NULL;
--Testcase 79:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" << 2) IS NOT NULL;
--Testcase 80:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE (~ "b") IS NOT NULL;

--Testcase 81:
SELECT "i", "b", "b" & B'101011' "res" FROM "type_BIT";
--Testcase 82:
SELECT "i", "b", "b" | B'101011' "res" FROM "type_BIT";
--Testcase 83:
SELECT "i", "b", "b" # B'101011' "res" FROM "type_BIT";
--Testcase 84:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" & B'101011') IS NOT NULL;
--Testcase 85:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" | B'101011') IS NOT NULL;
--Testcase 86:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" # B'101011') IS NOT NULL;
--Testcase 87:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" >> 1) IS NOT NULL;
--Testcase 88:
SELECT "i", "b" FROM "type_BIT" WHERE ("b" << 2) IS NOT NULL;
--Testcase 89:
SELECT "i", "b" FROM "type_BIT" WHERE (~ "b") IS NOT NULL;
--Testcase 90:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" & B'101011') IS NOT NULL;
--Testcase 91:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" | B'101011') IS NOT NULL;
--Testcase 92:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" # B'101011') IS NOT NULL;
--Testcase 93:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" >> 1) IS NOT NULL;
--Testcase 94:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE ("b" << 2) IS NOT NULL;
--Testcase 95:
EXPLAIN VERBOSE
SELECT "i", "b" FROM "type_BIT" WHERE (~ "b") IS NOT NULL;

--Testcase 005:
DROP EXTENSION sqlite_fdw CASCADE;
Loading

0 comments on commit 9bc53a4

Please sign in to comment.