sqlite/test/tkt3841.test
drh 3a9cf17d7c Fix a problem in vdbe.c that could cause a double-free of memory if the
SQLITE_LIMIT_LENGTH is changed after a statement is prepared but before
it is run.  Also remove debugging statements from tkt3841.test. (CVS 6777)

FossilOrigin-Name: 3d7327fd6af983d5ce9bc9a2ba869b23c44cc8e6
2009-06-17 21:42:33 +00:00

49 lines
1.2 KiB
Plaintext

# 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
}
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