1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
# name: test/sql/function/generic/test_between_sideeffects.test
# description: Test between statement with expressions that have side effects
# group: [generic]
require icu
require no_extension_autoloading "FIXME: ICU is not autoloaded on '-(TIMESTAMP WITH TIME ZONE, INTERVAL)"
# prepared statement with BETWEEN
statement ok
PREPARE v1 AS SELECT ? BETWEEN 1 AND 2
query I
EXECUTE v1(1)
----
true
query I
EXECUTE v1(3)
----
false
statement error
EXECUTE v1(1, 2)
----
statement ok
PREPARE v2 AS SELECT 1 WHERE ? BETWEEN now() - INTERVAL '1 minute' AND now() + INTERVAL '1 minute';
query I
EXECUTE v2(now())
----
1
query I
EXECUTE v2(now() - INTERVAL '10 minute')
----
loop i 0 10
# this should always be false
query I
SELECT (RANDOM() * 10)::INT BETWEEN 6 AND 5
----
false
# this should always be true
query I
SELECT (RANDOM() * 10)::INT NOT BETWEEN 6 AND 5
----
true
endloop
|