sleep 3000
sql connect

$dbPrefix = slm_alt_tg_db

print ========== slimit1_query.sim
# make sure the data in each table crosses a file block boundary
$rowNum = 300
$ts0 = 1537146000000
$delta = 600000
$db = $dbPrefix

sql use $db

#### group by t2,t1 + slimit
sql select count(*) from stb group by t2,t1 order by t2 asc slimit 5 soffset 6
if $rows != 3 then
  return -1
endi
if $data00 != $rowNum then
  return -1
endi
if $data01 != 2 then
  return -1
endi
if $data02 != 6 then
  return -1
endi
if $data10 != $rowNum then
  return -1
endi
if $data11 != 2 then
  return -1
endi
if $data12 != 7 then
  return -1
endi
$res = 2 * $rowNum
if $data20 != $res then
  return -1
endi
if $data21 != 2 then
  return -1
endi
if $data22 != 8 then
  return -1
endi
## desc
sql select count(*) from stb group by t2,t1 order by t2 desc slimit 5 soffset 0
if $rows != 5 then
  return -1
endi
$res = 2 * $rowNum
if $data00 != $res then
  return -1
endi
if $data01 != 2 then
  return -1
endi
if $data02 != 8 then
  return -1
endi
if $data10 != $rowNum then
  return -1
endi
if $data11 != 2 then
  return -1
endi
if $data12 != 7 then
  return -1
endi
if $data20 != $rowNum then
  return -1
endi
if $data21 != 2 then
  return -1
endi
if $data22 != 6 then
  return -1
endi
if $data30 != $rowNum then
  return -1
endi
if $data31 != 1 then
  return -1
endi
if $data32 != 5 then
  return -1
endi
if $data40 != $rowNum then
  return -1
endi
if $data41 != 1 then
  return -1
endi
if $data42 != 4 then
  return -1
endi

### empty result set
#sql select count(*) from stb group by t2,t1 order by t2 asc slimit 0 soffset 0
#if $rows != 0 then
#  return -1
#endi
#sql select count(*) from stb group by t2,t1 order by t2 asc slimit 5 soffset 10
#if $rows != 0 then
#  return -1
#endi

#### group by t2 + slimit
sql select count(*) from stb group by t2 order by t2 asc slimit 2 soffset 0
if $rows != 2 then
  return -1
endi
$res = 3 * $rowNum
if $data00 != $res then
  return -1
endi
if $data10 != $res then
  return -1
endi
if $data01 != 0 then
  return -1
endi
if $data11 != 1 then
  return -1 
endi

sql select count(*) from stb group by t2 order by t2 desc slimit 2 soffset 0
if $rows != 2 then
  return -1
endi
$res = 4 * $rowNum
if $data00 != $res then
  return -1
endi
$res = 3 * $rowNum
if $data10 != $res then
  return -1
endi
if $data01 != 2 then
  return -1
endi
if $data11 != 1 then
  return -1 
endi

sql select count(*) from stb group by t2 order by t2 asc slimit 2 soffset 1
if $rows != 2 then
  return -1
endi
$res = 3 * $rowNum
if $data00 != $res then
  return -1
endi
$res = 4 * $rowNum
if $data10 != $res then
  return -1
endi
if $data01 != 1 then
  return -1
endi
if $data11 != 2 then
  return -1 
endi

sql select count(*) from stb group by t2 order by t2 desc slimit 2 soffset 1
if $rows != 2 then
  return -1
endi
$res = 3 * $rowNum
if $data00 != $res then
  return -1
endi
if $data10 != $res then
  return -1
endi
if $data01 != 1 then
  return -1
endi
if $data11 != 0 then
  return -1 
endi

