branch: elpa/pg
commit 03e05a24f6e68c1d6c337cbf3b00f46a1f9f4f46
Author: Eric Marsden <[email protected]>
Commit: Eric Marsden <[email protected]>
Tests: add orkarounds for PostgreSQL variant Stoolap
---
test/test-pg.el | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/test/test-pg.el b/test/test-pg.el
index 469e87c6cb0..bb689df2584 100755
--- a/test/test-pg.el
+++ b/test/test-pg.el
@@ -312,13 +312,14 @@
(message "Backend major-version is %s" (pgcon-server-version-major con))
(message "Detected backend variant: %s" (pgcon-server-variant con))
(unless (member (pgcon-server-variant con)
- '(cockroachdb cratedb yugabyte ydb xata greptimedb
risingwave clickhouse octodb vertica arcadedb cedardb pgsqlite datafusion))
+ '(cockroachdb cratedb yugabyte ydb xata greptimedb
risingwave clickhouse octodb vertica arcadedb
+ cedardb pgsqlite datafusion stoolap))
(when (> (pgcon-server-version-major con) 11)
(let* ((res (pg-exec con "SELECT current_setting('ssl_library')"))
(row (pg-result res :tuple 0)))
(message "Backend compiled with SSL library %s" (cl-first row)))))
(unless (member (pgcon-server-variant con)
- '(questdb cratedb ydb xata greptimedb risingwave
clickhouse materialize vertica arcadedb datafusion))
+ '(questdb cratedb ydb xata greptimedb risingwave
clickhouse materialize vertica arcadedb datafusion stoolap))
(let* ((res (pg-exec con "SHOW ssl"))
(row (pg-result res :tuple 0)))
(message "PostgreSQL connection TLS: %s" (cl-first row))))
@@ -327,9 +328,9 @@
(message "List of tables in db: %s" (pg-tables con))
(when (eq 'orioledb (pgcon-server-variant con))
(pg-exec con "CREATE EXTENSION IF NOT EXISTS orioledb"))
- (unless (member (pgcon-server-variant con) '(clickhouse alloydb
risingwave))
+ (unless (member (pgcon-server-variant con) '(clickhouse alloydb
risingwave stoolap))
(pg-setup-postgis con))
- (unless (member (pgcon-server-variant con) '(clickhouse risingwave))
+ (unless (member (pgcon-server-variant con) '(clickhouse risingwave
stoolap))
(pg-vector-setup con))
(pgtest-add #'pg-test-basic)
(pgtest-add #'pg-test-insert)
@@ -368,7 +369,7 @@
(pgtest-add #'pg-test-collation
:skip-variants '(xata cratedb questdb clickhouse greptimedb
octodb vertica yellowbrick datafusion))
(pgtest-add #'pg-test-xml
- :skip-variants '(xata ydb cockroachdb yugabyte clickhouse
alloydb vertica opengauss))
+ :skip-variants '(xata ydb cockroachdb yugabyte clickhouse
alloydb vertica opengauss datafusion))
(pgtest-add #'pg-test-uuid
:skip-variants '(cratedb risingwave ydb clickhouse
greptimedb spanner octodb vertica yellowbrick datafusion))
;; Risingwave doesn't support VARCHAR(N) type. YDB and Vertica don't
support SELECT generate_series().
@@ -395,14 +396,14 @@
(pgtest-add #'pg-test-comments
:skip-variants '(ydb cratedb cockroachdb spanner questdb
thenile cedardb datafusion))
(pgtest-add #'pg-test-metadata
- :skip-variants '(cratedb cockroachdb risingwave materialize
questdb greptimedb ydb spanner vertica))
+ :skip-variants '(cratedb cockroachdb risingwave materialize
questdb greptimedb ydb spanner vertica datafusion))
;; CrateDB doesn't support the JSONB type. CockroachDB doesn't support
casting to JSON.
(pgtest-add #'pg-test-json
:skip-variants '(xata cratedb risingwave questdb greptimedb
ydb materialize spanner octodb vertica cedardb datafusion))
(pgtest-add #'pg-test-schemas
:skip-variants '(xata cratedb risingwave questdb ydb
materialize yellowbrick))
(pgtest-add #'pg-test-hstore
- :skip-variants '(risingwave materialize octodb readyset
vertica cockroachdb))
+ :skip-variants '(risingwave materialize octodb readyset
vertica cockroachdb datafusion))
;; Xata doesn't support extensions, but doesn't signal an SQL error when
we attempt to load the
;; pgvector extension, so our test fails despite being intended to be
robust.
(pgtest-add #'pg-test-vector
@@ -416,7 +417,7 @@
:skip-variants '(xata cratedb cockroachdb risingwave questdb
materialize spanner octodb vertica cedardb
yellowbrick datafusion))
(pgtest-add #'pg-test-gis
- :skip-variants '(xata cratedb cockroachdb risingwave
materialize octodb))
+ :skip-variants '(xata cratedb cockroachdb risingwave
materialize octodb datafusion))
(pgtest-add #'pg-test-copy
:skip-variants '(spanner ydb cratedb risingwave materialize
questdb xata vertica yellowbrick datafusion))
;; QuestDB fails due to lack of support for the NUMERIC type
@@ -546,7 +547,7 @@
(should (or (string= "text" (cl-first typs))
;; RisingWave returns this
(string= "character varying" (cl-first typs)))))
- (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize ydb yellowbrick))
+ (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize ydb yellowbrick datafusion))
(let ((bv1 (make-bool-vector 1 nil))
(bv2 (make-bool-vector 1 t)))
(should (equal bv1 (scalar "SELECT $1::bit" `((,bv1 . "bit")))))
@@ -931,7 +932,7 @@ bar$$"))))
(let ((count 100))
(when (pgtest-have-table con "count_test")
(pg-exec con "DROP TABLE count_test"))
- (let ((sql (pgtest-massage con "CREATE TABLE count_test(key INT PRIMARY
KEY, val INT) %s"
+ (let ((sql (pgtest-massage con "CREATE TABLE count_test(mykey INT
PRIMARY KEY, val INT) %s"
(if (eq 'orioledb (pgcon-server-variant con))
" USING orioledb"
""))))
@@ -956,7 +957,7 @@ bar$$"))))
(pg-exec con "VACUUM ANALYZE count_test"))
(pgtest-flush-table con "count_test")
(should (eql count (scalar "SELECT count(*) FROM count_test")))
- (should (eql (/ (* count (1+ count)) 2) (scalar "SELECT sum(key) FROM
count_test")))
+ (should (eql (/ (* count (1+ count)) 2) (scalar "SELECT sum(mykey) FROM
count_test")))
(pg-exec con "DROP TABLE count_test")
(should (not (pgtest-have-table con "count_test"))))
;; Test for specific bugs when we have a table name and column names of
length 1 (could be
@@ -1003,7 +1004,7 @@ bar$$"))))
(let ((count 100))
(when (pgtest-have-table con "count_test")
(pg-exec con "DROP TABLE count_test"))
- (when-let* ((sql (pgtest-massage con "CREATE TABLE count_test(key INT
PRIMARY KEY, val INT)")))
+ (when-let* ((sql (pgtest-massage con "CREATE TABLE count_test(mykey INT
PRIMARY KEY, val INT)")))
(pg-exec con sql)
(should (pgtest-have-table con "count_test"))
(should (member "val" (pg-columns con "count_test")))
@@ -1014,7 +1015,7 @@ bar$$"))))
`((,i . "int4") (,(* i i) . "int4"))))
(pgtest-flush-table con "count_test")
(should (eql count (scalar "SELECT COUNT(*) FROM count_test")))
- (should (eql (/ (* (1- count) count) 2) (scalar "SELECT sum(key) FROM
count_test")))
+ (should (eql (/ (* (1- count) count) 2) (scalar "SELECT sum(mykey)
FROM count_test")))
(pg-exec con "DROP TABLE count_test"))
(should (not (pgtest-have-table con "count_test")))
;; Serialization functions for character and varchar types
@@ -1367,7 +1368,7 @@ bar$$"))))
(unless (member (pgcon-server-variant con) '(risingwave questdb))
(should (pgtest-approx= 3.14 (scalar "SELECT 3.14::decimal(10,2) as
pi"))))
;; CrateDB doesn't support the OID type, nor casting integers to bits.
- (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize octodb yellowbrick))
+ (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize octodb yellowbrick datafusion))
(should (eql 123 (scalar "SELECT 123::oid")))
(should (equal (make-bool-vector 1 nil) (scalar "SELECT 0::bit")))
(should (equal (make-bool-vector 1 t) (scalar "SELECT 1::bit")))
@@ -1379,14 +1380,14 @@ bar$$"))))
(should (eql nil (aref bv 14)))))
;; Emacs version prior to 27 can't coerce to bool-vector type
(when (> emacs-major-version 26)
- ;; RisingWave does not implement the bit type
- (unless (member (pgcon-server-variant con) '(risingwave materialize
yellowbrick))
+ ;; RisingWave and DataFusion do not implement the bit type
+ (unless (member (pgcon-server-variant con) '(risingwave materialize
yellowbrick datafusion))
(should (equal (cl-coerce (vector t nil t nil) 'bool-vector)
(scalar "SELECT '1010'::bit(4)"))))
- (unless (member (pgcon-server-variant con) '(cockroachdb risingwave
materialize yellowbrick))
+ (unless (member (pgcon-server-variant con) '(cockroachdb risingwave
materialize yellowbrick datafusion))
(should (equal (cl-coerce (vector t nil nil t nil nil nil)
'bool-vector)
(scalar "SELECT b'1001000'"))))
- (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize yellowbrick))
+ (unless (member (pgcon-server-variant con) '(cratedb risingwave
materialize yellowbrick datafusion))
(should (equal (cl-coerce (vector t nil t t t t) 'bool-vector)
(scalar "SELECT '101111'::varbit(6)")))))
;; (should (eql 66 (scalar "SELECT 66::money")))