[Tarantool-patches] [PATCH 3/4] sql: fix CAST AS NUMBER operator
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Tue Feb 11 02:24:58 MSK 2020
Thanks for the patch!
See 5 comments below.
> diff --git a/test/sql-tap/cast.test.lua b/test/sql-tap/cast.test.lua
> index 9c937a065..a3f0bc787 100755
> --- a/test/sql-tap/cast.test.lua
> +++ b/test/sql-tap/cast.test.lua
> @@ -663,14 +663,14 @@ test:do_execsql_test(
> SELECT CAST(-9223372036854774800 AS NUMBER)
> ]], {
> -- <cast-3.6>
> - -9223372036854774784
> + -9223372036854774800LL
> -- </cast-3.6>
> })
>
> test:do_execsql_test(
> "cast-3.7",
> "SELECT CAST(-9223372036854774800 AS NUMBER)",
> - {-9.22337203685477e+18})
> + {-9223372036854774800LL})
1. 3.6 and 3.7 are the same. I propose to drop one.
> test:do_execsql_test(
> "cast-3.8",
> @@ -705,12 +705,12 @@ test:do_execsql_test(
> test:do_execsql_test(
> "cast-3.13",
> "SELECT CAST(9223372036854774800 AS NUMBER)",
> - {9.22337203685477e+18})
> + {9223372036854774800LL})
2. 3.2, 3.3 and 3.13 are exactly the same. I propose to keep
only one.
> @@ -732,7 +732,7 @@ test:do_execsql_test(
> test:do_execsql_test(
> "cast-3.16",
> [[
> - SELECT CAST('-9223372036854774800' AS NUMBER)
> + SELECT CAST('-9223372036854774800.' AS NUMBER)
> ]], {
> -- <cast-3.16>
> -9223372036854774784
3. 3.16 and 3.17 are the same. Lets drop one.
> @@ -778,7 +778,7 @@ if true then --test:execsql("PRAGMA encoding")[1][1]=="UTF-8" then
> })
> test:do_execsql_test(
> "cast-3.23",
> - "SELECT CAST(x'39323233333732303336383534373734383030' AS NUMBER)",
> + "SELECT CAST(x'393232333337323033363835343737343830302E' AS NUMBER)",
> {9.22337203685477e+18})
4. 3.22 and 3.23 are the same. Drop one, please.
> test:do_execsql_test(
> @@ -788,7 +788,7 @@ if true then --test:execsql("PRAGMA encoding")[1][1]=="UTF-8" then
> AS integer)
> ]], {
> -- <cast-3.24>
> - 9223372036854774784LL
> + 9223372036854774800LL
5. Indentation is a bit off.
> -- </cast-3.24>
> })
> end
More information about the Tarantool-patches
mailing list