This happens in SQLite 3.28 and 3.31.
Consider the following queries,
-- Query 1
SELECT
COALESCE(
NULL,
(SELECT SUM(9223372036854775807) FROM (SELECT NULL UNION ALL SELECT NULL))
);
-- Query 2
SELECT
COALESCE(
(SELECT 'hello'),
(SELECT SUM(9223372036854775807) FROM (SELECT NULL UNION ALL SELECT NULL))
);
-- Query 3
SELECT
COALESCE(
(SELECT 'hello'),
ABS(-9223372036854775808)
);
Query 1 should throw `integer overflow`.
Query 2 should return 'hello'.
Query 3 should return 'hello'.
However, Query 3 throws `integer overflow`. It should short-circuit and not
evaluate ABS()
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users