/* * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com> * * This program is free software: you can use, redistribute, and/or modify * it under the terms of the GNU Affero General Public License, version 3 * or later ("AGPL"), as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */#ifndef TDENGINE_QUERYUTIL_H#define TDENGINE_QUERYUTIL_HvoidclearTimeWindowResBuf(SQueryRuntimeEnv*pRuntimeEnv,SWindowResult*pOneOutputRes);voidcopyTimeWindowResBuf(SQueryRuntimeEnv*pRuntimeEnv,SWindowResult*dst,constSWindowResult*src);int32_tinitWindowResInfo(SWindowResInfo*pWindowResInfo,SQueryRuntimeEnv*pRuntimeEnv,int32_tsize,int32_tthreshold,int16_ttype);voidcleanupTimeWindowInfo(SWindowResInfo*pWindowResInfo,int32_tnumOfCols);voidresetTimeWindowInfo(SQueryRuntimeEnv*pRuntimeEnv,SWindowResInfo*pWindowResInfo);voidclearFirstNTimeWindow(SQueryRuntimeEnv*pRuntimeEnv,int32_tnum);voidclearClosedTimeWindow(SQueryRuntimeEnv*pRuntimeEnv);int32_tnumOfClosedTimeWindow(SWindowResInfo*pWindowResInfo);voidcloseTimeWindow(SWindowResInfo*pWindowResInfo,int32_tslot);voidcloseAllTimeWindow(SWindowResInfo*pWindowResInfo);voidremoveRedundantWindow(SWindowResInfo*pWindowResInfo,TSKEYlastKey,int32_torder);SWindowResult*getWindowResult(SWindowResInfo*pWindowResInfo,int32_tslot);int32_tcurTimeWindow(SWindowResInfo*pWindowResInfo);boolisWindowResClosed(SWindowResInfo*pWindowResInfo,int32_tslot);voidcreateQueryResultInfo(SQuery*pQuery,SWindowResult*pResultRow,boolisSTableQuery,SPosInfo*posInfo);#endif // TDENGINE_QUERYUTIL_H