Merge pull request #6548 from taosdata/feature/td-4783
[TD-4783]<feature>:support timestamp filter expression on master query
This commit is contained in:
commit
f37de55769
|
@ -4819,6 +4819,12 @@ int32_t validateWhereNode(SQueryInfo* pQueryInfo, tSqlExpr** pExpr, SSqlObj* pSq
|
||||||
if ((ret = getColumnQueryCondInfo(&pSql->cmd, pQueryInfo, condExpr.pColumnCond, TK_AND)) != TSDB_CODE_SUCCESS) {
|
if ((ret = getColumnQueryCondInfo(&pSql->cmd, pQueryInfo, condExpr.pColumnCond, TK_AND)) != TSDB_CODE_SUCCESS) {
|
||||||
goto PARSE_WHERE_EXIT;
|
goto PARSE_WHERE_EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (taosArrayGetSize(pQueryInfo->pUpstream) > 0 ) {
|
||||||
|
if ((ret = getColumnQueryCondInfo(&pSql->cmd, pQueryInfo, condExpr.pTimewindow, TK_AND)) != TSDB_CODE_SUCCESS) {
|
||||||
|
goto PARSE_WHERE_EXIT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 6. join condition
|
// 6. join condition
|
||||||
if ((ret = getJoinCondInfo(&pSql->cmd, pQueryInfo, condExpr.pJoinExpr)) != TSDB_CODE_SUCCESS) {
|
if ((ret = getJoinCondInfo(&pSql->cmd, pQueryInfo, condExpr.pJoinExpr)) != TSDB_CODE_SUCCESS) {
|
||||||
|
@ -7857,11 +7863,6 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
|
||||||
if (validateWhereNode(pQueryInfo, &pSqlNode->pWhere, pSql) != TSDB_CODE_SUCCESS) {
|
if (validateWhereNode(pQueryInfo, &pSqlNode->pWhere, pSql) != TSDB_CODE_SUCCESS) {
|
||||||
return TSDB_CODE_TSC_INVALID_OPERATION;
|
return TSDB_CODE_TSC_INVALID_OPERATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pTableMeta->tableInfo.precision == TSDB_TIME_PRECISION_MILLI) {
|
|
||||||
pQueryInfo->window.skey = pQueryInfo->window.skey / 1000;
|
|
||||||
pQueryInfo->window.ekey = pQueryInfo->window.ekey / 1000;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// validate the interval info
|
// validate the interval info
|
||||||
|
|
|
@ -352,5 +352,18 @@ if $rows != 0 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
print ==========================> td-4783
|
||||||
|
sql create table where_ts(ts timestamp, f int)
|
||||||
|
sql insert into where_ts values('2021-06-19 16:22:00', 1);
|
||||||
|
sql insert into where_ts values('2021-06-19 16:23:00', 2);
|
||||||
|
sql insert into where_ts values('2021-06-19 16:24:00', 3);
|
||||||
|
sql insert into where_ts values('2021-06-19 16:25:00', 1);
|
||||||
|
sql select * from (select * from where_ts) where ts<'2021-06-19 16:25:00' and ts>'2021-06-19 16:22:00'
|
||||||
|
if $row != 2 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
print $data00, $data01
|
||||||
|
if $data01 != 2 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
Loading…
Reference in New Issue