summaryrefslogtreecommitdiffstats
path: root/test/tkt3841.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:28:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:28:19 +0000
commit18657a960e125336f704ea058e25c27bd3900dcb (patch)
tree17b438b680ed45a996d7b59951e6aa34023783f2 /test/tkt3841.test
parentInitial commit. (diff)
downloadsqlite3-18657a960e125336f704ea058e25c27bd3900dcb.tar.xz
sqlite3-18657a960e125336f704ea058e25c27bd3900dcb.zip
Adding upstream version 3.40.1.upstream/3.40.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/tkt3841.test')
-rw-r--r--test/tkt3841.test49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/tkt3841.test b/test/tkt3841.test
new file mode 100644
index 0000000..542c1bb
--- /dev/null
+++ b/test/tkt3841.test
@@ -0,0 +1,49 @@
+# 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
+}
+
+sqlite3_db_config db SQLITE_DBCONFIG_DQS_DML 1
+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