| Index: third_party/sqlite/src/test/select6.test | 
| diff --git a/third_party/sqlite/src/test/select6.test b/third_party/sqlite/src/test/select6.test | 
| index e0ff165c550e7b3fcb80eaeaddb8116b290970f1..64a8519d890e46712a54bf7ff3bcc90c9a7bfeca 100644 | 
| --- a/third_party/sqlite/src/test/select6.test | 
| +++ b/third_party/sqlite/src/test/select6.test | 
| @@ -22,6 +22,7 @@ ifcapable !subquery { | 
| finish_test | 
| return | 
| } | 
| +set ::testprefix select6 | 
|  | 
| do_test select6-1.0 { | 
| execsql { | 
| @@ -513,5 +514,48 @@ do_test select6-9.11 { | 
| } {2 12 3 13 4 14} | 
|  | 
|  | 
| +#------------------------------------------------------------------------- | 
| +# Test that if a UNION ALL sub-query that would otherwise be eligible for | 
| +# flattening consists of two or more SELECT statements that do not all | 
| +# return the same number of result columns, the error is detected. | 
| +# | 
| +do_execsql_test 10.1 { | 
| +  CREATE TABLE t(i,j,k); | 
| +  CREATE TABLE j(l,m); | 
| +  CREATE TABLE k(o); | 
| +} | 
| + | 
| +set err [list 1 {SELECTs to the left and right of UNION ALL do not have the same number of result columns}] | 
| + | 
| +do_execsql_test 10.2 { | 
| +  SELECT * FROM (SELECT * FROM t), j; | 
| +} | 
| +do_catchsql_test 10.3 { | 
| +  SELECT * FROM t UNION ALL SELECT * FROM j | 
| +} $err | 
| +do_catchsql_test 10.4 { | 
| +  SELECT * FROM (SELECT i FROM t UNION ALL SELECT l, m FROM j) | 
| +} $err | 
| +do_catchsql_test 10.5 { | 
| +  SELECT * FROM (SELECT j FROM t UNION ALL SELECT * FROM j) | 
| +} $err | 
| +do_catchsql_test 10.6 { | 
| +  SELECT * FROM (SELECT * FROM t UNION ALL SELECT * FROM j) | 
| +} $err | 
| +do_catchsql_test 10.7 { | 
| +  SELECT * FROM ( | 
| +    SELECT * FROM t UNION ALL | 
| +    SELECT l,m,l FROM j UNION ALL | 
| +    SELECT * FROM k | 
| +  ) | 
| +} $err | 
| +do_catchsql_test 10.8 { | 
| +  SELECT * FROM ( | 
| +    SELECT * FROM k UNION ALL | 
| +    SELECT * FROM t UNION ALL | 
| +    SELECT l,m,l FROM j | 
| +  ) | 
| +} $err | 
| + | 
|  | 
| finish_test | 
|  |