2009-05-07 16:17:33 +04:00
|
|
|
# 2009 May 7
|
|
|
|
#
|
|
|
|
# The author disclaims copyright to this source code. In place of
|
|
|
|
# a legal notice, here is a blessing:
|
|
|
|
#
|
|
|
|
# May you do good and not evil.
|
|
|
|
# May you find forgiveness for yourself and forgive others.
|
|
|
|
# May you share freely, never taking more than you give.
|
|
|
|
#
|
|
|
|
#***********************************************************************
|
|
|
|
#
|
|
|
|
# Ticket #3841
|
|
|
|
#
|
|
|
|
# The sqlite3_aggregate_count() is not being reset when an aggregate
|
|
|
|
# functio is used in a correlated subquery.
|
|
|
|
#
|
|
|
|
set testdir [file dirname $argv0]
|
|
|
|
source $testdir/tester.tcl
|
|
|
|
|
|
|
|
ifcapable !subquery {
|
|
|
|
finish_test
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-01-16 22:11:13 +03:00
|
|
|
sqlite3_db_config db SQLITE_DBCONFIG_DQS_DML 1
|
2009-05-07 16:17:33 +04:00
|
|
|
do_test tkt3841.1 {
|
|
|
|
execsql {
|
|
|
|
CREATE TABLE table2 (key TEXT, x TEXT);
|
|
|
|
CREATE TABLE list (key TEXT, value TEXT);
|
|
|
|
|
|
|
|
INSERT INTO table2 VALUES ("a", "alist");
|
|
|
|
INSERT INTO table2 VALUES ("b", "blist");
|
|
|
|
INSERT INTO list VALUES ("a", 1);
|
|
|
|
INSERT INTO list VALUES ("a", 2);
|
|
|
|
INSERT INTO list VALUES ("a", 3);
|
|
|
|
INSERT INTO list VALUES ("b", 4);
|
|
|
|
INSERT INTO list VALUES ("b", 5);
|
|
|
|
INSERT INTO list VALUES ("b", 6);
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
table2.x,
|
|
|
|
(SELECT group_concat(list.value)
|
|
|
|
FROM list
|
|
|
|
WHERE list.key = table2.key)
|
|
|
|
FROM table2;
|
|
|
|
}
|
|
|
|
} {alist 1,2,3 blist 4,5,6}
|
|
|
|
|
|
|
|
finish_test
|