github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/logictest/testdata/logic_test/vectorize_overloads (about) 1 # LogicTest: local 2 3 statement ok 4 CREATE TABLE many_types ( 5 _bool BOOL, 6 _bytes BYTES, 7 _date DATE, 8 _decimal DECIMAL, 9 _int2 INT2, 10 _int4 INT4, 11 _int INT8, 12 _oid OID, 13 _float FLOAT8, 14 _string STRING, 15 _uuid UUID, 16 _timestamp TIMESTAMP, 17 _timestamptz TIMESTAMPTZ, 18 _interval INTERVAL, 19 _inet INet, 20 _json JSON, 21 _time Time, 22 _varbit VARBIT 23 ) 24 25 statement ok 26 INSERT 27 INTO many_types 28 VALUES ( 29 NULL, 30 NULL, 31 NULL, 32 NULL, 33 NULL, 34 NULL, 35 NULL, 36 NULL, 37 NULL, 38 NULL, 39 NULL, 40 NULL, 41 NULL, 42 NULL, 43 NULL, 44 NULL, 45 NULL, 46 NULL 47 ), 48 ( 49 false, 50 '123', 51 '2019-10-22', 52 1.23, 53 123, 54 123, 55 123, 56 123, 57 1.23, 58 '123', 59 '63616665-6630-3064-6465-616462656562', 60 '1-1-18 1:00:00.001', 61 '1-1-18 1:00:00.001-8', 62 '12:34:56.123456', 63 '127.0.0.1', 64 '[1, "hello", {"a": ["foo", {"b": 3}]}]', 65 '1:00:00.001', 66 B'1' 67 ), 68 ( 69 true, 70 '456', 71 '2020-05-21', 72 4.56, 73 456, 74 456, 75 456, 76 456, 77 4.56, 78 '456', 79 '63616665-0000-0000-6465-616462656562', 80 '1-1-18 1:00:00.456', 81 '1-1-18 1:00:00.456-8', 82 '01:23:45.012345', 83 '192.168.0.0/16', 84 '[2, "hi", {"b": ["bar", {"c": 4}]}]', 85 '1:00:00.456', 86 B'11' 87 ) 88 89 query T 90 EXPLAIN (VEC) SELECT _inet - _int2 FROM many_types 91 ---- 92 │ 93 └ Node 1 94 └ *colexec.projMinusDatumInt16Op 95 └ *colexec.colBatchScan 96 97 query T rowsort 98 SELECT _inet - _int2 FROM many_types 99 ---- 100 NULL 101 126.255.255.134 102 192.167.254.56/16 103 104 query T 105 EXPLAIN (VEC) SELECT _inet - 1 FROM many_types 106 ---- 107 │ 108 └ Node 1 109 └ *colexec.projMinusDatumInt64ConstOp 110 └ *colexec.colBatchScan 111 112 query T rowsort 113 SELECT _inet - 1 FROM many_types 114 ---- 115 NULL 116 127.0.0.0 117 192.167.255.255/16 118 119 query T 120 EXPLAIN (VEC) SELECT _int4 + _inet FROM many_types 121 ---- 122 │ 123 └ Node 1 124 └ *colexec.projPlusInt32DatumOp 125 └ *colexec.colBatchScan 126 127 query T rowsort 128 SELECT _int4 + _inet FROM many_types 129 ---- 130 NULL 131 127.0.0.124 132 192.168.1.200/16 133 134 query T 135 EXPLAIN (VEC) SELECT 2 + _inet FROM many_types 136 ---- 137 │ 138 └ Node 1 139 └ *colexec.projPlusDatumInt64ConstOp 140 └ *colexec.colBatchScan 141 142 query T rowsort 143 SELECT 2 + _inet FROM many_types 144 ---- 145 NULL 146 127.0.0.3 147 192.168.0.2/16 148 149 query T 150 EXPLAIN (VEC) SELECT _time + _interval FROM many_types 151 ---- 152 │ 153 └ Node 1 154 └ *colexec.projPlusDatumIntervalOp 155 └ *colexec.colBatchScan 156 157 query T rowsort 158 SELECT _time + _interval FROM many_types 159 ---- 160 NULL 161 0000-01-01 13:34:56.124456 +0000 UTC 162 0000-01-01 02:23:45.468345 +0000 UTC 163 164 query T 165 EXPLAIN (VEC) SELECT _json - _int FROM many_types 166 ---- 167 │ 168 └ Node 1 169 └ *colexec.projMinusDatumInt64Op 170 └ *colexec.colBatchScan 171 172 query T rowsort 173 SELECT _json - _int FROM many_types 174 ---- 175 NULL 176 [1, "hello", {"a": ["foo", {"b": 3}]}] 177 [2, "hi", {"b": ["bar", {"c": 4}]}] 178 179 query T 180 EXPLAIN (VEC) SELECT _bytes || _bytes FROM many_types 181 ---- 182 │ 183 └ Node 1 184 └ *colexec.projConcatBytesBytesOp 185 └ *colexec.colBatchScan 186 187 query T 188 SELECT _bytes || _bytes FROM many_types 189 ---- 190 NULL 191 123123 192 456456 193 194 query T 195 EXPLAIN (VEC) SELECT _string || _string FROM many_types 196 ---- 197 │ 198 └ Node 1 199 └ *colexec.projConcatBytesBytesOp 200 └ *colexec.colBatchScan 201 202 query T 203 SELECT _string || _string FROM many_types 204 ---- 205 NULL 206 123123 207 456456 208 209 query T 210 EXPLAIN (VEC) SELECT _json || _json FROM many_types 211 ---- 212 │ 213 └ Node 1 214 └ *colexec.projConcatDatumDatumOp 215 └ *colexec.colBatchScan 216 217 query T 218 SELECT _json || _json FROM many_types 219 ---- 220 NULL 221 [1, "hello", {"a": ["foo", {"b": 3}]}, 1, "hello", {"a": ["foo", {"b": 3}]}] 222 [2, "hi", {"b": ["bar", {"c": 4}]}, 2, "hi", {"b": ["bar", {"c": 4}]}] 223 224 query T 225 EXPLAIN (VEC) SELECT _varbit || _varbit FROM many_types 226 ---- 227 │ 228 └ Node 1 229 └ *colexec.projConcatDatumDatumOp 230 └ *colexec.colBatchScan 231 232 query T 233 SELECT _varbit || _varbit FROM many_types 234 ---- 235 NULL 236 11 237 1111 238 239 240 # Make sure we fall back to row engine when we have a mixed-type expression 241 # with dates. 242 query T 243 EXPLAIN (VEC) SELECT _time + _date FROM many_types 244 ---- 245 │ 246 └ Node 1 247 └ *rowexec.tableReader