github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/norm/testdata/rules/max1row (about) 1 exec-ddl 2 CREATE TABLE a (k INT PRIMARY KEY, i INT, f FLOAT, s STRING, j JSON) 3 ---- 4 5 exec-ddl 6 CREATE TABLE t.b (x INT PRIMARY KEY, y INT) 7 ---- 8 9 # -------------------------------------------------- 10 # EliminateMax1Row 11 # -------------------------------------------------- 12 norm expect=EliminateMax1Row 13 SELECT (SELECT i FROM a LIMIT 1) > 5 AS r 14 ---- 15 values 16 ├── columns: r:6 17 ├── cardinality: [1 - 1] 18 ├── key: () 19 ├── fd: ()-->(6) 20 └── tuple 21 └── gt 22 ├── subquery 23 │ └── limit 24 │ ├── columns: i:2 25 │ ├── cardinality: [0 - 1] 26 │ ├── key: () 27 │ ├── fd: ()-->(2) 28 │ ├── scan a 29 │ │ ├── columns: i:2 30 │ │ └── limit hint: 1.00 31 │ └── 1 32 └── 5 33 34 norm expect=EliminateMax1Row 35 SELECT (SELECT count(*) FROM a) > 100 AS r 36 ---- 37 values 38 ├── columns: r:7 39 ├── cardinality: [1 - 1] 40 ├── key: () 41 ├── fd: ()-->(7) 42 └── tuple 43 └── gt 44 ├── subquery 45 │ └── scalar-group-by 46 │ ├── columns: count_rows:6!null 47 │ ├── cardinality: [1 - 1] 48 │ ├── key: () 49 │ ├── fd: ()-->(6) 50 │ ├── scan a 51 │ └── aggregations 52 │ └── count-rows [as=count_rows:6] 53 └── 100 54 55 norm expect=EliminateMax1Row 56 SELECT (SELECT i FROM a LIMIT 0) > 5 AS r 57 ---- 58 values 59 ├── columns: r:6 60 ├── cardinality: [1 - 1] 61 ├── key: () 62 ├── fd: ()-->(6) 63 └── tuple 64 └── gt 65 ├── subquery 66 │ └── values 67 │ ├── columns: i:2!null 68 │ ├── cardinality: [0 - 0] 69 │ ├── key: () 70 │ └── fd: ()-->(2) 71 └── 5 72 73 # Don't remove the Max1Row operator. 74 norm expect-not=EliminateMax1Row 75 SELECT (SELECT i FROM a) > 5 AS r 76 ---- 77 values 78 ├── columns: r:6 79 ├── cardinality: [1 - 1] 80 ├── key: () 81 ├── fd: ()-->(6) 82 └── tuple 83 └── gt 84 ├── subquery 85 │ └── max1-row 86 │ ├── columns: i:2 87 │ ├── error: "more than one row returned by a subquery used as an expression" 88 │ ├── cardinality: [0 - 1] 89 │ ├── key: () 90 │ ├── fd: ()-->(2) 91 │ └── scan a 92 │ └── columns: i:2 93 └── 5