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

Clear the column cache before populating aggregate accumulator registers. Fix fo

r [883034dcb5].

FossilOrigin-Name: ffc23409c7fb45dc5a8722fad26e26d207bb3213
This commit is contained in:
dan
2010-03-31 15:02:56 +00:00
parent d3d986d329
commit 67a6a40cf9
4 changed files with 65 additions and 19 deletions

View File

@ -166,4 +166,48 @@ ifcapable trigger {
} {1 {no such column: new.x}}
}
# Check that ticket [883034dcb5] is fixed.
#
do_test selectC-3.1 {
execsql {
CREATE TABLE person (
org_id TEXT NOT NULL,
nickname TEXT NOT NULL,
license TEXT,
CONSTRAINT person_pk PRIMARY KEY (org_id, nickname),
CONSTRAINT person_license_uk UNIQUE (license)
);
INSERT INTO person VALUES('meyers', 'jack', '2GAT123');
INSERT INTO person VALUES('meyers', 'hill', 'V345FMP');
INSERT INTO person VALUES('meyers', 'jim', '2GAT138');
INSERT INTO person VALUES('smith', 'maggy', '');
INSERT INTO person VALUES('smith', 'jose', 'JJZ109');
INSERT INTO person VALUES('smith', 'jack', 'THX138');
INSERT INTO person VALUES('lakeside', 'dave', '953OKG');
INSERT INTO person VALUES('lakeside', 'amy', NULL);
INSERT INTO person VALUES('lake-apts', 'tom', NULL);
INSERT INTO person VALUES('acorn', 'hideo', 'CQB421');
SELECT
org_id,
count((NOT (org_id IS NULL)) AND (NOT (nickname IS NULL)))
FROM person
WHERE (CASE WHEN license != '' THEN 1 ELSE 0 END)
GROUP BY 1;
}
} {acorn 1 lakeside 1 meyers 3 smith 2}
do_test selectC-3.2 {
execsql {
CREATE TABLE t2(a PRIMARY KEY, b);
INSERT INTO t2 VALUES('abc', 'xxx');
INSERT INTO t2 VALUES('def', 'yyy');
SELECT a, max(b || a) FROM t2 WHERE (b||b||b)!='value' GROUP BY a;
}
} {abc xxxabc def yyydef}
do_test selectC-3.3 {
execsql {
SELECT b, max(a || b) FROM t2 WHERE (b||b||b)!='value' GROUP BY a;
}
} {xxx abcxxx yyy defyyy}
finish_test