github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/optbuilder/testdata/values (about) 1 # tests adapted from logictest -- values 2 3 build 4 VALUES (1) 5 ---- 6 values 7 ├── columns: column1:1!null 8 └── (1,) 9 10 build 11 VALUES (1, 2, 3), (4, 5, 6) 12 ---- 13 values 14 ├── columns: column1:1!null column2:2!null column3:3!null 15 ├── (1, 2, 3) 16 └── (4, 5, 6) 17 18 build 19 VALUES (1), (2, 3) 20 ---- 21 error (42601): VALUES lists must all be the same length, expected 1 columns, found 2 22 23 build 24 VALUES (1), (1), (2), (3) ORDER BY 1 DESC LIMIT 3 25 ---- 26 limit 27 ├── columns: column1:1!null 28 ├── internal-ordering: -1 29 ├── ordering: -1 30 ├── sort 31 │ ├── columns: column1:1!null 32 │ ├── ordering: -1 33 │ ├── limit hint: 3.00 34 │ └── values 35 │ ├── columns: column1:1!null 36 │ ├── (1,) 37 │ ├── (1,) 38 │ ├── (2,) 39 │ └── (3,) 40 └── 3 41 42 build 43 VALUES (1), (1), (2), (3) ORDER BY z 44 ---- 45 error (42703): column "z" does not exist 46 47 build 48 VALUES ('this', 'is', 'a', 'test'), (1, 2, 3, 4) 49 ---- 50 error (42804): VALUES types int and string cannot be matched 51 52 build 53 VALUES ('one', 1, 1.0), ('two', 2, 2.0) 54 ---- 55 values 56 ├── columns: column1:1!null column2:2!null column3:3!null 57 ├── ('one', 1, 1.0) 58 └── ('two', 2, 2.0) 59 60 build 61 VALUES (true), (true), (false) 62 ---- 63 values 64 ├── columns: column1:1!null 65 ├── (true,) 66 ├── (true,) 67 └── (false,) 68 69 build 70 VALUES (NULL) 71 ---- 72 values 73 ├── columns: column1:1 74 └── (NULL,) 75 76 build 77 VALUES (NULL, 1) 78 ---- 79 values 80 ├── columns: column1:1 column2:2!null 81 └── (NULL, 1) 82 83 build 84 VALUES (NULL, 1), (2, NULL) 85 ---- 86 values 87 ├── columns: column1:1 column2:2 88 ├── (NULL::INT8, 1) 89 └── (2, NULL::INT8) 90 91 build 92 VALUES (NULL, 1), (2, NULL) 93 ---- 94 values 95 ├── columns: column1:1 column2:2 96 ├── (NULL::INT8, 1) 97 └── (2, NULL::INT8) 98 99 build 100 VALUES (NULL, 1), (2, NULL), (NULL, 'a') 101 ---- 102 error (42804): VALUES types string and int cannot be matched 103 104 build 105 SELECT COALESCE(a, b) FROM (VALUES (1, 2), (3, NULL), (NULL, 4), (NULL, NULL)) AS v(a, b) 106 ---- 107 project 108 ├── columns: coalesce:3 109 ├── values 110 │ ├── columns: column1:1 column2:2 111 │ ├── (1, 2) 112 │ ├── (3, NULL::INT8) 113 │ ├── (NULL::INT8, 4) 114 │ └── (NULL::INT8, NULL::INT8) 115 └── projections 116 └── COALESCE(column1:1, column2:2) [as=coalesce:3] 117 118 # subqueries can be evaluated in VALUES 119 build 120 VALUES ((SELECT 1 a)), ((SELECT 2 b)) 121 ---- 122 values 123 ├── columns: column1:3 124 ├── tuple 125 │ └── subquery 126 │ └── max1-row 127 │ ├── columns: a:1!null 128 │ └── project 129 │ ├── columns: a:1!null 130 │ ├── values 131 │ │ └── () 132 │ └── projections 133 │ └── 1 [as=a:1] 134 └── tuple 135 └── subquery 136 └── max1-row 137 ├── columns: b:2!null 138 └── project 139 ├── columns: b:2!null 140 ├── values 141 │ └── () 142 └── projections 143 └── 2 [as=b:2] 144 145 build 146 VALUES (1), ((SELECT 2 a)) 147 ---- 148 values 149 ├── columns: column1:2 150 ├── (1,) 151 └── tuple 152 └── subquery 153 └── max1-row 154 ├── columns: a:1!null 155 └── project 156 ├── columns: a:1!null 157 ├── values 158 │ └── () 159 └── projections 160 └── 2 [as=a:1]