## Summary **No review yet** ## Minimized query ```sql .trace CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(CAST(1 AS INT2) AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE +c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; CREATE TABLE T ( a TEXT, b TEXT ); INSERT INTO T VALUES ('a','b'), ('c','d'); SELECT * FROM T WHERE a = REPLACE('a;',';','') AND b = 'b'; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; CREATE TABLE T ( a INTEGER, b TEXT, c REAL ); INSERT INTO T VALUES (CAST(CAST(1 AS INT2) AS FLOA),'a',1.25), (2,'b',-3.5), (3,'c',9e999); WITH d AS (SELECT * FROM T) SELECT * FROM d WHERE c > 0; BEGIN; PRAGMA vdbe_addoptrace = TRUE; ATTACH DATABASE ':memory:' AS aux61; -- PRAGMA automatic_index = 0; CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c INT, d INT); INSERT INTO t1 VALUES (jsonb_extract(json_remove(cosh(ifnull(glob('**[0-9]+>)!<(K!@AD++****)))', CAST(CAST(-(-(1)) AS UNSIGNED BIG INT) AS INT)), 2)), '$.key'), '$.key'), ('Wernher' || ''), 10, 100); INSERT INTO t1 VALUES (2, 'von', 20, 200); INSERT INTO t1 VALUES (3, 'Braun', 30, 300); CREATE INDEX t1bc ON t1(b, c); PRAGMA writable_schema = ON; .imposter t1bc t2 SELECT * FROM t2; SELECT b, c FROM t1 ORDER BY b, c; .quit BEGIN DEFERRED; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); CREATE TABLE T ( a INTEGER, b REAL, c REAL ); INSERT INTO T VALUES (1,2.0,10.5), (1,-3.5,20.25), (2,9e999,-1.0); WITH d AS (SELECT a,SUM(b*c) AS e FROM T GROUP BY a) SELECT * FROM d; SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); .version ATTACH DATABASE ':memory:' AS aux56; CREATE TABLE `T` ( a CLOB, b REAL, c REAL ); INSERT INTO T VALUES ((likelihood(x'f6b69ceac2e03792bbc0fe1eae45', 0.0) -> '$[0]' * 1),1.5,10.0), (2,-2.5,20.0), (3,-9e999,30.0); SELECT * FROM T WHERE b < 2.0 ORDER BY b; INSERT INTO T SELECT * FROM T; DETACH DATABASE aux56; CREATE TEMPORARY VIEW IF NOT EXISTS v_T_4076 AS SELECT c FROM T; CREATE TABLE T1 ( a INTEGER, b TEXT ); CREATE TABLE T2 ( a INTEGER, b TEXT ); INSERT INTO T1 VALUES (1,'a'),(2,'b'); INSERT INTO T2 VALUES (1,'c'),(1,'d'); SELECT T1.b, ( SELECT GROUP_CONCAT(b,',') FROM T2 WHERE T2.a=T1.a ) AS c FROM T1; INSERT INTO T1 VALUES (NULL, NULL); ANALYZE; SELECT LAG(a, 2, a) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T; WITH a AS (SELECT * FROM T WHERE b IS NOT NULL), b AS (SELECT * FROM a WHERE b > 0), c AS (SELECT * FROM b LIMIT 10) SELECT * FROM c; ANALYZE T; DELETE FROM T2 WHERE 0; END TRANSACTION; INSERT INTO T DEFAULT VALUES; SELECT LEAD(b, 0) OVER (ORDER BY b RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM T2; INSERT INTO T1 SELECT * FROM T1; SELECT MIN(a) FROM T2; SELECT 0x0ACB29BM205381; SELECT sqlite_compileoption_used('我的天你是怎么了'); SELECT 1 >> -999999999999999999999999999; SELECT sqlite_compileoption_get($1); SELECT sqlite_version(); SELECT COUNT(*) FROM T1; SELECT TOTAL(b) OVER (PARTITION BY b ORDER BY b) FROM t1; DETACH DATABASE aux61; ANALYZE T1; WITH cte AS (SELECT a, COUNT(*) AS cnt FROM T1 GROUP BY a) SELECT * FROM cte; UPDATE T2 SET b = 'x' RETURNING *; INSERT INTO T DEFAULT VALUES; SELECT MAX(b) FROM T1; SELECT GROUP_CONCAT(b, '|') FROM t1; INSERT INTO T1 SELECT * FROM T1; ROLLBACK; INSERT INTO T2 VALUES (NULL, NULL); DROP INDEX IF EXISTS T1; ALTER TABLE t1 DROP COLUMN b; ALTER TABLE T1 DROP COLUMN a; ALTER TABLE t1 DROP COLUMN a; DROP INDEX IF EXISTS T2; SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T1; ALTER TABLE T RENAME TO T_r4249; SELECT COUNT(*) FILTER (WHERE c IS NOT NULL), SUM(rowid) FILTER (WHERE c > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(c) FILTER (WHERE c > 0 AND c < 100), COUNT(*) FILTER (WHERE typeof(c) = "text") FROM t1; SELECT COUNT(*) FILTER (WHERE b IS NOT NULL), SUM(rowid) FILTER (WHERE b > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(b) FILTER (WHERE b > 0 AND b < 100), COUNT(*) FILTER (WHERE typeof(b) = "text") FROM T2; CREATE TEMPORARY VIEW IF NOT EXISTS v_T2_5525 AS SELECT a FROM T2; INSERT INTO T DEFAULT VALUES; CREATE UNIQUE INDEX IF NOT EXISTS idx_T1_2398 ON T1(lower(a)); WITH cte AS (SELECT b, COUNT(*) FROM T1 GROUP BY b) SELECT * FROM cte; ALTER TABLE T ADD COLUMN extra_5793 NATIVE CHARACTER(70)NVARCHAR(100) DEFAULT NULL; SELECT COUNT(*) FILTER (WHERE a IS NOT NULL), SUM(rowid) FILTER (WHERE a > 0), COUNT(*) FILTER (WHERE 1=0), COUNT(*) FILTER (WHERE 1=1), COUNT(*) FILTER (WHERE NULL), AVG(a) FILTER (WHERE a > 0 AND a < 100), COUNT(*) FILTER (WHERE typeof(a) = "text") FROM t1; INSERT OR ROLLBACK INTO t1 VALUES (NULL, 'x', NULL, ''); ``` ## Actual output ```sql 1|a|1.25 3|c|Inf CREATE TABLE "t2"("b","c","_ROWID_",PRIMARY KEY("b","c","_ROWID_"))WITHOUT ROWID; WARNING: writing to an imposter table will corrupt the "t1bc" index! Braun|30|3 von|20|2 Braun|30 von|20 ``` ## Expectation ```sql ``` ## Flag ``` ```