1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl.

FossilOrigin-Name: 4555d66547e28cb110e1012b145bcf3aafb5d4bde05e9d27bcb4ca33837b28f5
This commit is contained in:
dan
2024-05-24 18:31:39 +00:00
parent 31079226f7
commit 89b04f3786
6 changed files with 54 additions and 15 deletions

View File

@ -313,4 +313,27 @@ do_execsql_test 4020 {
SELECT b FROM t1 UNION SELECT 1;
} {1 { }}
#-------------------------------------------------------------------------
#
reset_db
do_execsql_test 5010 {
CREATE TABLE cnt(a);
WITH RECURSIVE cnt2(x) AS (
VALUES(1) UNION ALL SELECT x+1 FROM cnt2 WHERE x<50
)
INSERT INTO cnt SELECT x FROM cnt2;
}
do_execsql_test 5020 {
SELECT DISTINCT abs(random())%5 AS r FROM cnt ORDER BY r;
} {0 1 2 3 4}
do_execsql_test 5030 {
SELECT abs(random())%5 AS r FROM cnt GROUP BY 1 ORDER BY 1;
} {0 1 2 3 4}
do_execsql_test 5040 {
SELECT a FROM cnt WHERE a>45 GROUP BY 1;
} {46 47 48 49 50}
finish_test