complex_group.sim 15.7 KB
Newer Older
C
cpwu 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start

$loop_cnt = 0
check_dnode_ready:
    $loop_cnt = $loop_cnt + 1
    sleep 200
    if $loop_cnt == 10 then
        print ====> dnode not ready!
        return -1
    endi

sql show dnodes
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
if $data00 != 1 then
  return -1
endi
if $data04 != ready then
  goto check_dnode_ready
endi

sql connect

print =============== create database
sql create database db
sql show databases
if $rows != 2 then
  return -1
endi

sql use db

print =============== create super table and child table
sql create table stb1 (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp) tags (t1 int)
sql show stables
print $rows $data00 $data01 $data02
if $rows != 1 then
  return -1
endi

sql create table ct1 using stb1 tags ( 1 )
sql create table ct2 using stb1 tags ( 2 )
sql create table ct3 using stb1 tags ( 3 )
sql create table ct4 using stb1 tags ( 4 )
sql show tables
print $rows $data00 $data10 $data20
if $rows != 4 then
  return -1
endi

print =============== insert data into child table ct1 (s)
sql insert into ct1 values ( '2022-01-01 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now+1a )
sql insert into ct1 values ( '2022-01-01 01:01:06.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now+2a )
sql insert into ct1 values ( '2022-01-01 01:01:10.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now+3a )
sql insert into ct1 values ( '2022-01-01 01:01:16.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now+4a )
sql insert into ct1 values ( '2022-01-01 01:01:20.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now+5a )
sql insert into ct1 values ( '2022-01-01 01:01:26.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now+6a )
sql insert into ct1 values ( '2022-01-01 01:01:30.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", now+7a )
sql insert into ct1 values ( '2022-01-01 01:01:36.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", now+8a )

print =============== insert data into child table ct2 (d)
sql insert into ct2 values ( '2022-01-01 01:00:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now+1a )
sql insert into ct2 values ( '2022-01-01 10:00:01.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now+2a )
sql insert into ct2 values ( '2022-01-01 20:00:01.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now+3a )
sql insert into ct2 values ( '2022-01-02 10:00:01.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now+4a )
sql insert into ct2 values ( '2022-01-02 20:00:01.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now+5a )
sql insert into ct2 values ( '2022-01-03 10:00:01.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", now+6a )
sql insert into ct2 values ( '2022-01-03 20:00:01.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", now+7a )

print =============== insert data into child table ct3 (n)
sql insert into ct3 values ( '2021-12-21 01:01:01.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL )
sql insert into ct3 values ( '2021-12-31 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now+1a )
sql insert into ct3 values ( '2022-01-01 01:01:06.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now+2a )
sql insert into ct3 values ( '2022-01-07 01:01:10.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now+3a )
sql insert into ct3 values ( '2022-01-31 01:01:16.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now+4a )
sql insert into ct3 values ( '2022-02-01 01:01:20.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now+5a )
sql insert into ct3 values ( '2022-02-28 01:01:26.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now+6a )
sql insert into ct3 values ( '2022-03-01 01:01:30.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", "1970-01-01 08:00:00.000" )
sql insert into ct3 values ( '2022-03-08 01:01:36.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", "1969-01-01 01:00:00.000" )

print =============== insert data into child table ct4 (y)
sql insert into ct4 values ( '2020-10-21 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now+1a )
sql insert into ct4 values ( '2020-12-31 01:01:01.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now+2a )
sql insert into ct4 values ( '2021-01-01 01:01:06.000', 3, 33333, 333, 33, 3.33, 33.33, 0, "binary3", "nchar3", now+3a )
sql insert into ct4 values ( '2021-05-07 01:01:10.000', 4, 44444, 444, 44, 4.44, 44.44, 1, "binary4", "nchar4", now+4a )
sql insert into ct4 values ( '2021-09-30 01:01:16.000', 5, 55555, 555, 55, 5.55, 55.55, 0, "binary5", "nchar5", now+5a )
sql insert into ct4 values ( '2022-02-01 01:01:20.000', 6, 66666, 666, 66, 6.66, 66.66, 1, "binary6", "nchar6", now+6a )
sql insert into ct4 values ( '2022-10-28 01:01:26.000', 7, 00000, 000, 00, 0.00, 00.00, 1, "binary7", "nchar7", "1970-01-01 08:00:00.000" )
sql insert into ct4 values ( '2022-12-01 01:01:30.000', 8, -88888, -888, -88, -8.88, -88.88, 0, "binary8", "nchar8", "1969-01-01 01:00:00.000" )
sql insert into ct4 values ( '2022-12-31 01:01:36.000', 9, -99999999999999999, -999, -99, -9.99, -999999999999999999999.99, 1, "binary9", "nchar9", "1900-01-01 00:00:00.000" )

print ================ start query ======================


print ================ query 1 group by  filter
sql select count(*) from ct3 group by c1
print ====> sql : select count(*) from ct3 group by c1
print ====> rows: $rows
C
cpwu 已提交
100
if $rows != 9 then
C
cpwu 已提交
101 102 103 104 105 106
    return -1
endi

sql select count(*) from ct3 group by c2
print ====> sql : select count(*) from ct3 group by c2
print ====> rows: $rows
C
cpwu 已提交
107
if $rows != 9 then
C
cpwu 已提交
108 109 110 111 112 113
    return -1
endi

sql select count(*) from ct3 group by c3
print ====> sql : select count(*) from ct3 group by c3
print ====> rows: $rows
C
cpwu 已提交
114
if $rows != 9 then
C
cpwu 已提交
115 116 117 118 119 120
    return -1
endi

sql select count(*) from ct3 group by c4
print ====> sql : select count(*) from ct3 group by c4
print ====> rows: $rows
C
cpwu 已提交
121
if $rows != 9 then
C
cpwu 已提交
122 123 124 125 126 127
    return -1
endi

sql select count(*) from ct3 group by c5
print ====> sql : select count(*) from ct3 group by c5
print ====> rows: $rows
C
cpwu 已提交
128
if $rows != 9 then
C
cpwu 已提交
129 130 131 132 133 134
    return -1
endi

sql select count(*) from ct3 group by c6
print ====> sql : select count(*) from ct3 group by c6
print ====> rows: $rows
C
cpwu 已提交
135
if $rows != 9 then
C
cpwu 已提交
136 137 138 139 140 141
    return -1
endi

sql select count(*) from ct3 group by c7
print ====> sql : select count(*) from ct3 group by c7
print ====> rows: $rows
C
cpwu 已提交
142
if $rows != 3 then
C
cpwu 已提交
143 144 145 146 147 148
    return -1
endi

sql select count(*) from ct3 group by c8
print ====> sql : select count(*) from ct3 group by c8
print ====> rows: $rows
C
cpwu 已提交
149
if $rows != 9 then
C
cpwu 已提交
150 151 152 153 154 155
    return -1
endi

sql select count(*) from ct3 group by c9
print ====> sql : select count(*) from ct3 group by c9
print ====> rows: $rows
C
cpwu 已提交
156
if $rows != 9 then
C
cpwu 已提交
157 158 159 160 161 162
    return -1
endi

sql select count(*) from ct3 group by c10
print ====> sql : select count(*) from ct3 group by c10
print ====> rows: $rows
C
cpwu 已提交
163
if $rows != 9 then
C
cpwu 已提交
164 165 166
    return -1
endi

C
cpwu 已提交
167 168
print ================ query 2 complex with group by
sql select count(c1) from ct3 where c1 > 2 group by c7 limit 1 offset 1
C
cpwu 已提交
169
print ====> sql : select count(c1) from ct3 where c1 > 2 group by c7 limit 1 offset 1
C
cpwu 已提交
170 171 172 173 174
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
175 176
sql select abs(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select abs(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
177 178 179 180 181
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
182 183
sql select acos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select acos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
184 185 186 187 188
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
189 190
sql select asin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select asin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
191 192 193 194 195
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
196 197
sql select atan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select atan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
198 199 200 201 202
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
203 204
sql select ceil(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select ceil(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
205 206 207 208 209
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
210 211
sql select cos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select cos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
212 213 214 215 216
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
217 218
sql select floor(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select floor(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
219 220 221 222 223
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
224 225
sql select log(c1,10) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select log(c1,10) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
226 227 228 229 230
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
231 232
sql select pow(c1,3) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select pow(c1,3) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
233 234 235 236 237
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
238 239
sql select round(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select round(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
240 241 242 243 244
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
245 246
sql select sqrt(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select sqrt(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
247 248 249 250 251
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
252 253
sql select sin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select sin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
254 255 256 257 258
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
259 260
sql select tan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select tan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
261 262 263 264 265
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309

print =================== count all rows
sql select count(c1) from stb1
print ====> sql : select count(c1) from stb1
print ====> rows: $data00
if $data00 != 33 then
    return -1
endi

#=================================================
print =============== stop and restart taosd
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s start

$loop_cnt = 0
check_dnode_ready_0:
	  $loop_cnt = $loop_cnt + 1
	  sleep 200
	  if $loop_cnt == 10 then
	      print ====> dnode not ready!
		    return -1
	  endi

sql show dnodes
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
if $data00 != 1 then
    return -1
endi
if $data04 != ready then
    goto check_dnode_ready_0
endi

print =================== count all rows
sql select count(c1) from stb1
print ====> sql : select count(c1) from stb1
print ====> rows: $data00
if $data00 != 33 then
  return -1
endi

print ================ query 1 group by  filter
sql select count(*) from ct3 group by c1
print ====> sql : select count(*) from ct3 group by c1
print ====> rows: $rows
C
cpwu 已提交
310
if $rows != 9 then
C
cpwu 已提交
311 312 313 314 315 316
    return -1
endi

sql select count(*) from ct3 group by c2
print ====> sql : select count(*) from ct3 group by c2
print ====> rows: $rows
C
cpwu 已提交
317
if $rows != 9 then
C
cpwu 已提交
318 319 320 321 322 323
    return -1
endi

sql select count(*) from ct3 group by c3
print ====> sql : select count(*) from ct3 group by c3
print ====> rows: $rows
C
cpwu 已提交
324
if $rows != 9 then
C
cpwu 已提交
325 326 327 328 329 330
    return -1
endi

sql select count(*) from ct3 group by c4
print ====> sql : select count(*) from ct3 group by c4
print ====> rows: $rows
C
cpwu 已提交
331
if $rows != 9 then
C
cpwu 已提交
332 333 334 335 336 337
    return -1
endi

sql select count(*) from ct3 group by c5
print ====> sql : select count(*) from ct3 group by c5
print ====> rows: $rows
C
cpwu 已提交
338
if $rows != 9 then
C
cpwu 已提交
339 340 341 342 343 344
    return -1
endi

sql select count(*) from ct3 group by c6
print ====> sql : select count(*) from ct3 group by c6
print ====> rows: $rows
C
cpwu 已提交
345
if $rows != 9 then
C
cpwu 已提交
346 347 348 349 350 351
    return -1
endi

sql select count(*) from ct3 group by c7
print ====> sql : select count(*) from ct3 group by c7
print ====> rows: $rows
C
cpwu 已提交
352
if $rows != 3 then
C
cpwu 已提交
353 354 355 356 357 358
    return -1
endi

sql select count(*) from ct3 group by c8
print ====> sql : select count(*) from ct3 group by c8
print ====> rows: $rows
C
cpwu 已提交
359
if $rows != 9 then
C
cpwu 已提交
360 361 362 363 364 365
    return -1
endi

sql select count(*) from ct3 group by c9
print ====> sql : select count(*) from ct3 group by c9
print ====> rows: $rows
C
cpwu 已提交
366
if $rows != 9 then
C
cpwu 已提交
367 368 369 370 371 372
    return -1
endi

sql select count(*) from ct3 group by c10
print ====> sql : select count(*) from ct3 group by c10
print ====> rows: $rows
C
cpwu 已提交
373
if $rows != 9 then
C
cpwu 已提交
374 375 376
    return -1
endi

C
cpwu 已提交
377 378
print ================ query 2 complex with group by
sql select count(c1) from ct3 where c1 > 2 group by c7 limit 1 offset 1
C
cpwu 已提交
379
print ====> sql : select count(c1) from ct3 where c1 > 2 group by c7 limit 1 offset 1
C
cpwu 已提交
380 381 382 383 384
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
385 386
sql select abs(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select abs(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
387 388 389 390 391
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
392 393
sql select acos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select acos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
394 395 396 397 398
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
399 400
sql select asin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select asin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
401 402 403 404 405
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
406 407
sql select atan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select atan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
408 409 410 411 412
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
413 414
sql select ceil(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select ceil(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
415 416 417 418 419
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
420 421
sql select cos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select cos(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
422 423 424 425 426
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
427 428
sql select floor(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select floor(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
429 430 431 432 433
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
434 435
sql select log(c1,10) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select log(c1,10) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
436 437 438 439 440
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
441 442
sql select pow(c1,3) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select pow(c1,3) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
443 444 445 446 447
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
448 449
sql select round(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select round(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
450 451 452 453 454
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
455 456
sql select sqrt(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select sqrt(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
457 458 459 460 461
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
462 463
sql select sin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select sin(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
464 465 466 467 468
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
469 470
sql select tan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 1
print ====> sql : select tan(c1) from ct3 where c1 > 2 group by c1 limit 1 offset 2
C
cpwu 已提交
471 472 473 474 475
print ====> rows: $rows
if $rows != 1 then
    return -1
endi

C
cpwu 已提交
476
system sh/exec.sh -n dnode1 -s stop -x SIGINT