提交 00cd2471 编写于 作者: A Alex Duan

fix(query): subscribe remove block check block window

上级 4a2ca48f
......@@ -5433,21 +5433,25 @@ static SSDataBlock* doTableScanImpl(void* param, bool* newgroup) {
}
// check windows condition
int64_t skey = (*pTableQueryInfo)->win.skey;
if (QUERY_IS_ASC_QUERY(pQueryAttr)) {
// ASC
if ( skey > pBlock->info.window.ekey ) {
qWarn(" pTableQueryInfo skey(%" PRId64 ") > pBlock ekey(%" PRId64 "), so remove this block. pBlock skey=%" PRId64 " tid=%d",
skey, pBlock->info.window.ekey, pBlock->info.window.skey, pBlock->info.tid);
continue;
}
} else {
// DESC
if ( skey < pBlock->info.window.skey ) {
qWarn(" pTableQueryInfo skey(%" PRId64 ") < pBlock skey(%" PRId64 "), so remove this block. pBlock ekey=%" PRId64 "tid=%d",
skey, pBlock->info.window.skey, pBlock->info.window.ekey, pBlock->info.tid);
continue;
}
if (pBlock->info.window.skey != INT64_MIN && pBlock->info.window.skey != INT64_MAX &&
pBlock->info.window.ekey != INT64_MIN && pBlock->info.window.ekey != INT64_MAX) {
// normal block not specail block like last_row
int64_t skey = (*pTableQueryInfo)->win.skey;
if (QUERY_IS_ASC_QUERY(pQueryAttr)) {
// ASC
if ( skey > pBlock->info.window.ekey ) {
qWarn(" pTableQueryInfo skey(%" PRId64 ") > pBlock ekey(%" PRId64 "), so remove this block. pBlock skey=%" PRId64 " tid=%d",
skey, pBlock->info.window.ekey, pBlock->info.window.skey, pBlock->info.tid);
continue;
}
} else {
// DESC
if ( skey < pBlock->info.window.skey ) {
qWarn(" pTableQueryInfo skey(%" PRId64 ") < pBlock skey(%" PRId64 "), so remove this block. pBlock ekey=%" PRId64 "tid=%d",
skey, pBlock->info.window.skey, pBlock->info.window.ekey, pBlock->info.tid);
continue;
}
}
}
pRuntimeEnv->current = *pTableQueryInfo;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册