From c4b15789f229915722bde8cfdffca2ced8ec0ef3 Mon Sep 17 00:00:00 2001 From: Jochen Topf Date: Mon, 8 Jun 2026 14:48:10 +0200 Subject: [PATCH] Extend and clean up tests for double precision type --- tests/test-output-flex-types.cpp | 107 ++++++++++++++++--------------- 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/tests/test-output-flex-types.cpp b/tests/test-output-flex-types.cpp index 4cb14ec48..64407e07c 100644 --- a/tests/test-output-flex-types.cpp +++ b/tests/test-output-flex-types.cpp @@ -32,12 +32,12 @@ TEST_CASE("type nil") auto conn = db.db().connect(); CHECK(1 == conn.get_count("nodes")); - CHECK(1 == conn.get_count( - "nodes", - "ttext IS NULL AND tbool IS NULL AND tint2 IS NULL AND " - "tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND " - "thstr IS NULL AND tjson IS NULL AND tdirn IS NULL AND " - "tsqlt IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext IS NULL AND tbool IS NULL AND " + "tint2 IS NULL AND tint4 IS NULL AND " + "tint8 IS NULL AND treal IS NULL AND " + "tdubl IS NULL AND thstr IS NULL AND " + "tjson IS NULL AND tdirn IS NULL AND " + "tsqlt IS NULL")); } TEST_CASE("type boolean") @@ -66,6 +66,8 @@ TEST_CASE("type boolean in column where it doesn't belong") options, "n10 v1 dV x10.0 y10.0 Ttype=boolean-fail column=ttext\n")); REQUIRE_THROWS(db.run_import( options, "n10 v1 dV x10.0 y10.0 Ttype=boolean-fail column=treal\n")); + REQUIRE_THROWS(db.run_import( + options, "n10 v1 dV x10.0 y10.0 Ttype=boolean-fail column=tdubl\n")); REQUIRE_THROWS(db.run_import( options, "n10 v1 dV x10.0 y10.0 Ttype=boolean-fail column=thstr\n")); REQUIRE_THROWS(db.run_import( @@ -88,25 +90,25 @@ TEST_CASE("type number") CHECK(19 == conn.get_count("nodes")); // clang-format off - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483649' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = -2147483649 AND tjson = '-2147483649'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483648' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -2147483648 AND tint8 = -2147483648 AND tjson = '-2147483648'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483647' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -2147483647 AND tint8 = -2147483647 AND tjson = '-2147483647'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32769' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -32769 AND tint8 = -32769 AND treal = -32769 AND tdubl = -32769 AND tdubl = -32769 AND tdubl = -32769 AND tjson = '-32769'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32768' AND ttext = tsqlt AND tbool = true AND tint2 = -32768 AND tint4 = -32768 AND tint8 = -32768 AND treal = -32768 AND tdubl = -32768 AND tdubl = -32768 AND tjson = '-32768'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32767' AND ttext = tsqlt AND tbool = true AND tint2 = -32767 AND tint4 = -32767 AND tint8 = -32767 AND treal = -32767 AND tdubl = -32767 AND tdubl = -32767 AND tjson = '-32767'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2' AND ttext = tsqlt AND tbool = true AND tint2 = -2 AND tint4 = -2 AND tint8 = -2 AND treal = -2 AND tdubl = -2 AND tjson = '-2'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-1' AND ttext = tsqlt AND tbool = true AND tint2 = -1 AND tint4 = -1 AND tint8 = -1 AND treal = -1 AND tdubl = -1 AND tjson = '-1'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", " tsqlt = '-0.5' AND ttext = tsqlt AND tbool = true AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = -0.5 AND tdubl = -0.5 AND tjson = '-0.5'::jsonb AND tdirn = -1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '0' AND ttext = tsqlt AND tbool = false AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0 AND tdubl = 0 AND tjson = '0'::jsonb AND tdirn = 0")); - CHECK(1 == conn.get_count("nodes", " tsqlt = '0.5' AND ttext = tsqlt AND tbool = true AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0.5 AND tdubl = 0.5 AND tjson = '0.5'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '1' AND ttext = tsqlt AND tbool = true AND tint2 = 1 AND tint4 = 1 AND tint8 = 1 AND treal = 1 AND tdubl = 1 AND tjson = '1'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2' AND ttext = tsqlt AND tbool = true AND tint2 = 2 AND tint4 = 2 AND tint8 = 2 AND treal = 2 AND tdubl = 2 AND tjson = '2'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32767' AND ttext = tsqlt AND tbool = true AND tint2 = 32767 AND tint4 = 32767 AND tint8 = 32767 AND treal = 32767 AND tdubl = 32767 AND tjson = '32767'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32768' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 32768 AND tint8 = 32768 AND treal = 32768 AND tdubl = 32768 AND tjson = '32768'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32769' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 32769 AND tint8 = 32769 AND treal = 32769 AND tdubl = 32769 AND tjson = '32769'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483647' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 2147483647 AND tint8 = 2147483647 AND tjson = '2147483647'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483648' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483648 AND tjson = '2147483648'::jsonb AND tdirn = 1")); - CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483649' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483649 AND tjson = '2147483649'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483649' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = -2147483649 AND tdubl = -2147483649 AND tjson = '-2147483649'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483648' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -2147483648 AND tint8 = -2147483648 AND tdubl = -2147483648 AND tjson = '-2147483648'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2147483647' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -2147483647 AND tint8 = -2147483647 AND tdubl = -2147483647 AND tjson = '-2147483647'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32769' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = -32769 AND tint8 = -32769 AND treal = -32769 AND tdubl = -32769 AND tjson = '-32769'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32768' AND ttext = tsqlt AND tbool = true AND tint2 = -32768 AND tint4 = -32768 AND tint8 = -32768 AND treal = -32768 AND tdubl = -32768 AND tjson = '-32768'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-32767' AND ttext = tsqlt AND tbool = true AND tint2 = -32767 AND tint4 = -32767 AND tint8 = -32767 AND treal = -32767 AND tdubl = -32767 AND tjson = '-32767'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-2' AND ttext = tsqlt AND tbool = true AND tint2 = -2 AND tint4 = -2 AND tint8 = -2 AND treal = -2 AND tdubl = -2 AND tjson = '-2'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '-1' AND ttext = tsqlt AND tbool = true AND tint2 = -1 AND tint4 = -1 AND tint8 = -1 AND treal = -1 AND tdubl = -1 AND tjson = '-1'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", " tsqlt = '-0.5' AND ttext = tsqlt AND tbool = true AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = -0.5 AND tdubl = -0.5 AND tjson = '-0.5'::jsonb AND tdirn = -1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '0' AND ttext = tsqlt AND tbool = false AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0 AND tdubl = 0 AND tjson = '0'::jsonb AND tdirn = 0")); + CHECK(1 == conn.get_count("nodes", " tsqlt = '0.5' AND ttext = tsqlt AND tbool = true AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0.5 AND tdubl = 0.5 AND tjson = '0.5'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '1' AND ttext = tsqlt AND tbool = true AND tint2 = 1 AND tint4 = 1 AND tint8 = 1 AND treal = 1 AND tdubl = 1 AND tjson = '1'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2' AND ttext = tsqlt AND tbool = true AND tint2 = 2 AND tint4 = 2 AND tint8 = 2 AND treal = 2 AND tdubl = 2 AND tjson = '2'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32767' AND ttext = tsqlt AND tbool = true AND tint2 = 32767 AND tint4 = 32767 AND tint8 = 32767 AND treal = 32767 AND tdubl = 32767 AND tjson = '32767'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32768' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 32768 AND tint8 = 32768 AND treal = 32768 AND tdubl = 32768 AND tjson = '32768'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '32769' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 32769 AND tint8 = 32769 AND treal = 32769 AND tdubl = 32769 AND tjson = '32769'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483647' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 = 2147483647 AND tint8 = 2147483647 AND tdubl = 2147483647 AND tjson = '2147483647'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483648' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483648 AND tdubl = 2147483648 AND tjson = '2147483648'::jsonb AND tdirn = 1")); + CHECK(1 == conn.get_count("nodes", "split_part(tsqlt, '.', 1) = '2147483649' AND ttext = tsqlt AND tbool = true AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483649 AND tdubl = 2147483649 AND tjson = '2147483649'::jsonb AND tdirn = 1")); // clang-format on } @@ -151,24 +153,24 @@ TEST_CASE("type string (with number)") CHECK(18 == conn.get_count("nodes")); // clang-format off - CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483649' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = -2147483649 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483648' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = -2147483648 AND tint8 = -2147483648 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483647' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = -2147483647 AND tint8 = -2147483647 ")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483649' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = -2147483649 AND tdubl = -2147483649")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483648' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = -2147483648 AND tint8 = -2147483648 AND tdubl = -2147483648")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '-2147483647' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = -2147483647 AND tint8 = -2147483647 AND tdubl = -2147483647")); CHECK(1 == conn.get_count("nodes", "tsqlt = '-32769' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = -32769 AND tint8 = -32769 AND treal = -32769 AND tdubl = -32769")); CHECK(1 == conn.get_count("nodes", "tsqlt = '-32768' AND ttext = tsqlt AND tint2 = -32768 AND tint4 = -32768 AND tint8 = -32768 AND treal = -32768 AND tdubl = -32768")); CHECK(1 == conn.get_count("nodes", "tsqlt = '-32767' AND ttext = tsqlt AND tint2 = -32767 AND tint4 = -32767 AND tint8 = -32767 AND treal = -32767 AND tdubl = -32767")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '-2' AND ttext = tsqlt AND tint2 = -2 AND tint4 = -2 AND tint8 = -2 AND treal = -2 AND tdubl = -2 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '-1' AND ttext = tsqlt AND tint2 = -1 AND tint4 = -1 AND tint8 = -1 AND treal = -1 AND tdubl = -1 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '0' AND ttext = tsqlt AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0 AND tdubl = 0 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '1' AND ttext = tsqlt AND tint2 = 1 AND tint4 = 1 AND tint8 = 1 AND treal = 1 AND tdubl = 1 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '2' AND ttext = tsqlt AND tint2 = 2 AND tint4 = 2 AND tint8 = 2 AND treal = 2 AND tdubl = 2 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '32767' AND ttext = tsqlt AND tint2 = 32767 AND tint4 = 32767 AND tint8 = 32767 AND treal = 32767 AND tdubl = 32767 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '32768' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 32768 AND tint8 = 32768 AND treal = 32768 AND tdubl = 32768 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '32769' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 32769 AND tint8 = 32769 AND treal = 32769 AND tdubl = 32769 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483647' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 2147483647 AND tint8 = 2147483647 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483648' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483648 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483649' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483649 ")); - CHECK(1 == conn.get_count("nodes", "tsqlt = ' 42' AND ttext = tsqlt AND tint2 = 42 AND tint4 = 42 AND tint8 = 42 AND treal = 42 AND tdubl = 42 ")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '-2' AND ttext = tsqlt AND tint2 = -2 AND tint4 = -2 AND tint8 = -2 AND treal = -2 AND tdubl = -2")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '-1' AND ttext = tsqlt AND tint2 = -1 AND tint4 = -1 AND tint8 = -1 AND treal = -1 AND tdubl = -1")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '0' AND ttext = tsqlt AND tint2 = 0 AND tint4 = 0 AND tint8 = 0 AND treal = 0 AND tdubl = 0")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '1' AND ttext = tsqlt AND tint2 = 1 AND tint4 = 1 AND tint8 = 1 AND treal = 1 AND tdubl = 1")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '2' AND ttext = tsqlt AND tint2 = 2 AND tint4 = 2 AND tint8 = 2 AND treal = 2 AND tdubl = 2")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '32767' AND ttext = tsqlt AND tint2 = 32767 AND tint4 = 32767 AND tint8 = 32767 AND treal = 32767 AND tdubl = 32767")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '32768' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 32768 AND tint8 = 32768 AND treal = 32768 AND tdubl = 32768")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '32769' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 32769 AND tint8 = 32769 AND treal = 32769 AND tdubl = 32769")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483647' AND ttext = tsqlt AND tint2 IS NULL AND tint4 = 2147483647 AND tint8 = 2147483647 AND tdubl = 2147483647")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483648' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483648 AND tdubl = 2147483648")); + CHECK(1 == conn.get_count("nodes", "tsqlt = '2147483649' AND ttext = tsqlt AND tint2 IS NULL AND tint4 IS NULL AND tint8 = 2147483649 AND tdubl = 2147483649")); + CHECK(1 == conn.get_count("nodes", "tsqlt = ' 42' AND ttext = tsqlt AND tint2 = 42 AND tint4 = 42 AND tint8 = 42 AND treal = 42 AND tdubl = 42")); // clang-format on } @@ -184,13 +186,13 @@ TEST_CASE("type string (with invalid number)") CHECK(7 == conn.get_count("nodes")); // clang-format off - CHECK(1 == conn.get_count("nodes", "ttext = '' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL")); - CHECK(1 == conn.get_count("nodes", "ttext = 'abc' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL")); - CHECK(1 == conn.get_count("nodes", "ttext = '0a' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL")); - CHECK(1 == conn.get_count("nodes", "ttext = '0xa' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND abs(treal - 10) < 0.0000001")); - CHECK(1 == conn.get_count("nodes", "ttext = '--1' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL")); - CHECK(1 == conn.get_count("nodes", "ttext = '1foo' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL")); - CHECK(1 == conn.get_count("nodes", "ttext = '1.2' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND abs(treal - 1.2) < 0.0000001")); + CHECK(1 == conn.get_count("nodes", "ttext = '' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND tdubl IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext = 'abc' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND tdubl IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext = '0a' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND tdubl IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext = '0xa' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND abs(treal - 10) < 0.0000001 AND abs(tdubl - 10) < 0.0000001")); + CHECK(1 == conn.get_count("nodes", "ttext = '--1' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND tdubl IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext = '1foo' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND treal IS NULL AND tdubl IS NULL")); + CHECK(1 == conn.get_count("nodes", "ttext = '1.2' AND tint2 IS NULL AND tint4 IS NULL AND tint8 IS NULL AND abs(treal - 1.2) < 0.0000001 AND abs(tdubl - 1.2) < 0.0000001")); // clang-format on } @@ -210,9 +212,9 @@ TEST_CASE("Adding a function should always fail") { testing::opt_t const options = testing::opt_t().flex(CONF_FILE); - std::array const types = {"ttext", "tbool", "tint2", - "tint4", "tint8", "treal", - "thstr", "tdirn", "tsqlt"}; + std::array const types = { + "ttext", "tbool", "tint2", "tint4", "tint8", + "treal", "tdubl", "thstr", "tdirn", "tsqlt"}; for (auto const &type : types) { auto const line = @@ -258,8 +260,9 @@ TEST_CASE("Adding a table should fail except for hstore and json/jsonb") { testing::opt_t const options = testing::opt_t().flex(CONF_FILE); - std::array const types = { - "ttext", "tbool", "tint2", "tint4", "tint8", "treal", "tdirn", "tsqlt"}; + std::array const types = {"ttext", "tbool", "tint2", + "tint4", "tint8", "treal", + "tdubl", "tdirn", "tsqlt"}; for (auto const &type : types) { auto const line =