-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
5,276 additions
and
7,276 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; |
Oops, something went wrong.