diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index d3651efef4bd524fc5e7a8ec20c63e693cd46351..ded334c69f292381165cb0c529eca0f8ae58bb04 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -7816,13 +7816,19 @@ static STableMeta* extractTempTableMetaFromSubquery(SQueryInfo* pUpstream) { int32_t n = 0; for(int32_t i = 0; i < numOfColumns; ++i) { SInternalField* pField = tscFieldInfoGetInternalField(&pUpstream->fieldsInfo, i); - if (pField->visible) { - meta->schema[n].bytes = pField->field.bytes; - meta->schema[n].type = pField->field.type; - meta->schema[n].colId = pField->pExpr->base.resColId; - tstrncpy(meta->schema[n].name, pField->pExpr->base.aliasName, TSDB_COL_NAME_LEN); - n += 1; + if (!pField->visible) { + continue; } + + meta->schema[n].bytes = pField->field.bytes; + meta->schema[n].type = pField->field.type; + + SExprInfo* pExpr = pField->pExpr; + meta->schema[n].colId = pExpr->base.resColId; + tstrncpy(meta->schema[n].name, pField->pExpr->base.aliasName, TSDB_COL_NAME_LEN); + info->rowSize += meta->schema[n].bytes; + + n += 1; } return meta; diff --git a/src/query/inc/qExecutor.h b/src/query/inc/qExecutor.h index 7c82aa659d76b2008540daa957a0998394a60b9f..9348606d0cde43106b348e71db3f6f67082ef380 100644 --- a/src/query/inc/qExecutor.h +++ b/src/query/inc/qExecutor.h @@ -105,7 +105,7 @@ typedef struct SResultRowInfo { int16_t type:8; // data type for hash key int32_t size:24; // number of result set int32_t capacity; // max capacity - SResultRow* current; // current active result row + int32_t curPos; // current active result row index of pResult list } SResultRowInfo; typedef struct SColumnFilterElem { @@ -423,7 +423,7 @@ typedef struct STagScanInfo { SColumnInfo* pCols; SSDataBlock* pRes; int32_t totalTables; - int32_t currentIndex; + int32_t curPos; } STagScanInfo; typedef struct SOptrBasicInfo { diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y index 5b6b930e85b6fc2eb6dcfa483ef190d48bed23f9..abd7d06b6080f6361cb1504b8d86c62f11ee0bac 100644 --- a/src/query/inc/sql.y +++ b/src/query/inc/sql.y @@ -303,11 +303,13 @@ alter_db_optr(Y) ::= alter_db_optr(Z) quorum(X). { Y = Z; Y.quorum = strtol alter_db_optr(Y) ::= alter_db_optr(Z) keep(X). { Y = Z; Y.keep = X; } alter_db_optr(Y) ::= alter_db_optr(Z) blocks(X). { Y = Z; Y.numOfBlocks = strtol(X.z, NULL, 10); } alter_db_optr(Y) ::= alter_db_optr(Z) comp(X). { Y = Z; Y.compressionLevel = strtol(X.z, NULL, 10); } -alter_db_optr(Y) ::= alter_db_optr(Z) wal(X). { Y = Z; Y.walLevel = strtol(X.z, NULL, 10); } -alter_db_optr(Y) ::= alter_db_optr(Z) fsync(X). { Y = Z; Y.fsyncPeriod = strtol(X.z, NULL, 10); } alter_db_optr(Y) ::= alter_db_optr(Z) update(X). { Y = Z; Y.update = strtol(X.z, NULL, 10); } alter_db_optr(Y) ::= alter_db_optr(Z) cachelast(X). { Y = Z; Y.cachelast = strtol(X.z, NULL, 10); } +// dynamically update the following two parameters are not allowed. +//alter_db_optr(Y) ::= alter_db_optr(Z) fsync(X). { Y = Z; Y.fsyncPeriod = strtol(X.z, NULL, 10); } +//alter_db_optr(Y) ::= alter_db_optr(Z) wal(X). { Y = Z; Y.walLevel = strtol(X.z, NULL, 10); } not support yet + %type alter_topic_optr {SCreateDbInfo} alter_topic_optr(Y) ::= alter_db_optr(Z). { Y = Z; Y.dbType = TSDB_DB_TYPE_TOPIC; } diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index ea0806e54178e8ee556d40ab55b97c1eaf04f463..3d585afb874fcb698584519382eab5c708671913 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -411,8 +411,8 @@ static void prepareResultListBuffer(SResultRowInfo* pResultRowInfo, SQueryRuntim pResultRowInfo->capacity = (int32_t)newCapacity; } -static SResultRow *doPrepareResultRowFromKey(SQueryRuntimeEnv *pRuntimeEnv, SResultRowInfo *pResultRowInfo, int64_t tid, char *pData, - int16_t bytes, bool masterscan, uint64_t tableGroupId) { +static SResultRow* doSetResultOutBufByKey(SQueryRuntimeEnv* pRuntimeEnv, SResultRowInfo* pResultRowInfo, int64_t tid, + char* pData, int16_t bytes, bool masterscan, uint64_t tableGroupId) { bool existed = false; SET_RES_WINDOW_KEY(pRuntimeEnv->keyBuf, pData, bytes, tableGroupId); @@ -426,16 +426,21 @@ static SResultRow *doPrepareResultRowFromKey(SQueryRuntimeEnv *pRuntimeEnv, SRes } if (p1 != NULL) { - pResultRowInfo->current = (*p1); - if (pResultRowInfo->size == 0) { existed = false; + assert(pResultRowInfo->curPos == -1); } else if (pResultRowInfo->size == 1) { existed = (pResultRowInfo->pResult[0] == (*p1)); + pResultRowInfo->curPos = 0; } else { // check if current pResultRowInfo contains the existed pResultRow SET_RES_WINDOW_KEY(pRuntimeEnv->keyBuf, pData, bytes, tid); - void* ptr = taosHashGet(pRuntimeEnv->pResultRowListSet, pRuntimeEnv->keyBuf, GET_RES_WINDOW_KEY_LEN(bytes)); - existed = (ptr != NULL); + int64_t* index = taosHashGet(pRuntimeEnv->pResultRowListSet, pRuntimeEnv->keyBuf, GET_RES_WINDOW_KEY_LEN(bytes)); + if (index != NULL) { + pResultRowInfo->curPos = (int32_t) *index; + existed = true; + } else { + existed = false; + } } } } else { @@ -462,12 +467,12 @@ static SResultRow *doPrepareResultRowFromKey(SQueryRuntimeEnv *pRuntimeEnv, SRes pResult = *p1; } + pResultRowInfo->curPos = pResultRowInfo->size; pResultRowInfo->pResult[pResultRowInfo->size++] = pResult; - pResultRowInfo->current = pResult; - int64_t dummyVal = 0; + int64_t index = pResultRowInfo->curPos; SET_RES_WINDOW_KEY(pRuntimeEnv->keyBuf, pData, bytes, tid); - taosHashPut(pRuntimeEnv->pResultRowListSet, pRuntimeEnv->keyBuf, GET_RES_WINDOW_KEY_LEN(bytes), &dummyVal, POINTER_BYTES); + taosHashPut(pRuntimeEnv->pResultRowListSet, pRuntimeEnv->keyBuf, GET_RES_WINDOW_KEY_LEN(bytes), &index, POINTER_BYTES); } // too many time window in query @@ -475,7 +480,7 @@ static SResultRow *doPrepareResultRowFromKey(SQueryRuntimeEnv *pRuntimeEnv, SRes longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_TOO_MANY_TIMEWINDOW); } - return pResultRowInfo->current; + return pResultRowInfo->pResult[pResultRowInfo->curPos]; } static void getInitialStartTimeWindow(SQueryAttr* pQueryAttr, TSKEY ts, STimeWindow* w) { @@ -506,13 +511,8 @@ static void getInitialStartTimeWindow(SQueryAttr* pQueryAttr, TSKEY ts, STimeWin static STimeWindow getActiveTimeWindow(SResultRowInfo * pResultRowInfo, int64_t ts, SQueryAttr *pQueryAttr) { STimeWindow w = {0}; - if (pResultRowInfo->current == NULL) { // the first window, from the previous stored value -// if (pResultRowInfo->prevSKey == TSKEY_INITIAL_VAL) { - getInitialStartTimeWindow(pQueryAttr, ts, &w); -// pResultRowInfo->prevSKey = w.skey; -// } else { -// w.skey = pResultRowInfo->prevSKey; -// } + if (pResultRowInfo->curPos == -1) { // the first window, from the previous stored value + getInitialStartTimeWindow(pQueryAttr, ts, &w); if (pQueryAttr->interval.intervalUnit == 'n' || pQueryAttr->interval.intervalUnit == 'y') { w.ekey = taosTimeAdd(w.skey, pQueryAttr->interval.interval, pQueryAttr->interval.intervalUnit, pQueryAttr->precision) - 1; @@ -520,7 +520,7 @@ static STimeWindow getActiveTimeWindow(SResultRowInfo * pResultRowInfo, int64_t w.ekey = w.skey + pQueryAttr->interval.interval - 1; } } else { - w = pResultRowInfo->current->win; + w = getResultRow(pResultRowInfo, pResultRowInfo->curPos)->win; } if (w.skey > ts || w.ekey < ts) { @@ -600,13 +600,13 @@ static int32_t addNewWindowResultBuf(SResultRow *pWindowRes, SDiskbasedResultBuf return 0; } -static int32_t setWindowOutputBufByKey(SQueryRuntimeEnv *pRuntimeEnv, SResultRowInfo *pResultRowInfo, int64_t tid, STimeWindow *win, +static int32_t setResultOutputBufByKey(SQueryRuntimeEnv *pRuntimeEnv, SResultRowInfo *pResultRowInfo, int64_t tid, STimeWindow *win, bool masterscan, SResultRow **pResult, int64_t tableGroupId, SQLFunctionCtx* pCtx, int32_t numOfOutput, int32_t* rowCellInfoOffset) { assert(win->skey <= win->ekey); SDiskbasedResultBuf *pResultBuf = pRuntimeEnv->pResultBuf; - SResultRow *pResultRow = doPrepareResultRowFromKey(pRuntimeEnv, pResultRowInfo, tid, (char *)&win->skey, TSDB_KEYSIZE, masterscan, tableGroupId); + SResultRow *pResultRow = doSetResultOutBufByKey(pRuntimeEnv, pResultRowInfo, tid, (char *)&win->skey, TSDB_KEYSIZE, masterscan, tableGroupId); if (pResultRow == NULL) { *pResult = NULL; return TSDB_CODE_SUCCESS; @@ -707,9 +707,10 @@ static void doUpdateResultRowIndex(SResultRowInfo*pResultRowInfo, TSKEY lastKey, if (skey == TSKEY_INITIAL_VAL) { if (pResultRowInfo->size == 0) { // assert(pResultRowInfo->current == NULL); - pResultRowInfo->current = NULL; + assert(pResultRowInfo->curPos == -1); + pResultRowInfo->curPos = -1; } else { - pResultRowInfo->current = pResultRowInfo->pResult[pResultRowInfo->size - 1]; + pResultRowInfo->curPos = pResultRowInfo->size - 1; } } else { @@ -721,9 +722,9 @@ static void doUpdateResultRowIndex(SResultRowInfo*pResultRowInfo, TSKEY lastKey, } if (i == pResultRowInfo->size - 1) { - pResultRowInfo->current = pResultRowInfo->pResult[i]; + pResultRowInfo->curPos = i; } else { - pResultRowInfo->current = pResultRowInfo->pResult[i + 1]; // current not closed result object + pResultRowInfo->curPos = i + 1; // current not closed result object } } } @@ -732,7 +733,7 @@ static void updateResultRowInfoActiveIndex(SResultRowInfo* pResultRowInfo, SQuer bool ascQuery = QUERY_IS_ASC_QUERY(pQueryAttr); if ((lastKey > pQueryAttr->window.ekey && ascQuery) || (lastKey < pQueryAttr->window.ekey && (!ascQuery))) { closeAllResultRows(pResultRowInfo); - pResultRowInfo->current = pResultRowInfo->pResult[pResultRowInfo->size - 1]; + pResultRowInfo->curPos = pResultRowInfo->size - 1; } else { int32_t step = ascQuery ? 1 : -1; doUpdateResultRowIndex(pResultRowInfo, lastKey - step, ascQuery, pQueryAttr->timeWindowInterpo); @@ -1241,7 +1242,7 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul int32_t step = GET_FORWARD_DIRECTION_FACTOR(pQueryAttr->order.order); bool ascQuery = QUERY_IS_ASC_QUERY(pQueryAttr); - SResultRow* prevRow = pResultRowInfo->current; + int32_t prevIndex = pResultRowInfo->curPos; TSKEY* tsCols = NULL; if (pSDataBlock->pDataBlock != NULL) { @@ -1258,7 +1259,7 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul bool masterScan = IS_MASTER_SCAN(pRuntimeEnv); SResultRow* pResult = NULL; - int32_t ret = setWindowOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &win, masterScan, &pResult, tableGroupId, pInfo->pCtx, + int32_t ret = setResultOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &win, masterScan, &pResult, tableGroupId, pInfo->pCtx, numOfOutput, pInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS || pResult == NULL) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -1270,25 +1271,17 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul getNumOfRowsInTimeWindow(pRuntimeEnv, &pSDataBlock->info, tsCols, startPos, ekey, binarySearchForKey, true); // prev time window not interpolation yet. -// int32_t curIndex = curTimeWindowIndex(pResultRowInfo); -// if (prevIndex != -1 && prevIndex < curIndex && pQueryAttr->timeWindowInterpo) { -// for (int32_t j = prevIndex; j < curIndex; ++j) { // previous time window may be all closed already. - if (prevRow != NULL && prevRow != pResultRowInfo->current && pQueryAttr->timeWindowInterpo) { - int32_t j = 0; - while(pResultRowInfo->pResult[j] != prevRow) { - j++; - } - - SResultRow* current = pResultRowInfo->current; - for(; pResultRowInfo->pResult[j] != current && j < pResultRowInfo->size; ++j) { - SResultRow* pRes = pResultRowInfo->pResult[j]; + int32_t curIndex = pResultRowInfo->curPos; + if (prevIndex != -1 && prevIndex < curIndex && pQueryAttr->timeWindowInterpo) { + for (int32_t j = prevIndex; j < curIndex; ++j) { // previous time window may be all closed already. + SResultRow* pRes = getResultRow(pResultRowInfo, j); if (pRes->closed) { assert(resultRowInterpolated(pRes, RESULT_ROW_START_INTERP) && resultRowInterpolated(pRes, RESULT_ROW_END_INTERP)); continue; } STimeWindow w = pRes->win; - ret = setWindowOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &w, masterScan, &pResult, + ret = setResultOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &w, masterScan, &pResult, tableGroupId, pInfo->pCtx, numOfOutput, pInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -1306,7 +1299,7 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul } // restore current time window - ret = setWindowOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &win, masterScan, &pResult, tableGroupId, pInfo->pCtx, + ret = setResultOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &win, masterScan, &pResult, tableGroupId, pInfo->pCtx, numOfOutput, pInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -1326,7 +1319,7 @@ static void hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo* pResul } // null data, failed to allocate more memory buffer - int32_t code = setWindowOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &nextWin, masterScan, &pResult, tableGroupId, + int32_t code = setResultOutputBufByKey(pRuntimeEnv, pResultRowInfo, pSDataBlock->info.tid, &nextWin, masterScan, &pResult, tableGroupId, pInfo->pCtx, numOfOutput, pInfo->rowCellInfoOffset); if (code != TSDB_CODE_SUCCESS || pResult == NULL) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -1467,7 +1460,7 @@ static void doSessionWindowAggImpl(SOperatorInfo* pOperator, SSWindowOperatorInf SResultRow* pResult = NULL; pInfo->curWindow.ekey = pInfo->curWindow.skey; - int32_t ret = setWindowOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, + int32_t ret = setResultOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, &pResult, item->groupIndex, pBInfo->pCtx, pOperator->numOfOutput, pBInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { // null data, too many state code @@ -1488,7 +1481,7 @@ static void doSessionWindowAggImpl(SOperatorInfo* pOperator, SSWindowOperatorInf SResultRow* pResult = NULL; pInfo->curWindow.ekey = pInfo->curWindow.skey; - int32_t ret = setWindowOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, + int32_t ret = setResultOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, &pResult, item->groupIndex, pBInfo->pCtx, pOperator->numOfOutput, pBInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { // null data, too many state code @@ -1532,7 +1525,7 @@ static int32_t setGroupResultOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, SOptrBasic } int64_t tid = 0; - SResultRow *pResultRow = doPrepareResultRowFromKey(pRuntimeEnv, pResultRowInfo, tid, d, len, true, groupIndex); + SResultRow *pResultRow = doSetResultOutBufByKey(pRuntimeEnv, pResultRowInfo, tid, d, len, true, groupIndex); assert (pResultRow != NULL); setResultRowKey(pResultRow, pData, type); @@ -2779,7 +2772,7 @@ int32_t loadDataBlockOnDemand(SQueryRuntimeEnv* pRuntimeEnv, STableScanInfo* pTa TSKEY k = ascQuery? pBlock->info.window.skey : pBlock->info.window.ekey; STimeWindow win = getActiveTimeWindow(pTableScanInfo->pResultRowInfo, k, pQueryAttr); - if (setWindowOutputBufByKey(pRuntimeEnv, pTableScanInfo->pResultRowInfo, pBlock->info.tid, &win, masterScan, &pResult, groupId, + if (setResultOutputBufByKey(pRuntimeEnv, pTableScanInfo->pResultRowInfo, pBlock->info.tid, &win, masterScan, &pResult, groupId, pTableScanInfo->pCtx, pTableScanInfo->numOfOutput, pTableScanInfo->rowCellInfoOffset) != TSDB_CODE_SUCCESS) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -2825,7 +2818,7 @@ int32_t loadDataBlockOnDemand(SQueryRuntimeEnv* pRuntimeEnv, STableScanInfo* pTa TSKEY k = ascQuery? pBlock->info.window.skey : pBlock->info.window.ekey; STimeWindow win = getActiveTimeWindow(pTableScanInfo->pResultRowInfo, k, pQueryAttr); - if (setWindowOutputBufByKey(pRuntimeEnv, pTableScanInfo->pResultRowInfo, pBlock->info.tid, &win, masterScan, &pResult, groupId, + if (setResultOutputBufByKey(pRuntimeEnv, pTableScanInfo->pResultRowInfo, pBlock->info.tid, &win, masterScan, &pResult, groupId, pTableScanInfo->pCtx, pTableScanInfo->numOfOutput, pTableScanInfo->rowCellInfoOffset) != TSDB_CODE_SUCCESS) { longjmp(pRuntimeEnv->env, TSDB_CODE_QRY_OUT_OF_MEMORY); @@ -3181,11 +3174,11 @@ static void updateTableQueryInfoForReverseScan(STableQueryInfo *pTableQueryInfo) pTableQueryInfo->cur.vgroupIndex = -1; // set the index to be the end slot of result rows array - SResultRowInfo* pResRowInfo = &pTableQueryInfo->resInfo; - if (pResRowInfo->size > 0) { - pResRowInfo->current = pResRowInfo->pResult[pResRowInfo->size - 1]; + SResultRowInfo* pResultRowInfo = &pTableQueryInfo->resInfo; + if (pResultRowInfo->size > 0) { + pResultRowInfo->curPos = pResultRowInfo->size - 1; } else { - pResRowInfo->current = NULL; + pResultRowInfo->curPos = -1; } } @@ -3240,7 +3233,7 @@ void setDefaultOutputBuf(SQueryRuntimeEnv *pRuntimeEnv, SOptrBasicInfo *pInfo, i SResultRowInfo* pResultRowInfo = &pInfo->resultRowInfo; int64_t tid = 0; - SResultRow* pRow = doPrepareResultRowFromKey(pRuntimeEnv, pResultRowInfo, tid, (char *)&tid, sizeof(tid), true, uid); + SResultRow* pRow = doSetResultOutBufByKey(pRuntimeEnv, pResultRowInfo, tid, (char *)&tid, sizeof(tid), true, uid); for (int32_t i = 0; i < pDataBlock->info.numOfCols; ++i) { SColumnInfoData* pData = taosArrayGet(pDataBlock->pDataBlock, i); @@ -3477,7 +3470,7 @@ void doSetTableGroupOutputBuf(SQueryRuntimeEnv* pRuntimeEnv, SResultRowInfo* pRe int64_t tid = 0; SResultRow* pResultRow = - doPrepareResultRowFromKey(pRuntimeEnv, pResultRowInfo, tid, (char*)&tableGroupId, sizeof(tableGroupId), true, uid); + doSetResultOutBufByKey(pRuntimeEnv, pResultRowInfo, tid, (char*)&tableGroupId, sizeof(tableGroupId), true, uid); assert (pResultRow != NULL); /* @@ -3680,14 +3673,10 @@ void setIntervalQueryRange(SQueryRuntimeEnv *pRuntimeEnv, TSKEY key) { STableQueryInfo *pTableQueryInfo = pRuntimeEnv->current; SResultRowInfo *pResultRowInfo = &pTableQueryInfo->resInfo; - if (pResultRowInfo->current != NULL) { + if (pResultRowInfo->curPos != -1) { return; } -// if (pWindowResInfo->prevSKey != TSKEY_INITIAL_VAL) { -// return; -// } - pTableQueryInfo->win.skey = key; STimeWindow win = {.skey = key, .ekey = pQueryAttr->window.ekey}; @@ -4609,8 +4598,7 @@ static SSDataBlock* doTableScan(void* param, bool *newgroup) { } if (pResultRowInfo->size > 0) { - pResultRowInfo->current = pResultRowInfo->pResult[0]; -// pResultRowInfo->prevSKey = pResultRowInfo->pResult[0]->win.skey; + pResultRowInfo->curPos = 0; } qDebug("QInfo:0x%"PRIx64" start to repeat scan data blocks due to query func required, qrange:%" PRId64 "-%" PRId64, @@ -4635,8 +4623,7 @@ static SSDataBlock* doTableScan(void* param, bool *newgroup) { pTableScanInfo->order = cond.order; if (pResultRowInfo->size > 0) { - pResultRowInfo->current = pResultRowInfo->pResult[pResultRowInfo->size - 1]; -// pResultRowInfo->prevSKey = pResultRowInfo->current->win.skey; + pResultRowInfo->curPos = pResultRowInfo->size - 1; } p = doTableScanImpl(pOperator, newgroup); @@ -5496,7 +5483,7 @@ static void doStateWindowAggImpl(SOperatorInfo* pOperator, SStateWindowOperatorI } else { SResultRow* pResult = NULL; pInfo->curWindow.ekey = pInfo->curWindow.skey; - int32_t ret = setWindowOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, + int32_t ret = setResultOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, &pResult, item->groupIndex, pBInfo->pCtx, pOperator->numOfOutput, pBInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { // null data, too many state code @@ -5513,10 +5500,11 @@ static void doStateWindowAggImpl(SOperatorInfo* pOperator, SStateWindowOperatorI } } + SResultRow* pResult = NULL; pInfo->curWindow.ekey = pInfo->curWindow.skey; - int32_t ret = setWindowOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, + int32_t ret = setResultOutputBufByKey(pRuntimeEnv, &pBInfo->resultRowInfo, pSDataBlock->info.tid, &pInfo->curWindow, masterScan, &pResult, item->groupIndex, pBInfo->pCtx, pOperator->numOfOutput, pBInfo->rowCellInfoOffset); if (ret != TSDB_CODE_SUCCESS) { // null data, too many state code @@ -6294,8 +6282,8 @@ static SSDataBlock* doTagScan(void* param, bool* newgroup) { SColumnInfoData* pColInfo = taosArrayGet(pRes->pDataBlock, 0); - while(pInfo->currentIndex < pInfo->totalTables && count < maxNumOfTables) { - int32_t i = pInfo->currentIndex++; + while(pInfo->curPos < pInfo->totalTables && count < maxNumOfTables) { + int32_t i = pInfo->curPos++; STableQueryInfo *item = taosArrayGetP(pa, i); char *output = pColInfo->pData + count * rsize; @@ -6339,8 +6327,8 @@ static SSDataBlock* doTagScan(void* param, bool* newgroup) { SExprInfo* pExprInfo = pOperator->pExpr; // todo use the column list instead of exprinfo count = 0; - while(pInfo->currentIndex < pInfo->totalTables && count < maxNumOfTables) { - int32_t i = pInfo->currentIndex++; + while(pInfo->curPos < pInfo->totalTables && count < maxNumOfTables) { + int32_t i = pInfo->curPos++; STableQueryInfo* item = taosArrayGetP(pa, i); @@ -6369,7 +6357,7 @@ static SSDataBlock* doTagScan(void* param, bool* newgroup) { count += 1; } - if (pInfo->currentIndex >= pInfo->totalTables) { + if (pInfo->curPos >= pInfo->totalTables) { pOperator->status = OP_EXEC_DONE; } @@ -6388,7 +6376,7 @@ SOperatorInfo* createTagScanOperatorInfo(SQueryRuntimeEnv* pRuntimeEnv, SExprInf assert(numOfGroup == 0 || numOfGroup == 1); pInfo->totalTables = pRuntimeEnv->tableqinfoGroupInfo.numOfTables; - pInfo->currentIndex = 0; + pInfo->curPos = 0; SOperatorInfo* pOperator = calloc(1, sizeof(SOperatorInfo)); pOperator->name = "SeqTableTagScan"; diff --git a/src/query/src/qUtil.c b/src/query/src/qUtil.c index c14f46523d3f38615e1cfc4fad4f1e7083907991..04a7079128ac035542611f06559409a81bc43cf1 100644 --- a/src/query/src/qUtil.c +++ b/src/query/src/qUtil.c @@ -44,8 +44,7 @@ int32_t getOutputInterResultBufSize(SQueryAttr* pQueryAttr) { int32_t initResultRowInfo(SResultRowInfo *pResultRowInfo, int32_t size, int16_t type) { pResultRowInfo->type = type; pResultRowInfo->size = 0; -// pResultRowInfo->prevSKey = TSKEY_INITIAL_VAL; - pResultRowInfo->current = NULL; + pResultRowInfo->curPos = -1; pResultRowInfo->capacity = size; pResultRowInfo->pResult = calloc(pResultRowInfo->capacity, POINTER_BYTES); @@ -92,8 +91,7 @@ void resetResultRowInfo(SQueryRuntimeEnv *pRuntimeEnv, SResultRowInfo *pResultRo } pResultRowInfo->size = 0; - pResultRowInfo->current = NULL; -// pResultRowInfo->prevSKey = TSKEY_INITIAL_VAL; + pResultRowInfo->curPos = -1; } int32_t numOfClosedResultRows(SResultRowInfo *pResultRowInfo) { diff --git a/src/query/src/sql.c b/src/query/src/sql.c index 8fe3538a93c182b0f766a9542212e10d1ff4dd04..7d5748e29fd3d17783b8bbc07ae7a43cd49efc2a 100644 --- a/src/query/src/sql.c +++ b/src/query/src/sql.c @@ -129,16 +129,16 @@ typedef union { #define ParseARG_STORE yypParser->pInfo = pInfo #define YYFALLBACK 1 #define YYNSTATE 347 -#define YYNRULE 285 +#define YYNRULE 283 #define YYNTOKEN 190 #define YY_MAX_SHIFT 346 -#define YY_MIN_SHIFTREDUCE 549 -#define YY_MAX_SHIFTREDUCE 833 -#define YY_ERROR_ACTION 834 -#define YY_ACCEPT_ACTION 835 -#define YY_NO_ACTION 836 -#define YY_MIN_REDUCE 837 -#define YY_MAX_REDUCE 1121 +#define YY_MIN_SHIFTREDUCE 547 +#define YY_MAX_SHIFTREDUCE 829 +#define YY_ERROR_ACTION 830 +#define YY_ACCEPT_ACTION 831 +#define YY_NO_ACTION 832 +#define YY_MIN_REDUCE 833 +#define YY_MAX_REDUCE 1115 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -204,82 +204,82 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (735) +#define YY_ACTTAB_COUNT (731) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 23, 598, 1010, 598, 219, 344, 194, 835, 346, 599, - /* 10 */ 598, 599, 197, 54, 55, 225, 58, 59, 599, 988, - /* 20 */ 239, 48, 1097, 57, 300, 62, 60, 63, 61, 1001, - /* 30 */ 1001, 231, 233, 53, 52, 988, 988, 51, 50, 49, - /* 40 */ 54, 55, 35, 58, 59, 222, 223, 239, 48, 598, - /* 50 */ 57, 300, 62, 60, 63, 61, 1001, 599, 152, 236, - /* 60 */ 53, 52, 235, 152, 51, 50, 49, 55, 1007, 58, - /* 70 */ 59, 630, 261, 239, 48, 240, 57, 300, 62, 60, - /* 80 */ 63, 61, 29, 83, 982, 221, 53, 52, 145, 985, - /* 90 */ 51, 50, 49, 550, 551, 552, 553, 554, 555, 556, - /* 100 */ 557, 558, 559, 560, 561, 562, 345, 80, 772, 220, + /* 0 */ 23, 596, 1004, 596, 219, 344, 194, 831, 346, 597, + /* 10 */ 596, 597, 197, 54, 55, 225, 58, 59, 597, 982, + /* 20 */ 239, 48, 1091, 57, 302, 62, 60, 63, 61, 995, + /* 30 */ 995, 231, 233, 53, 52, 982, 982, 51, 50, 49, + /* 40 */ 54, 55, 35, 58, 59, 222, 223, 239, 48, 596, + /* 50 */ 57, 302, 62, 60, 63, 61, 995, 597, 152, 236, + /* 60 */ 53, 52, 235, 152, 51, 50, 49, 55, 1001, 58, + /* 70 */ 59, 770, 261, 239, 48, 240, 57, 302, 62, 60, + /* 80 */ 63, 61, 29, 83, 976, 221, 53, 52, 145, 979, + /* 90 */ 51, 50, 49, 548, 549, 550, 551, 552, 553, 554, + /* 100 */ 555, 556, 557, 558, 559, 560, 345, 771, 768, 220, /* 110 */ 95, 77, 54, 55, 35, 58, 59, 42, 197, 239, - /* 120 */ 48, 197, 57, 300, 62, 60, 63, 61, 1098, 232, - /* 130 */ 1046, 1098, 53, 52, 197, 89, 51, 50, 49, 54, - /* 140 */ 56, 264, 58, 59, 1098, 976, 239, 48, 974, 57, - /* 150 */ 300, 62, 60, 63, 61, 268, 267, 229, 298, 53, - /* 160 */ 52, 985, 248, 51, 50, 49, 41, 296, 339, 338, - /* 170 */ 295, 294, 293, 337, 292, 336, 335, 334, 291, 333, - /* 180 */ 332, 948, 936, 937, 938, 939, 940, 941, 942, 943, - /* 190 */ 944, 945, 946, 947, 949, 950, 58, 59, 24, 986, - /* 200 */ 239, 48, 253, 57, 300, 62, 60, 63, 61, 35, - /* 210 */ 195, 257, 256, 53, 52, 205, 330, 51, 50, 49, - /* 220 */ 53, 52, 206, 14, 51, 50, 49, 129, 128, 204, - /* 230 */ 298, 238, 787, 305, 83, 776, 81, 779, 116, 782, - /* 240 */ 200, 238, 787, 883, 35, 776, 330, 779, 179, 782, - /* 250 */ 114, 108, 119, 94, 91, 1094, 984, 118, 124, 127, - /* 260 */ 117, 987, 35, 217, 218, 152, 121, 301, 42, 41, - /* 270 */ 264, 339, 338, 217, 218, 242, 337, 1093, 336, 335, - /* 280 */ 334, 704, 333, 332, 701, 1117, 702, 230, 703, 1092, - /* 290 */ 260, 985, 75, 956, 680, 954, 955, 340, 917, 213, - /* 300 */ 957, 247, 959, 960, 958, 309, 961, 962, 152, 985, - /* 310 */ 64, 35, 244, 245, 1, 167, 62, 60, 63, 61, - /* 320 */ 64, 893, 320, 319, 53, 52, 179, 1109, 51, 50, - /* 330 */ 49, 5, 38, 169, 92, 282, 215, 88, 168, 102, - /* 340 */ 97, 101, 788, 783, 720, 76, 243, 35, 241, 784, - /* 350 */ 308, 307, 788, 783, 310, 188, 186, 184, 985, 784, - /* 360 */ 35, 35, 183, 132, 131, 130, 971, 972, 34, 975, - /* 370 */ 35, 68, 249, 35, 246, 35, 315, 314, 973, 778, - /* 380 */ 1047, 781, 280, 884, 51, 50, 49, 777, 179, 780, - /* 390 */ 311, 705, 706, 71, 985, 343, 342, 137, 143, 141, - /* 400 */ 140, 90, 717, 312, 316, 3, 180, 985, 985, 753, - /* 410 */ 754, 774, 33, 317, 69, 78, 318, 985, 322, 302, - /* 420 */ 985, 262, 985, 736, 724, 744, 745, 690, 216, 9, - /* 430 */ 285, 36, 692, 147, 72, 65, 26, 36, 287, 691, - /* 440 */ 36, 288, 65, 808, 789, 237, 597, 775, 93, 65, - /* 450 */ 16, 74, 15, 25, 25, 107, 25, 106, 18, 709, - /* 460 */ 17, 710, 707, 198, 708, 6, 20, 113, 19, 112, - /* 470 */ 199, 22, 201, 21, 126, 125, 196, 202, 203, 679, - /* 480 */ 208, 209, 210, 207, 193, 1057, 1056, 227, 1053, 1052, - /* 490 */ 228, 321, 258, 785, 144, 1009, 45, 1020, 1017, 1018, - /* 500 */ 1002, 786, 265, 1022, 1039, 163, 146, 150, 274, 1038, - /* 510 */ 983, 164, 142, 981, 165, 166, 791, 896, 290, 43, - /* 520 */ 735, 999, 191, 39, 279, 154, 269, 299, 892, 306, - /* 530 */ 224, 1116, 104, 1115, 271, 1112, 278, 170, 73, 70, - /* 540 */ 153, 47, 313, 283, 1108, 281, 110, 1107, 1104, 171, - /* 550 */ 914, 155, 277, 40, 37, 44, 275, 156, 192, 273, - /* 560 */ 880, 120, 878, 122, 123, 158, 876, 875, 270, 250, - /* 570 */ 182, 873, 872, 871, 870, 869, 46, 868, 185, 331, - /* 580 */ 187, 865, 863, 861, 859, 189, 856, 190, 115, 263, - /* 590 */ 79, 84, 272, 323, 1040, 324, 325, 326, 327, 328, - /* 600 */ 329, 341, 833, 252, 214, 832, 251, 254, 234, 289, - /* 610 */ 255, 831, 814, 813, 259, 211, 212, 264, 98, 10, - /* 620 */ 99, 82, 284, 712, 266, 85, 30, 874, 737, 148, - /* 630 */ 867, 174, 133, 173, 915, 172, 175, 176, 178, 177, - /* 640 */ 134, 135, 916, 136, 866, 952, 858, 4, 857, 740, - /* 650 */ 162, 159, 157, 149, 86, 160, 964, 2, 161, 742, - /* 660 */ 87, 226, 276, 31, 746, 151, 11, 32, 13, 12, - /* 670 */ 27, 28, 286, 643, 94, 96, 639, 637, 636, 635, - /* 680 */ 632, 297, 7, 100, 602, 790, 303, 792, 8, 304, - /* 690 */ 103, 682, 66, 105, 36, 67, 109, 111, 681, 678, - /* 700 */ 624, 622, 614, 620, 616, 618, 612, 610, 646, 645, - /* 710 */ 644, 642, 641, 640, 638, 634, 633, 181, 600, 566, - /* 720 */ 564, 837, 836, 836, 836, 836, 836, 836, 836, 836, - /* 730 */ 836, 836, 836, 138, 139, + /* 120 */ 48, 197, 57, 302, 62, 60, 63, 61, 1092, 232, + /* 130 */ 1040, 1092, 53, 52, 197, 89, 51, 50, 49, 54, + /* 140 */ 56, 968, 58, 59, 1092, 970, 239, 48, 262, 57, + /* 150 */ 302, 62, 60, 63, 61, 268, 267, 229, 36, 53, + /* 160 */ 52, 979, 248, 51, 50, 49, 41, 298, 339, 338, + /* 170 */ 297, 296, 295, 337, 294, 293, 292, 336, 291, 335, + /* 180 */ 334, 944, 932, 933, 934, 935, 936, 937, 938, 939, + /* 190 */ 940, 941, 942, 943, 945, 946, 58, 59, 24, 980, + /* 200 */ 239, 48, 90, 57, 302, 62, 60, 63, 61, 51, + /* 210 */ 50, 49, 152, 53, 52, 205, 78, 51, 50, 49, + /* 220 */ 53, 52, 206, 300, 51, 50, 49, 129, 128, 204, + /* 230 */ 732, 238, 783, 307, 83, 772, 740, 775, 35, 778, + /* 240 */ 147, 238, 783, 116, 253, 772, 65, 775, 35, 778, + /* 250 */ 300, 332, 152, 257, 256, 35, 879, 62, 60, 63, + /* 260 */ 61, 179, 332, 217, 218, 53, 52, 303, 42, 51, + /* 270 */ 50, 49, 700, 217, 218, 697, 304, 698, 14, 699, + /* 280 */ 41, 230, 339, 338, 1041, 979, 280, 337, 340, 913, + /* 290 */ 260, 336, 75, 335, 334, 978, 1, 167, 311, 213, + /* 300 */ 628, 242, 979, 244, 245, 114, 108, 119, 94, 91, + /* 310 */ 64, 195, 118, 124, 127, 117, 952, 80, 950, 951, + /* 320 */ 64, 121, 282, 953, 88, 76, 247, 954, 35, 955, + /* 330 */ 956, 5, 38, 169, 92, 3, 180, 35, 168, 102, + /* 340 */ 97, 101, 784, 779, 35, 35, 35, 35, 716, 780, + /* 350 */ 676, 264, 784, 779, 188, 186, 184, 200, 967, 780, + /* 360 */ 35, 183, 132, 131, 130, 1088, 965, 966, 34, 969, + /* 370 */ 1087, 312, 243, 787, 241, 979, 310, 309, 322, 321, + /* 380 */ 313, 889, 701, 702, 979, 81, 179, 314, 318, 319, + /* 390 */ 320, 979, 979, 979, 979, 880, 774, 249, 777, 246, + /* 400 */ 179, 317, 316, 324, 773, 713, 776, 979, 343, 342, + /* 410 */ 137, 741, 143, 141, 140, 749, 750, 68, 71, 264, + /* 420 */ 686, 26, 237, 285, 16, 688, 15, 287, 720, 687, + /* 430 */ 36, 981, 9, 36, 33, 65, 804, 93, 785, 65, + /* 440 */ 595, 74, 6, 107, 1086, 106, 25, 18, 25, 17, + /* 450 */ 25, 705, 703, 706, 704, 20, 113, 19, 112, 72, + /* 460 */ 69, 215, 22, 288, 21, 126, 125, 216, 198, 675, + /* 470 */ 199, 201, 196, 202, 203, 208, 209, 210, 207, 193, + /* 480 */ 1111, 1103, 1051, 1050, 227, 1047, 1046, 228, 323, 45, + /* 490 */ 258, 144, 1003, 1014, 1011, 1012, 1016, 996, 142, 265, + /* 500 */ 146, 1033, 150, 274, 1032, 977, 163, 164, 269, 224, + /* 510 */ 781, 975, 165, 166, 892, 290, 731, 43, 782, 191, + /* 520 */ 283, 993, 39, 301, 154, 888, 308, 1110, 104, 1109, + /* 530 */ 1106, 170, 315, 73, 1102, 110, 271, 278, 70, 153, + /* 540 */ 47, 1101, 155, 1098, 281, 171, 910, 40, 279, 277, + /* 550 */ 37, 275, 44, 273, 192, 270, 156, 876, 120, 874, + /* 560 */ 122, 123, 872, 871, 250, 182, 869, 868, 867, 866, + /* 570 */ 865, 864, 185, 187, 861, 859, 857, 855, 189, 852, + /* 580 */ 190, 333, 263, 79, 46, 84, 115, 272, 1034, 325, + /* 590 */ 326, 327, 328, 329, 330, 331, 214, 341, 829, 234, + /* 600 */ 251, 252, 289, 828, 254, 255, 827, 211, 212, 809, + /* 610 */ 98, 810, 99, 259, 264, 284, 10, 82, 708, 266, + /* 620 */ 85, 30, 870, 174, 178, 863, 911, 172, 173, 175, + /* 630 */ 176, 4, 133, 177, 862, 912, 134, 135, 948, 136, + /* 640 */ 854, 733, 148, 853, 157, 158, 159, 160, 736, 161, + /* 650 */ 149, 162, 958, 2, 86, 226, 738, 87, 276, 31, + /* 660 */ 742, 151, 32, 13, 11, 27, 286, 28, 12, 641, + /* 670 */ 96, 94, 639, 638, 637, 635, 634, 633, 630, 299, + /* 680 */ 600, 100, 7, 305, 786, 788, 8, 306, 103, 105, + /* 690 */ 66, 67, 109, 111, 678, 36, 677, 674, 622, 620, + /* 700 */ 612, 618, 614, 616, 610, 608, 644, 643, 642, 640, + /* 710 */ 636, 632, 631, 181, 598, 564, 562, 833, 832, 832, + /* 720 */ 832, 832, 832, 832, 832, 832, 832, 832, 832, 138, + /* 730 */ 139, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 259, 1, 194, 1, 193, 194, 259, 191, 192, 9, @@ -289,73 +289,73 @@ static const YYCODETYPE yy_lookahead[] = { /* 40 */ 13, 14, 194, 16, 17, 256, 256, 20, 21, 1, /* 50 */ 23, 24, 25, 26, 27, 28, 240, 9, 194, 200, /* 60 */ 33, 34, 200, 194, 37, 38, 39, 14, 260, 16, - /* 70 */ 17, 5, 256, 20, 21, 200, 23, 24, 25, 26, + /* 70 */ 17, 1, 256, 20, 21, 200, 23, 24, 25, 26, /* 80 */ 27, 28, 80, 80, 194, 237, 33, 34, 194, 241, /* 90 */ 37, 38, 39, 45, 46, 47, 48, 49, 50, 51, - /* 100 */ 52, 53, 54, 55, 56, 57, 58, 81, 81, 61, + /* 100 */ 52, 53, 54, 55, 56, 57, 58, 37, 81, 61, /* 110 */ 201, 111, 13, 14, 194, 16, 17, 114, 259, 20, /* 120 */ 21, 259, 23, 24, 25, 26, 27, 28, 269, 239, /* 130 */ 266, 269, 33, 34, 259, 266, 37, 38, 39, 13, - /* 140 */ 14, 115, 16, 17, 269, 236, 20, 21, 0, 23, - /* 150 */ 24, 25, 26, 27, 28, 261, 262, 237, 82, 33, + /* 140 */ 14, 0, 16, 17, 269, 236, 20, 21, 81, 23, + /* 150 */ 24, 25, 26, 27, 28, 261, 262, 237, 91, 33, /* 160 */ 34, 241, 194, 37, 38, 39, 92, 93, 94, 95, /* 170 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, /* 180 */ 106, 215, 216, 217, 218, 219, 220, 221, 222, 223, /* 190 */ 224, 225, 226, 227, 228, 229, 16, 17, 44, 231, - /* 200 */ 20, 21, 137, 23, 24, 25, 26, 27, 28, 194, - /* 210 */ 259, 146, 147, 33, 34, 61, 84, 37, 38, 39, - /* 220 */ 33, 34, 68, 80, 37, 38, 39, 73, 74, 75, - /* 230 */ 82, 1, 2, 79, 80, 5, 81, 7, 76, 9, - /* 240 */ 259, 1, 2, 199, 194, 5, 84, 7, 204, 9, - /* 250 */ 62, 63, 64, 110, 111, 259, 241, 69, 70, 71, - /* 260 */ 72, 242, 194, 33, 34, 194, 78, 37, 114, 92, - /* 270 */ 115, 94, 95, 33, 34, 68, 99, 259, 101, 102, - /* 280 */ 103, 2, 105, 106, 5, 242, 7, 237, 9, 259, - /* 290 */ 136, 241, 138, 215, 5, 217, 218, 213, 214, 145, - /* 300 */ 222, 68, 224, 225, 226, 237, 228, 229, 194, 241, - /* 310 */ 80, 194, 33, 34, 202, 203, 25, 26, 27, 28, - /* 320 */ 80, 199, 33, 34, 33, 34, 204, 242, 37, 38, - /* 330 */ 39, 62, 63, 64, 201, 264, 259, 266, 69, 70, - /* 340 */ 71, 72, 112, 113, 37, 201, 139, 194, 141, 119, - /* 350 */ 143, 144, 112, 113, 237, 62, 63, 64, 241, 119, - /* 360 */ 194, 194, 69, 70, 71, 72, 233, 234, 235, 236, - /* 370 */ 194, 91, 139, 194, 141, 194, 143, 144, 234, 5, - /* 380 */ 266, 7, 268, 199, 37, 38, 39, 5, 204, 7, - /* 390 */ 237, 112, 113, 91, 241, 65, 66, 67, 62, 63, - /* 400 */ 64, 243, 91, 237, 237, 197, 198, 241, 241, 127, - /* 410 */ 128, 1, 80, 237, 134, 257, 237, 241, 237, 15, - /* 420 */ 241, 81, 241, 81, 117, 81, 81, 81, 259, 118, - /* 430 */ 81, 91, 81, 91, 132, 91, 91, 91, 81, 81, - /* 440 */ 91, 109, 91, 81, 81, 60, 81, 37, 91, 91, - /* 450 */ 140, 80, 142, 91, 91, 140, 91, 142, 140, 5, - /* 460 */ 142, 7, 5, 259, 7, 80, 140, 140, 142, 142, - /* 470 */ 259, 140, 259, 142, 76, 77, 259, 259, 259, 108, - /* 480 */ 259, 259, 259, 259, 259, 232, 232, 232, 232, 232, - /* 490 */ 232, 232, 194, 119, 194, 194, 258, 194, 194, 194, - /* 500 */ 240, 119, 240, 194, 267, 244, 194, 194, 194, 267, - /* 510 */ 240, 194, 60, 194, 194, 194, 112, 194, 194, 194, - /* 520 */ 119, 255, 194, 194, 124, 253, 263, 194, 194, 194, - /* 530 */ 263, 194, 194, 194, 263, 194, 263, 194, 131, 133, - /* 540 */ 254, 130, 194, 125, 194, 129, 194, 194, 194, 194, - /* 550 */ 194, 252, 123, 194, 194, 194, 122, 251, 194, 121, - /* 560 */ 194, 194, 194, 194, 194, 249, 194, 194, 120, 194, - /* 570 */ 194, 194, 194, 194, 194, 194, 135, 194, 194, 107, - /* 580 */ 194, 194, 194, 194, 194, 194, 194, 194, 90, 195, - /* 590 */ 195, 195, 195, 89, 195, 50, 86, 88, 54, 87, - /* 600 */ 85, 82, 5, 5, 195, 5, 148, 148, 195, 195, - /* 610 */ 5, 5, 94, 93, 137, 195, 195, 115, 201, 80, - /* 620 */ 201, 116, 109, 81, 91, 91, 80, 195, 81, 80, - /* 630 */ 195, 206, 196, 210, 212, 211, 209, 207, 205, 208, - /* 640 */ 196, 196, 214, 196, 195, 230, 195, 197, 195, 81, - /* 650 */ 245, 248, 250, 91, 80, 247, 230, 202, 246, 81, - /* 660 */ 80, 1, 80, 91, 81, 80, 126, 91, 80, 126, - /* 670 */ 80, 80, 109, 9, 110, 76, 5, 5, 5, 5, - /* 680 */ 5, 15, 80, 76, 83, 81, 24, 112, 80, 58, - /* 690 */ 142, 5, 16, 142, 91, 16, 142, 142, 5, 81, + /* 200 */ 20, 21, 243, 23, 24, 25, 26, 27, 28, 37, + /* 210 */ 38, 39, 194, 33, 34, 61, 257, 37, 38, 39, + /* 220 */ 33, 34, 68, 82, 37, 38, 39, 73, 74, 75, + /* 230 */ 81, 1, 2, 79, 80, 5, 81, 7, 194, 9, + /* 240 */ 91, 1, 2, 76, 137, 5, 91, 7, 194, 9, + /* 250 */ 82, 84, 194, 146, 147, 194, 199, 25, 26, 27, + /* 260 */ 28, 204, 84, 33, 34, 33, 34, 37, 114, 37, + /* 270 */ 38, 39, 2, 33, 34, 5, 15, 7, 80, 9, + /* 280 */ 92, 237, 94, 95, 266, 241, 268, 99, 213, 214, + /* 290 */ 136, 103, 138, 105, 106, 241, 202, 203, 237, 145, + /* 300 */ 5, 68, 241, 33, 34, 62, 63, 64, 110, 111, + /* 310 */ 80, 259, 69, 70, 71, 72, 215, 81, 217, 218, + /* 320 */ 80, 78, 264, 222, 266, 201, 68, 226, 194, 228, + /* 330 */ 229, 62, 63, 64, 201, 197, 198, 194, 69, 70, + /* 340 */ 71, 72, 112, 113, 194, 194, 194, 194, 37, 119, + /* 350 */ 5, 115, 112, 113, 62, 63, 64, 259, 234, 119, + /* 360 */ 194, 69, 70, 71, 72, 259, 233, 234, 235, 236, + /* 370 */ 259, 237, 139, 112, 141, 241, 143, 144, 33, 34, + /* 380 */ 237, 199, 112, 113, 241, 81, 204, 237, 237, 237, + /* 390 */ 237, 241, 241, 241, 241, 199, 5, 139, 7, 141, + /* 400 */ 204, 143, 144, 237, 5, 91, 7, 241, 65, 66, + /* 410 */ 67, 81, 62, 63, 64, 127, 128, 91, 91, 115, + /* 420 */ 81, 91, 60, 81, 140, 81, 142, 81, 117, 81, + /* 430 */ 91, 242, 118, 91, 80, 91, 81, 91, 81, 91, + /* 440 */ 81, 80, 80, 140, 259, 142, 91, 140, 91, 142, + /* 450 */ 91, 5, 5, 7, 7, 140, 140, 142, 142, 132, + /* 460 */ 134, 259, 140, 109, 142, 76, 77, 259, 259, 108, + /* 470 */ 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + /* 480 */ 242, 242, 232, 232, 232, 232, 232, 232, 232, 258, + /* 490 */ 194, 194, 194, 194, 194, 194, 194, 240, 60, 240, + /* 500 */ 194, 267, 194, 194, 267, 240, 244, 194, 263, 263, + /* 510 */ 119, 194, 194, 194, 194, 194, 119, 194, 119, 194, + /* 520 */ 125, 255, 194, 194, 253, 194, 194, 194, 194, 194, + /* 530 */ 194, 194, 194, 131, 194, 194, 263, 263, 133, 254, + /* 540 */ 130, 194, 252, 194, 129, 194, 194, 194, 124, 123, + /* 550 */ 194, 122, 194, 121, 194, 120, 251, 194, 194, 194, + /* 560 */ 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + /* 570 */ 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + /* 580 */ 194, 107, 195, 195, 135, 195, 90, 195, 195, 89, + /* 590 */ 50, 86, 88, 54, 87, 85, 195, 82, 5, 195, + /* 600 */ 148, 5, 195, 5, 148, 5, 5, 195, 195, 93, + /* 610 */ 201, 94, 201, 137, 115, 109, 80, 116, 81, 91, + /* 620 */ 91, 80, 195, 206, 205, 195, 212, 211, 210, 209, + /* 630 */ 207, 197, 196, 208, 195, 214, 196, 196, 230, 196, + /* 640 */ 195, 81, 80, 195, 250, 249, 248, 247, 81, 246, + /* 650 */ 91, 245, 230, 202, 80, 1, 81, 80, 80, 91, + /* 660 */ 81, 80, 91, 80, 126, 80, 109, 80, 126, 9, + /* 670 */ 76, 110, 5, 5, 5, 5, 5, 5, 5, 15, + /* 680 */ 83, 76, 80, 24, 81, 112, 80, 58, 142, 142, + /* 690 */ 16, 16, 142, 142, 5, 91, 5, 81, 5, 5, /* 700 */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - /* 710 */ 5, 5, 5, 5, 5, 5, 5, 91, 83, 60, - /* 720 */ 59, 0, 270, 270, 270, 270, 270, 270, 270, 270, - /* 730 */ 270, 270, 270, 21, 21, 270, 270, 270, 270, 270, + /* 710 */ 5, 5, 5, 91, 83, 60, 59, 0, 270, 270, + /* 720 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 21, + /* 730 */ 21, 270, 270, 270, 270, 270, 270, 270, 270, 270, /* 740 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, /* 750 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, /* 760 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, @@ -374,109 +374,109 @@ static const YYCODETYPE yy_lookahead[] = { /* 890 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, /* 900 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, /* 910 */ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - /* 920 */ 270, 270, 270, 270, 270, + /* 920 */ 270, }; #define YY_SHIFT_COUNT (346) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (721) +#define YY_SHIFT_MAX (717) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 154, 74, 74, 177, 177, 76, 230, 240, 240, 2, + /* 0 */ 154, 74, 74, 188, 188, 168, 230, 240, 240, 2, /* 10 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - /* 20 */ 9, 9, 9, 0, 48, 240, 279, 279, 279, 3, - /* 30 */ 3, 9, 9, 9, 148, 9, 9, 162, 76, 132, - /* 40 */ 132, 66, 735, 735, 735, 240, 240, 240, 240, 240, + /* 20 */ 9, 9, 9, 0, 48, 240, 270, 270, 270, 3, + /* 30 */ 3, 9, 9, 9, 141, 9, 9, 167, 168, 178, + /* 40 */ 178, 295, 731, 731, 731, 240, 240, 240, 240, 240, /* 50 */ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - /* 60 */ 240, 240, 240, 240, 240, 279, 279, 279, 289, 289, - /* 70 */ 289, 289, 289, 289, 289, 9, 9, 9, 307, 9, - /* 80 */ 9, 9, 3, 3, 9, 9, 9, 9, 282, 282, - /* 90 */ 311, 3, 9, 9, 9, 9, 9, 9, 9, 9, + /* 60 */ 240, 240, 240, 240, 240, 270, 270, 270, 345, 345, + /* 70 */ 345, 345, 345, 345, 345, 9, 9, 9, 311, 9, + /* 80 */ 9, 9, 3, 3, 9, 9, 9, 9, 288, 288, + /* 90 */ 314, 3, 9, 9, 9, 9, 9, 9, 9, 9, /* 100 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, /* 110 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, /* 120 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, /* 130 */ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - /* 140 */ 9, 9, 9, 9, 452, 452, 452, 401, 401, 401, - /* 150 */ 452, 401, 452, 407, 406, 411, 418, 416, 400, 429, - /* 160 */ 434, 438, 448, 441, 452, 452, 452, 472, 76, 76, - /* 170 */ 452, 452, 498, 504, 545, 510, 509, 544, 512, 515, - /* 180 */ 472, 66, 452, 519, 519, 452, 519, 452, 519, 452, - /* 190 */ 452, 735, 735, 27, 99, 99, 126, 99, 53, 180, - /* 200 */ 291, 291, 291, 291, 188, 269, 293, 187, 187, 187, - /* 210 */ 187, 207, 233, 65, 143, 347, 347, 374, 382, 330, - /* 220 */ 336, 340, 26, 155, 342, 344, 345, 280, 302, 346, - /* 230 */ 349, 351, 357, 358, 332, 362, 363, 410, 385, 404, - /* 240 */ 365, 310, 315, 318, 454, 457, 326, 327, 371, 331, - /* 250 */ 398, 597, 458, 598, 600, 459, 605, 606, 518, 520, - /* 260 */ 477, 502, 513, 539, 505, 542, 546, 533, 534, 547, - /* 270 */ 549, 568, 562, 574, 578, 580, 660, 582, 583, 585, - /* 280 */ 572, 540, 576, 543, 588, 513, 590, 563, 591, 564, - /* 290 */ 599, 664, 671, 672, 673, 674, 675, 601, 666, 607, - /* 300 */ 602, 604, 575, 608, 662, 631, 676, 548, 551, 603, - /* 310 */ 603, 603, 603, 679, 554, 555, 603, 603, 603, 686, - /* 320 */ 693, 618, 603, 695, 696, 697, 698, 699, 700, 701, - /* 330 */ 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, - /* 340 */ 626, 635, 712, 713, 659, 661, 721, + /* 140 */ 9, 9, 9, 9, 438, 438, 438, 397, 397, 397, + /* 150 */ 438, 397, 438, 402, 405, 395, 410, 415, 424, 426, + /* 160 */ 429, 432, 435, 449, 438, 438, 438, 474, 168, 168, + /* 170 */ 438, 438, 496, 500, 540, 505, 504, 539, 507, 510, + /* 180 */ 474, 295, 438, 515, 515, 438, 515, 438, 515, 438, + /* 190 */ 438, 731, 731, 27, 99, 99, 126, 99, 53, 180, + /* 200 */ 232, 232, 232, 232, 243, 269, 292, 187, 187, 187, + /* 210 */ 187, 233, 258, 107, 198, 172, 172, 391, 399, 343, + /* 220 */ 350, 67, 236, 304, 149, 155, 330, 326, 327, 339, + /* 230 */ 342, 344, 346, 348, 354, 355, 357, 70, 362, 261, + /* 240 */ 359, 284, 303, 307, 446, 447, 315, 316, 361, 322, + /* 250 */ 389, 593, 452, 596, 598, 456, 600, 601, 517, 516, + /* 260 */ 476, 499, 506, 536, 501, 537, 541, 528, 529, 560, + /* 270 */ 562, 567, 559, 574, 575, 577, 654, 578, 579, 581, + /* 280 */ 568, 538, 571, 542, 583, 506, 585, 557, 587, 561, + /* 290 */ 594, 660, 667, 668, 669, 670, 671, 672, 673, 597, + /* 300 */ 664, 605, 602, 603, 573, 606, 659, 629, 674, 546, + /* 310 */ 547, 604, 604, 604, 604, 675, 550, 551, 604, 604, + /* 320 */ 604, 689, 691, 616, 604, 693, 694, 695, 696, 697, + /* 330 */ 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, + /* 340 */ 622, 631, 708, 709, 655, 657, 717, }; #define YY_REDUCE_COUNT (192) #define YY_REDUCE_MIN (-259) -#define YY_REDUCE_MAX (455) +#define YY_REDUCE_MAX (451) static const short yy_reduce_ofst[] = { - /* 0 */ -184, -34, -34, 78, 78, 133, -141, -138, -125, -106, - /* 10 */ -152, 114, 71, -80, 50, 68, 117, 153, 166, 167, - /* 20 */ 176, 179, 181, -192, -189, -247, -223, -207, -206, -211, - /* 30 */ -210, -136, -131, -110, -91, -32, 15, 44, 144, 122, - /* 40 */ 184, 84, 158, 112, 208, -259, -253, -49, -19, -4, - /* 50 */ 18, 30, 77, 169, 204, 211, 213, 217, 218, 219, - /* 60 */ 221, 222, 223, 224, 225, 19, 43, 85, 253, 254, - /* 70 */ 255, 256, 257, 258, 259, 298, 300, 301, 238, 303, - /* 80 */ 304, 305, 260, 262, 309, 312, 313, 314, 237, 242, - /* 90 */ 261, 270, 317, 319, 320, 321, 323, 324, 325, 328, - /* 100 */ 329, 333, 334, 335, 337, 338, 339, 341, 343, 348, - /* 110 */ 350, 352, 353, 354, 355, 356, 359, 360, 361, 364, - /* 120 */ 366, 367, 368, 369, 370, 372, 373, 375, 376, 377, - /* 130 */ 378, 379, 380, 381, 383, 384, 386, 387, 388, 389, - /* 140 */ 390, 391, 392, 393, 394, 395, 396, 263, 267, 271, - /* 150 */ 397, 273, 399, 266, 286, 272, 299, 306, 402, 316, - /* 160 */ 403, 408, 412, 405, 409, 413, 414, 415, 417, 419, - /* 170 */ 420, 421, 422, 424, 423, 425, 427, 430, 431, 433, - /* 180 */ 426, 428, 432, 436, 444, 435, 445, 449, 447, 451, - /* 190 */ 453, 455, 450, + /* 0 */ -184, -34, -34, 101, 101, 133, -141, -138, -125, -106, + /* 10 */ -152, 18, 58, -80, 44, 61, 134, 143, 150, 151, + /* 20 */ 152, 153, 166, -192, -189, -247, -223, -207, -206, -211, + /* 30 */ -210, -136, -131, -110, -91, -32, 54, 57, 124, 182, + /* 40 */ 196, 75, -41, 94, 138, -259, -253, 52, 98, 106, + /* 50 */ 111, 185, 202, 208, 209, 211, 212, 213, 214, 215, + /* 60 */ 216, 217, 218, 219, 220, 189, 238, 239, 250, 251, + /* 70 */ 252, 253, 254, 255, 256, 296, 297, 298, 231, 299, + /* 80 */ 300, 301, 257, 259, 302, 306, 308, 309, 234, 237, + /* 90 */ 262, 265, 313, 317, 318, 319, 320, 321, 323, 325, + /* 100 */ 328, 329, 331, 332, 333, 334, 335, 336, 337, 338, + /* 110 */ 340, 341, 347, 349, 351, 352, 353, 356, 358, 360, + /* 120 */ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + /* 130 */ 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + /* 140 */ 383, 384, 385, 386, 387, 388, 390, 245, 246, 273, + /* 150 */ 392, 274, 393, 266, 285, 271, 290, 305, 394, 396, + /* 160 */ 398, 400, 403, 406, 401, 404, 407, 408, 409, 411, + /* 170 */ 412, 413, 414, 416, 418, 417, 420, 423, 425, 419, + /* 180 */ 422, 421, 427, 436, 440, 430, 441, 439, 443, 445, + /* 190 */ 448, 451, 434, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 834, 951, 894, 963, 881, 891, 1100, 1100, 1100, 834, - /* 10 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 20 */ 834, 834, 834, 1011, 853, 1100, 834, 834, 834, 834, - /* 30 */ 834, 834, 834, 834, 891, 834, 834, 897, 891, 897, - /* 40 */ 897, 834, 1006, 935, 953, 834, 834, 834, 834, 834, - /* 50 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 60 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 70 */ 834, 834, 834, 834, 834, 834, 834, 834, 1013, 1019, - /* 80 */ 1016, 834, 834, 834, 1021, 834, 834, 834, 1043, 1043, - /* 90 */ 1004, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 100 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 110 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 120 */ 879, 834, 877, 834, 834, 834, 834, 834, 834, 834, - /* 130 */ 834, 834, 834, 834, 834, 834, 834, 864, 834, 834, - /* 140 */ 834, 834, 834, 834, 855, 855, 855, 834, 834, 834, - /* 150 */ 855, 834, 855, 1050, 1054, 1048, 1036, 1044, 1035, 1031, - /* 160 */ 1029, 1027, 1026, 1058, 855, 855, 855, 895, 891, 891, - /* 170 */ 855, 855, 913, 911, 909, 901, 907, 903, 905, 899, - /* 180 */ 882, 834, 855, 889, 889, 855, 889, 855, 889, 855, - /* 190 */ 855, 935, 953, 834, 1059, 1049, 834, 1099, 1089, 1088, - /* 200 */ 1095, 1087, 1086, 1085, 834, 834, 834, 1081, 1084, 1083, - /* 210 */ 1082, 834, 834, 834, 834, 1091, 1090, 834, 834, 834, - /* 220 */ 834, 834, 834, 834, 834, 834, 834, 1055, 1051, 834, - /* 230 */ 834, 834, 834, 834, 834, 834, 834, 834, 1061, 834, - /* 240 */ 834, 834, 834, 834, 834, 834, 834, 834, 965, 834, - /* 250 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 260 */ 834, 1003, 834, 834, 834, 834, 834, 1015, 1014, 834, - /* 270 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 280 */ 1045, 834, 1037, 834, 834, 977, 834, 834, 834, 834, - /* 290 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 300 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 1118, - /* 310 */ 1113, 1114, 1111, 834, 834, 834, 1110, 1105, 1106, 834, - /* 320 */ 834, 834, 1103, 834, 834, 834, 834, 834, 834, 834, - /* 330 */ 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - /* 340 */ 919, 834, 862, 860, 834, 851, 834, + /* 0 */ 830, 947, 890, 957, 877, 887, 1094, 1094, 1094, 830, + /* 10 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 20 */ 830, 830, 830, 1005, 849, 1094, 830, 830, 830, 830, + /* 30 */ 830, 830, 830, 830, 887, 830, 830, 893, 887, 893, + /* 40 */ 893, 830, 1000, 931, 949, 830, 830, 830, 830, 830, + /* 50 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 60 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 70 */ 830, 830, 830, 830, 830, 830, 830, 830, 1007, 1013, + /* 80 */ 1010, 830, 830, 830, 1015, 830, 830, 830, 1037, 1037, + /* 90 */ 998, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 100 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 110 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 120 */ 875, 830, 873, 830, 830, 830, 830, 830, 830, 830, + /* 130 */ 830, 830, 830, 830, 830, 830, 830, 860, 830, 830, + /* 140 */ 830, 830, 830, 830, 851, 851, 851, 830, 830, 830, + /* 150 */ 851, 830, 851, 1044, 1048, 1030, 1042, 1038, 1029, 1025, + /* 160 */ 1023, 1021, 1020, 1052, 851, 851, 851, 891, 887, 887, + /* 170 */ 851, 851, 909, 907, 905, 897, 903, 899, 901, 895, + /* 180 */ 878, 830, 851, 885, 885, 851, 885, 851, 885, 851, + /* 190 */ 851, 931, 949, 830, 1053, 1043, 830, 1093, 1083, 1082, + /* 200 */ 1089, 1081, 1080, 1079, 830, 830, 830, 1075, 1078, 1077, + /* 210 */ 1076, 830, 830, 830, 830, 1085, 1084, 830, 830, 830, + /* 220 */ 830, 830, 830, 830, 830, 830, 830, 1049, 1045, 830, + /* 230 */ 830, 830, 830, 830, 830, 830, 830, 830, 1055, 830, + /* 240 */ 830, 830, 830, 830, 830, 830, 830, 830, 959, 830, + /* 250 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 260 */ 830, 997, 830, 830, 830, 830, 830, 1009, 1008, 830, + /* 270 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 280 */ 1039, 830, 1031, 830, 830, 971, 830, 830, 830, 830, + /* 290 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 300 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 310 */ 830, 1112, 1107, 1108, 1105, 830, 830, 830, 1104, 1099, + /* 320 */ 1100, 830, 830, 830, 1097, 830, 830, 830, 830, 830, + /* 330 */ 830, 830, 830, 830, 830, 830, 830, 830, 830, 830, + /* 340 */ 915, 830, 858, 856, 830, 847, 830, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1024,8 +1024,8 @@ static const char *const yyTokenName[] = { /* 249 */ "fill_opt", /* 250 */ "sliding_opt", /* 251 */ "groupby_opt", - /* 252 */ "orderby_opt", - /* 253 */ "having_opt", + /* 252 */ "having_opt", + /* 253 */ "orderby_opt", /* 254 */ "slimit_opt", /* 255 */ "limit_opt", /* 256 */ "union", @@ -1171,169 +1171,167 @@ static const char *const yyRuleName[] = { /* 119 */ "alter_db_optr ::= alter_db_optr keep", /* 120 */ "alter_db_optr ::= alter_db_optr blocks", /* 121 */ "alter_db_optr ::= alter_db_optr comp", - /* 122 */ "alter_db_optr ::= alter_db_optr wal", - /* 123 */ "alter_db_optr ::= alter_db_optr fsync", - /* 124 */ "alter_db_optr ::= alter_db_optr update", - /* 125 */ "alter_db_optr ::= alter_db_optr cachelast", - /* 126 */ "alter_topic_optr ::= alter_db_optr", - /* 127 */ "alter_topic_optr ::= alter_topic_optr partitions", - /* 128 */ "typename ::= ids", - /* 129 */ "typename ::= ids LP signed RP", - /* 130 */ "typename ::= ids UNSIGNED", - /* 131 */ "signed ::= INTEGER", - /* 132 */ "signed ::= PLUS INTEGER", - /* 133 */ "signed ::= MINUS INTEGER", - /* 134 */ "cmd ::= CREATE TABLE create_table_args", - /* 135 */ "cmd ::= CREATE TABLE create_stable_args", - /* 136 */ "cmd ::= CREATE STABLE create_stable_args", - /* 137 */ "cmd ::= CREATE TABLE create_table_list", - /* 138 */ "create_table_list ::= create_from_stable", - /* 139 */ "create_table_list ::= create_table_list create_from_stable", - /* 140 */ "create_table_args ::= ifnotexists ids cpxName LP columnlist RP", - /* 141 */ "create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP", - /* 142 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP", - /* 143 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP", - /* 144 */ "tagNamelist ::= tagNamelist COMMA ids", - /* 145 */ "tagNamelist ::= ids", - /* 146 */ "create_table_args ::= ifnotexists ids cpxName AS select", - /* 147 */ "columnlist ::= columnlist COMMA column", - /* 148 */ "columnlist ::= column", - /* 149 */ "column ::= ids typename", - /* 150 */ "tagitemlist ::= tagitemlist COMMA tagitem", - /* 151 */ "tagitemlist ::= tagitem", - /* 152 */ "tagitem ::= INTEGER", - /* 153 */ "tagitem ::= FLOAT", - /* 154 */ "tagitem ::= STRING", - /* 155 */ "tagitem ::= BOOL", - /* 156 */ "tagitem ::= NULL", - /* 157 */ "tagitem ::= NOW", - /* 158 */ "tagitem ::= MINUS INTEGER", - /* 159 */ "tagitem ::= MINUS FLOAT", - /* 160 */ "tagitem ::= PLUS INTEGER", - /* 161 */ "tagitem ::= PLUS FLOAT", - /* 162 */ "select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt", - /* 163 */ "select ::= LP select RP", - /* 164 */ "union ::= select", - /* 165 */ "union ::= union UNION ALL select", - /* 166 */ "cmd ::= union", - /* 167 */ "select ::= SELECT selcollist", - /* 168 */ "sclp ::= selcollist COMMA", - /* 169 */ "sclp ::=", - /* 170 */ "selcollist ::= sclp distinct expr as", - /* 171 */ "selcollist ::= sclp STAR", - /* 172 */ "as ::= AS ids", - /* 173 */ "as ::= ids", - /* 174 */ "as ::=", - /* 175 */ "distinct ::= DISTINCT", - /* 176 */ "distinct ::=", - /* 177 */ "from ::= FROM tablelist", - /* 178 */ "from ::= FROM sub", - /* 179 */ "sub ::= LP union RP", - /* 180 */ "sub ::= LP union RP ids", - /* 181 */ "sub ::= sub COMMA LP union RP ids", - /* 182 */ "tablelist ::= ids cpxName", - /* 183 */ "tablelist ::= ids cpxName ids", - /* 184 */ "tablelist ::= tablelist COMMA ids cpxName", - /* 185 */ "tablelist ::= tablelist COMMA ids cpxName ids", - /* 186 */ "tmvar ::= VARIABLE", - /* 187 */ "interval_opt ::= INTERVAL LP tmvar RP", - /* 188 */ "interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP", - /* 189 */ "interval_opt ::=", - /* 190 */ "session_option ::=", - /* 191 */ "session_option ::= SESSION LP ids cpxName COMMA tmvar RP", - /* 192 */ "windowstate_option ::=", - /* 193 */ "windowstate_option ::= STATE_WINDOW LP ids RP", - /* 194 */ "fill_opt ::=", - /* 195 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP", - /* 196 */ "fill_opt ::= FILL LP ID RP", - /* 197 */ "sliding_opt ::= SLIDING LP tmvar RP", - /* 198 */ "sliding_opt ::=", - /* 199 */ "orderby_opt ::=", - /* 200 */ "orderby_opt ::= ORDER BY sortlist", - /* 201 */ "sortlist ::= sortlist COMMA item sortorder", - /* 202 */ "sortlist ::= item sortorder", - /* 203 */ "item ::= ids cpxName", - /* 204 */ "sortorder ::= ASC", - /* 205 */ "sortorder ::= DESC", - /* 206 */ "sortorder ::=", - /* 207 */ "groupby_opt ::=", - /* 208 */ "groupby_opt ::= GROUP BY grouplist", - /* 209 */ "grouplist ::= grouplist COMMA item", - /* 210 */ "grouplist ::= item", - /* 211 */ "having_opt ::=", - /* 212 */ "having_opt ::= HAVING expr", - /* 213 */ "limit_opt ::=", - /* 214 */ "limit_opt ::= LIMIT signed", - /* 215 */ "limit_opt ::= LIMIT signed OFFSET signed", - /* 216 */ "limit_opt ::= LIMIT signed COMMA signed", - /* 217 */ "slimit_opt ::=", - /* 218 */ "slimit_opt ::= SLIMIT signed", - /* 219 */ "slimit_opt ::= SLIMIT signed SOFFSET signed", - /* 220 */ "slimit_opt ::= SLIMIT signed COMMA signed", - /* 221 */ "where_opt ::=", - /* 222 */ "where_opt ::= WHERE expr", - /* 223 */ "expr ::= LP expr RP", - /* 224 */ "expr ::= ID", - /* 225 */ "expr ::= ID DOT ID", - /* 226 */ "expr ::= ID DOT STAR", - /* 227 */ "expr ::= INTEGER", - /* 228 */ "expr ::= MINUS INTEGER", - /* 229 */ "expr ::= PLUS INTEGER", - /* 230 */ "expr ::= FLOAT", - /* 231 */ "expr ::= MINUS FLOAT", - /* 232 */ "expr ::= PLUS FLOAT", - /* 233 */ "expr ::= STRING", - /* 234 */ "expr ::= NOW", - /* 235 */ "expr ::= VARIABLE", - /* 236 */ "expr ::= PLUS VARIABLE", - /* 237 */ "expr ::= MINUS VARIABLE", - /* 238 */ "expr ::= BOOL", - /* 239 */ "expr ::= NULL", - /* 240 */ "expr ::= ID LP exprlist RP", - /* 241 */ "expr ::= ID LP STAR RP", - /* 242 */ "expr ::= expr IS NULL", - /* 243 */ "expr ::= expr IS NOT NULL", - /* 244 */ "expr ::= expr LT expr", - /* 245 */ "expr ::= expr GT expr", - /* 246 */ "expr ::= expr LE expr", - /* 247 */ "expr ::= expr GE expr", - /* 248 */ "expr ::= expr NE expr", - /* 249 */ "expr ::= expr EQ expr", - /* 250 */ "expr ::= expr BETWEEN expr AND expr", - /* 251 */ "expr ::= expr AND expr", - /* 252 */ "expr ::= expr OR expr", - /* 253 */ "expr ::= expr PLUS expr", - /* 254 */ "expr ::= expr MINUS expr", - /* 255 */ "expr ::= expr STAR expr", - /* 256 */ "expr ::= expr SLASH expr", - /* 257 */ "expr ::= expr REM expr", - /* 258 */ "expr ::= expr LIKE expr", - /* 259 */ "expr ::= expr IN LP exprlist RP", - /* 260 */ "exprlist ::= exprlist COMMA expritem", - /* 261 */ "exprlist ::= expritem", - /* 262 */ "expritem ::= expr", - /* 263 */ "expritem ::=", - /* 264 */ "cmd ::= RESET QUERY CACHE", - /* 265 */ "cmd ::= SYNCDB ids REPLICA", - /* 266 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", - /* 267 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", - /* 268 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", - /* 269 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", - /* 270 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", - /* 271 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", - /* 272 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", - /* 273 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", - /* 274 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", - /* 275 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", - /* 276 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", - /* 277 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", - /* 278 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", - /* 279 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", - /* 280 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", - /* 281 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", - /* 282 */ "cmd ::= KILL CONNECTION INTEGER", - /* 283 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", - /* 284 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", + /* 122 */ "alter_db_optr ::= alter_db_optr update", + /* 123 */ "alter_db_optr ::= alter_db_optr cachelast", + /* 124 */ "alter_topic_optr ::= alter_db_optr", + /* 125 */ "alter_topic_optr ::= alter_topic_optr partitions", + /* 126 */ "typename ::= ids", + /* 127 */ "typename ::= ids LP signed RP", + /* 128 */ "typename ::= ids UNSIGNED", + /* 129 */ "signed ::= INTEGER", + /* 130 */ "signed ::= PLUS INTEGER", + /* 131 */ "signed ::= MINUS INTEGER", + /* 132 */ "cmd ::= CREATE TABLE create_table_args", + /* 133 */ "cmd ::= CREATE TABLE create_stable_args", + /* 134 */ "cmd ::= CREATE STABLE create_stable_args", + /* 135 */ "cmd ::= CREATE TABLE create_table_list", + /* 136 */ "create_table_list ::= create_from_stable", + /* 137 */ "create_table_list ::= create_table_list create_from_stable", + /* 138 */ "create_table_args ::= ifnotexists ids cpxName LP columnlist RP", + /* 139 */ "create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP", + /* 140 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP", + /* 141 */ "create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP", + /* 142 */ "tagNamelist ::= tagNamelist COMMA ids", + /* 143 */ "tagNamelist ::= ids", + /* 144 */ "create_table_args ::= ifnotexists ids cpxName AS select", + /* 145 */ "columnlist ::= columnlist COMMA column", + /* 146 */ "columnlist ::= column", + /* 147 */ "column ::= ids typename", + /* 148 */ "tagitemlist ::= tagitemlist COMMA tagitem", + /* 149 */ "tagitemlist ::= tagitem", + /* 150 */ "tagitem ::= INTEGER", + /* 151 */ "tagitem ::= FLOAT", + /* 152 */ "tagitem ::= STRING", + /* 153 */ "tagitem ::= BOOL", + /* 154 */ "tagitem ::= NULL", + /* 155 */ "tagitem ::= NOW", + /* 156 */ "tagitem ::= MINUS INTEGER", + /* 157 */ "tagitem ::= MINUS FLOAT", + /* 158 */ "tagitem ::= PLUS INTEGER", + /* 159 */ "tagitem ::= PLUS FLOAT", + /* 160 */ "select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt", + /* 161 */ "select ::= LP select RP", + /* 162 */ "union ::= select", + /* 163 */ "union ::= union UNION ALL select", + /* 164 */ "cmd ::= union", + /* 165 */ "select ::= SELECT selcollist", + /* 166 */ "sclp ::= selcollist COMMA", + /* 167 */ "sclp ::=", + /* 168 */ "selcollist ::= sclp distinct expr as", + /* 169 */ "selcollist ::= sclp STAR", + /* 170 */ "as ::= AS ids", + /* 171 */ "as ::= ids", + /* 172 */ "as ::=", + /* 173 */ "distinct ::= DISTINCT", + /* 174 */ "distinct ::=", + /* 175 */ "from ::= FROM tablelist", + /* 176 */ "from ::= FROM sub", + /* 177 */ "sub ::= LP union RP", + /* 178 */ "sub ::= LP union RP ids", + /* 179 */ "sub ::= sub COMMA LP union RP ids", + /* 180 */ "tablelist ::= ids cpxName", + /* 181 */ "tablelist ::= ids cpxName ids", + /* 182 */ "tablelist ::= tablelist COMMA ids cpxName", + /* 183 */ "tablelist ::= tablelist COMMA ids cpxName ids", + /* 184 */ "tmvar ::= VARIABLE", + /* 185 */ "interval_opt ::= INTERVAL LP tmvar RP", + /* 186 */ "interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP", + /* 187 */ "interval_opt ::=", + /* 188 */ "session_option ::=", + /* 189 */ "session_option ::= SESSION LP ids cpxName COMMA tmvar RP", + /* 190 */ "windowstate_option ::=", + /* 191 */ "windowstate_option ::= STATE_WINDOW LP ids RP", + /* 192 */ "fill_opt ::=", + /* 193 */ "fill_opt ::= FILL LP ID COMMA tagitemlist RP", + /* 194 */ "fill_opt ::= FILL LP ID RP", + /* 195 */ "sliding_opt ::= SLIDING LP tmvar RP", + /* 196 */ "sliding_opt ::=", + /* 197 */ "orderby_opt ::=", + /* 198 */ "orderby_opt ::= ORDER BY sortlist", + /* 199 */ "sortlist ::= sortlist COMMA item sortorder", + /* 200 */ "sortlist ::= item sortorder", + /* 201 */ "item ::= ids cpxName", + /* 202 */ "sortorder ::= ASC", + /* 203 */ "sortorder ::= DESC", + /* 204 */ "sortorder ::=", + /* 205 */ "groupby_opt ::=", + /* 206 */ "groupby_opt ::= GROUP BY grouplist", + /* 207 */ "grouplist ::= grouplist COMMA item", + /* 208 */ "grouplist ::= item", + /* 209 */ "having_opt ::=", + /* 210 */ "having_opt ::= HAVING expr", + /* 211 */ "limit_opt ::=", + /* 212 */ "limit_opt ::= LIMIT signed", + /* 213 */ "limit_opt ::= LIMIT signed OFFSET signed", + /* 214 */ "limit_opt ::= LIMIT signed COMMA signed", + /* 215 */ "slimit_opt ::=", + /* 216 */ "slimit_opt ::= SLIMIT signed", + /* 217 */ "slimit_opt ::= SLIMIT signed SOFFSET signed", + /* 218 */ "slimit_opt ::= SLIMIT signed COMMA signed", + /* 219 */ "where_opt ::=", + /* 220 */ "where_opt ::= WHERE expr", + /* 221 */ "expr ::= LP expr RP", + /* 222 */ "expr ::= ID", + /* 223 */ "expr ::= ID DOT ID", + /* 224 */ "expr ::= ID DOT STAR", + /* 225 */ "expr ::= INTEGER", + /* 226 */ "expr ::= MINUS INTEGER", + /* 227 */ "expr ::= PLUS INTEGER", + /* 228 */ "expr ::= FLOAT", + /* 229 */ "expr ::= MINUS FLOAT", + /* 230 */ "expr ::= PLUS FLOAT", + /* 231 */ "expr ::= STRING", + /* 232 */ "expr ::= NOW", + /* 233 */ "expr ::= VARIABLE", + /* 234 */ "expr ::= PLUS VARIABLE", + /* 235 */ "expr ::= MINUS VARIABLE", + /* 236 */ "expr ::= BOOL", + /* 237 */ "expr ::= NULL", + /* 238 */ "expr ::= ID LP exprlist RP", + /* 239 */ "expr ::= ID LP STAR RP", + /* 240 */ "expr ::= expr IS NULL", + /* 241 */ "expr ::= expr IS NOT NULL", + /* 242 */ "expr ::= expr LT expr", + /* 243 */ "expr ::= expr GT expr", + /* 244 */ "expr ::= expr LE expr", + /* 245 */ "expr ::= expr GE expr", + /* 246 */ "expr ::= expr NE expr", + /* 247 */ "expr ::= expr EQ expr", + /* 248 */ "expr ::= expr BETWEEN expr AND expr", + /* 249 */ "expr ::= expr AND expr", + /* 250 */ "expr ::= expr OR expr", + /* 251 */ "expr ::= expr PLUS expr", + /* 252 */ "expr ::= expr MINUS expr", + /* 253 */ "expr ::= expr STAR expr", + /* 254 */ "expr ::= expr SLASH expr", + /* 255 */ "expr ::= expr REM expr", + /* 256 */ "expr ::= expr LIKE expr", + /* 257 */ "expr ::= expr IN LP exprlist RP", + /* 258 */ "exprlist ::= exprlist COMMA expritem", + /* 259 */ "exprlist ::= expritem", + /* 260 */ "expritem ::= expr", + /* 261 */ "expritem ::=", + /* 262 */ "cmd ::= RESET QUERY CACHE", + /* 263 */ "cmd ::= SYNCDB ids REPLICA", + /* 264 */ "cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist", + /* 265 */ "cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids", + /* 266 */ "cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist", + /* 267 */ "cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist", + /* 268 */ "cmd ::= ALTER TABLE ids cpxName DROP TAG ids", + /* 269 */ "cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids", + /* 270 */ "cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem", + /* 271 */ "cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist", + /* 272 */ "cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist", + /* 273 */ "cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids", + /* 274 */ "cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist", + /* 275 */ "cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist", + /* 276 */ "cmd ::= ALTER STABLE ids cpxName DROP TAG ids", + /* 277 */ "cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids", + /* 278 */ "cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem", + /* 279 */ "cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist", + /* 280 */ "cmd ::= KILL CONNECTION INTEGER", + /* 281 */ "cmd ::= KILL STREAM INTEGER COLON INTEGER", + /* 282 */ "cmd ::= KILL QUERY INTEGER COLON INTEGER", }; #endif /* NDEBUG */ @@ -1468,7 +1466,7 @@ tSqlExprListDestroy((yypminor->yy441)); case 239: /* tagNamelist */ case 249: /* fill_opt */ case 251: /* groupby_opt */ - case 252: /* orderby_opt */ + case 253: /* orderby_opt */ case 264: /* sortlist */ case 268: /* grouplist */ { @@ -1493,7 +1491,7 @@ destroyRelationInfo((yypminor->yy244)); } break; case 245: /* where_opt */ - case 253: /* having_opt */ + case 252: /* having_opt */ case 259: /* expr */ case 269: /* expritem */ { @@ -1923,169 +1921,167 @@ static const struct { { 197, -2 }, /* (119) alter_db_optr ::= alter_db_optr keep */ { 197, -2 }, /* (120) alter_db_optr ::= alter_db_optr blocks */ { 197, -2 }, /* (121) alter_db_optr ::= alter_db_optr comp */ - { 197, -2 }, /* (122) alter_db_optr ::= alter_db_optr wal */ - { 197, -2 }, /* (123) alter_db_optr ::= alter_db_optr fsync */ - { 197, -2 }, /* (124) alter_db_optr ::= alter_db_optr update */ - { 197, -2 }, /* (125) alter_db_optr ::= alter_db_optr cachelast */ - { 198, -1 }, /* (126) alter_topic_optr ::= alter_db_optr */ - { 198, -2 }, /* (127) alter_topic_optr ::= alter_topic_optr partitions */ - { 231, -1 }, /* (128) typename ::= ids */ - { 231, -4 }, /* (129) typename ::= ids LP signed RP */ - { 231, -2 }, /* (130) typename ::= ids UNSIGNED */ - { 232, -1 }, /* (131) signed ::= INTEGER */ - { 232, -2 }, /* (132) signed ::= PLUS INTEGER */ - { 232, -2 }, /* (133) signed ::= MINUS INTEGER */ - { 192, -3 }, /* (134) cmd ::= CREATE TABLE create_table_args */ - { 192, -3 }, /* (135) cmd ::= CREATE TABLE create_stable_args */ - { 192, -3 }, /* (136) cmd ::= CREATE STABLE create_stable_args */ - { 192, -3 }, /* (137) cmd ::= CREATE TABLE create_table_list */ - { 235, -1 }, /* (138) create_table_list ::= create_from_stable */ - { 235, -2 }, /* (139) create_table_list ::= create_table_list create_from_stable */ - { 233, -6 }, /* (140) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ - { 234, -10 }, /* (141) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ - { 236, -10 }, /* (142) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ - { 236, -13 }, /* (143) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ - { 239, -3 }, /* (144) tagNamelist ::= tagNamelist COMMA ids */ - { 239, -1 }, /* (145) tagNamelist ::= ids */ - { 233, -5 }, /* (146) create_table_args ::= ifnotexists ids cpxName AS select */ - { 237, -3 }, /* (147) columnlist ::= columnlist COMMA column */ - { 237, -1 }, /* (148) columnlist ::= column */ - { 241, -2 }, /* (149) column ::= ids typename */ - { 238, -3 }, /* (150) tagitemlist ::= tagitemlist COMMA tagitem */ - { 238, -1 }, /* (151) tagitemlist ::= tagitem */ - { 242, -1 }, /* (152) tagitem ::= INTEGER */ - { 242, -1 }, /* (153) tagitem ::= FLOAT */ - { 242, -1 }, /* (154) tagitem ::= STRING */ - { 242, -1 }, /* (155) tagitem ::= BOOL */ - { 242, -1 }, /* (156) tagitem ::= NULL */ - { 242, -1 }, /* (157) tagitem ::= NOW */ - { 242, -2 }, /* (158) tagitem ::= MINUS INTEGER */ - { 242, -2 }, /* (159) tagitem ::= MINUS FLOAT */ - { 242, -2 }, /* (160) tagitem ::= PLUS INTEGER */ - { 242, -2 }, /* (161) tagitem ::= PLUS FLOAT */ - { 240, -14 }, /* (162) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ - { 240, -3 }, /* (163) select ::= LP select RP */ - { 256, -1 }, /* (164) union ::= select */ - { 256, -4 }, /* (165) union ::= union UNION ALL select */ - { 192, -1 }, /* (166) cmd ::= union */ - { 240, -2 }, /* (167) select ::= SELECT selcollist */ - { 257, -2 }, /* (168) sclp ::= selcollist COMMA */ - { 257, 0 }, /* (169) sclp ::= */ - { 243, -4 }, /* (170) selcollist ::= sclp distinct expr as */ - { 243, -2 }, /* (171) selcollist ::= sclp STAR */ - { 260, -2 }, /* (172) as ::= AS ids */ - { 260, -1 }, /* (173) as ::= ids */ - { 260, 0 }, /* (174) as ::= */ - { 258, -1 }, /* (175) distinct ::= DISTINCT */ - { 258, 0 }, /* (176) distinct ::= */ - { 244, -2 }, /* (177) from ::= FROM tablelist */ - { 244, -2 }, /* (178) from ::= FROM sub */ - { 262, -3 }, /* (179) sub ::= LP union RP */ - { 262, -4 }, /* (180) sub ::= LP union RP ids */ - { 262, -6 }, /* (181) sub ::= sub COMMA LP union RP ids */ - { 261, -2 }, /* (182) tablelist ::= ids cpxName */ - { 261, -3 }, /* (183) tablelist ::= ids cpxName ids */ - { 261, -4 }, /* (184) tablelist ::= tablelist COMMA ids cpxName */ - { 261, -5 }, /* (185) tablelist ::= tablelist COMMA ids cpxName ids */ - { 263, -1 }, /* (186) tmvar ::= VARIABLE */ - { 246, -4 }, /* (187) interval_opt ::= INTERVAL LP tmvar RP */ - { 246, -6 }, /* (188) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ - { 246, 0 }, /* (189) interval_opt ::= */ - { 247, 0 }, /* (190) session_option ::= */ - { 247, -7 }, /* (191) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ - { 248, 0 }, /* (192) windowstate_option ::= */ - { 248, -4 }, /* (193) windowstate_option ::= STATE_WINDOW LP ids RP */ - { 249, 0 }, /* (194) fill_opt ::= */ - { 249, -6 }, /* (195) fill_opt ::= FILL LP ID COMMA tagitemlist RP */ - { 249, -4 }, /* (196) fill_opt ::= FILL LP ID RP */ - { 250, -4 }, /* (197) sliding_opt ::= SLIDING LP tmvar RP */ - { 250, 0 }, /* (198) sliding_opt ::= */ - { 252, 0 }, /* (199) orderby_opt ::= */ - { 252, -3 }, /* (200) orderby_opt ::= ORDER BY sortlist */ - { 264, -4 }, /* (201) sortlist ::= sortlist COMMA item sortorder */ - { 264, -2 }, /* (202) sortlist ::= item sortorder */ - { 266, -2 }, /* (203) item ::= ids cpxName */ - { 267, -1 }, /* (204) sortorder ::= ASC */ - { 267, -1 }, /* (205) sortorder ::= DESC */ - { 267, 0 }, /* (206) sortorder ::= */ - { 251, 0 }, /* (207) groupby_opt ::= */ - { 251, -3 }, /* (208) groupby_opt ::= GROUP BY grouplist */ - { 268, -3 }, /* (209) grouplist ::= grouplist COMMA item */ - { 268, -1 }, /* (210) grouplist ::= item */ - { 253, 0 }, /* (211) having_opt ::= */ - { 253, -2 }, /* (212) having_opt ::= HAVING expr */ - { 255, 0 }, /* (213) limit_opt ::= */ - { 255, -2 }, /* (214) limit_opt ::= LIMIT signed */ - { 255, -4 }, /* (215) limit_opt ::= LIMIT signed OFFSET signed */ - { 255, -4 }, /* (216) limit_opt ::= LIMIT signed COMMA signed */ - { 254, 0 }, /* (217) slimit_opt ::= */ - { 254, -2 }, /* (218) slimit_opt ::= SLIMIT signed */ - { 254, -4 }, /* (219) slimit_opt ::= SLIMIT signed SOFFSET signed */ - { 254, -4 }, /* (220) slimit_opt ::= SLIMIT signed COMMA signed */ - { 245, 0 }, /* (221) where_opt ::= */ - { 245, -2 }, /* (222) where_opt ::= WHERE expr */ - { 259, -3 }, /* (223) expr ::= LP expr RP */ - { 259, -1 }, /* (224) expr ::= ID */ - { 259, -3 }, /* (225) expr ::= ID DOT ID */ - { 259, -3 }, /* (226) expr ::= ID DOT STAR */ - { 259, -1 }, /* (227) expr ::= INTEGER */ - { 259, -2 }, /* (228) expr ::= MINUS INTEGER */ - { 259, -2 }, /* (229) expr ::= PLUS INTEGER */ - { 259, -1 }, /* (230) expr ::= FLOAT */ - { 259, -2 }, /* (231) expr ::= MINUS FLOAT */ - { 259, -2 }, /* (232) expr ::= PLUS FLOAT */ - { 259, -1 }, /* (233) expr ::= STRING */ - { 259, -1 }, /* (234) expr ::= NOW */ - { 259, -1 }, /* (235) expr ::= VARIABLE */ - { 259, -2 }, /* (236) expr ::= PLUS VARIABLE */ - { 259, -2 }, /* (237) expr ::= MINUS VARIABLE */ - { 259, -1 }, /* (238) expr ::= BOOL */ - { 259, -1 }, /* (239) expr ::= NULL */ - { 259, -4 }, /* (240) expr ::= ID LP exprlist RP */ - { 259, -4 }, /* (241) expr ::= ID LP STAR RP */ - { 259, -3 }, /* (242) expr ::= expr IS NULL */ - { 259, -4 }, /* (243) expr ::= expr IS NOT NULL */ - { 259, -3 }, /* (244) expr ::= expr LT expr */ - { 259, -3 }, /* (245) expr ::= expr GT expr */ - { 259, -3 }, /* (246) expr ::= expr LE expr */ - { 259, -3 }, /* (247) expr ::= expr GE expr */ - { 259, -3 }, /* (248) expr ::= expr NE expr */ - { 259, -3 }, /* (249) expr ::= expr EQ expr */ - { 259, -5 }, /* (250) expr ::= expr BETWEEN expr AND expr */ - { 259, -3 }, /* (251) expr ::= expr AND expr */ - { 259, -3 }, /* (252) expr ::= expr OR expr */ - { 259, -3 }, /* (253) expr ::= expr PLUS expr */ - { 259, -3 }, /* (254) expr ::= expr MINUS expr */ - { 259, -3 }, /* (255) expr ::= expr STAR expr */ - { 259, -3 }, /* (256) expr ::= expr SLASH expr */ - { 259, -3 }, /* (257) expr ::= expr REM expr */ - { 259, -3 }, /* (258) expr ::= expr LIKE expr */ - { 259, -5 }, /* (259) expr ::= expr IN LP exprlist RP */ - { 200, -3 }, /* (260) exprlist ::= exprlist COMMA expritem */ - { 200, -1 }, /* (261) exprlist ::= expritem */ - { 269, -1 }, /* (262) expritem ::= expr */ - { 269, 0 }, /* (263) expritem ::= */ - { 192, -3 }, /* (264) cmd ::= RESET QUERY CACHE */ - { 192, -3 }, /* (265) cmd ::= SYNCDB ids REPLICA */ - { 192, -7 }, /* (266) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ - { 192, -7 }, /* (267) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ - { 192, -7 }, /* (268) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ - { 192, -7 }, /* (269) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ - { 192, -7 }, /* (270) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ - { 192, -8 }, /* (271) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ - { 192, -9 }, /* (272) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ - { 192, -7 }, /* (273) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ - { 192, -7 }, /* (274) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ - { 192, -7 }, /* (275) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ - { 192, -7 }, /* (276) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ - { 192, -7 }, /* (277) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ - { 192, -7 }, /* (278) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ - { 192, -8 }, /* (279) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ - { 192, -9 }, /* (280) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ - { 192, -7 }, /* (281) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ - { 192, -3 }, /* (282) cmd ::= KILL CONNECTION INTEGER */ - { 192, -5 }, /* (283) cmd ::= KILL STREAM INTEGER COLON INTEGER */ - { 192, -5 }, /* (284) cmd ::= KILL QUERY INTEGER COLON INTEGER */ + { 197, -2 }, /* (122) alter_db_optr ::= alter_db_optr update */ + { 197, -2 }, /* (123) alter_db_optr ::= alter_db_optr cachelast */ + { 198, -1 }, /* (124) alter_topic_optr ::= alter_db_optr */ + { 198, -2 }, /* (125) alter_topic_optr ::= alter_topic_optr partitions */ + { 231, -1 }, /* (126) typename ::= ids */ + { 231, -4 }, /* (127) typename ::= ids LP signed RP */ + { 231, -2 }, /* (128) typename ::= ids UNSIGNED */ + { 232, -1 }, /* (129) signed ::= INTEGER */ + { 232, -2 }, /* (130) signed ::= PLUS INTEGER */ + { 232, -2 }, /* (131) signed ::= MINUS INTEGER */ + { 192, -3 }, /* (132) cmd ::= CREATE TABLE create_table_args */ + { 192, -3 }, /* (133) cmd ::= CREATE TABLE create_stable_args */ + { 192, -3 }, /* (134) cmd ::= CREATE STABLE create_stable_args */ + { 192, -3 }, /* (135) cmd ::= CREATE TABLE create_table_list */ + { 235, -1 }, /* (136) create_table_list ::= create_from_stable */ + { 235, -2 }, /* (137) create_table_list ::= create_table_list create_from_stable */ + { 233, -6 }, /* (138) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ + { 234, -10 }, /* (139) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ + { 236, -10 }, /* (140) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ + { 236, -13 }, /* (141) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ + { 239, -3 }, /* (142) tagNamelist ::= tagNamelist COMMA ids */ + { 239, -1 }, /* (143) tagNamelist ::= ids */ + { 233, -5 }, /* (144) create_table_args ::= ifnotexists ids cpxName AS select */ + { 237, -3 }, /* (145) columnlist ::= columnlist COMMA column */ + { 237, -1 }, /* (146) columnlist ::= column */ + { 241, -2 }, /* (147) column ::= ids typename */ + { 238, -3 }, /* (148) tagitemlist ::= tagitemlist COMMA tagitem */ + { 238, -1 }, /* (149) tagitemlist ::= tagitem */ + { 242, -1 }, /* (150) tagitem ::= INTEGER */ + { 242, -1 }, /* (151) tagitem ::= FLOAT */ + { 242, -1 }, /* (152) tagitem ::= STRING */ + { 242, -1 }, /* (153) tagitem ::= BOOL */ + { 242, -1 }, /* (154) tagitem ::= NULL */ + { 242, -1 }, /* (155) tagitem ::= NOW */ + { 242, -2 }, /* (156) tagitem ::= MINUS INTEGER */ + { 242, -2 }, /* (157) tagitem ::= MINUS FLOAT */ + { 242, -2 }, /* (158) tagitem ::= PLUS INTEGER */ + { 242, -2 }, /* (159) tagitem ::= PLUS FLOAT */ + { 240, -14 }, /* (160) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */ + { 240, -3 }, /* (161) select ::= LP select RP */ + { 256, -1 }, /* (162) union ::= select */ + { 256, -4 }, /* (163) union ::= union UNION ALL select */ + { 192, -1 }, /* (164) cmd ::= union */ + { 240, -2 }, /* (165) select ::= SELECT selcollist */ + { 257, -2 }, /* (166) sclp ::= selcollist COMMA */ + { 257, 0 }, /* (167) sclp ::= */ + { 243, -4 }, /* (168) selcollist ::= sclp distinct expr as */ + { 243, -2 }, /* (169) selcollist ::= sclp STAR */ + { 260, -2 }, /* (170) as ::= AS ids */ + { 260, -1 }, /* (171) as ::= ids */ + { 260, 0 }, /* (172) as ::= */ + { 258, -1 }, /* (173) distinct ::= DISTINCT */ + { 258, 0 }, /* (174) distinct ::= */ + { 244, -2 }, /* (175) from ::= FROM tablelist */ + { 244, -2 }, /* (176) from ::= FROM sub */ + { 262, -3 }, /* (177) sub ::= LP union RP */ + { 262, -4 }, /* (178) sub ::= LP union RP ids */ + { 262, -6 }, /* (179) sub ::= sub COMMA LP union RP ids */ + { 261, -2 }, /* (180) tablelist ::= ids cpxName */ + { 261, -3 }, /* (181) tablelist ::= ids cpxName ids */ + { 261, -4 }, /* (182) tablelist ::= tablelist COMMA ids cpxName */ + { 261, -5 }, /* (183) tablelist ::= tablelist COMMA ids cpxName ids */ + { 263, -1 }, /* (184) tmvar ::= VARIABLE */ + { 246, -4 }, /* (185) interval_opt ::= INTERVAL LP tmvar RP */ + { 246, -6 }, /* (186) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ + { 246, 0 }, /* (187) interval_opt ::= */ + { 247, 0 }, /* (188) session_option ::= */ + { 247, -7 }, /* (189) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ + { 248, 0 }, /* (190) windowstate_option ::= */ + { 248, -4 }, /* (191) windowstate_option ::= STATE_WINDOW LP ids RP */ + { 249, 0 }, /* (192) fill_opt ::= */ + { 249, -6 }, /* (193) fill_opt ::= FILL LP ID COMMA tagitemlist RP */ + { 249, -4 }, /* (194) fill_opt ::= FILL LP ID RP */ + { 250, -4 }, /* (195) sliding_opt ::= SLIDING LP tmvar RP */ + { 250, 0 }, /* (196) sliding_opt ::= */ + { 253, 0 }, /* (197) orderby_opt ::= */ + { 253, -3 }, /* (198) orderby_opt ::= ORDER BY sortlist */ + { 264, -4 }, /* (199) sortlist ::= sortlist COMMA item sortorder */ + { 264, -2 }, /* (200) sortlist ::= item sortorder */ + { 266, -2 }, /* (201) item ::= ids cpxName */ + { 267, -1 }, /* (202) sortorder ::= ASC */ + { 267, -1 }, /* (203) sortorder ::= DESC */ + { 267, 0 }, /* (204) sortorder ::= */ + { 251, 0 }, /* (205) groupby_opt ::= */ + { 251, -3 }, /* (206) groupby_opt ::= GROUP BY grouplist */ + { 268, -3 }, /* (207) grouplist ::= grouplist COMMA item */ + { 268, -1 }, /* (208) grouplist ::= item */ + { 252, 0 }, /* (209) having_opt ::= */ + { 252, -2 }, /* (210) having_opt ::= HAVING expr */ + { 255, 0 }, /* (211) limit_opt ::= */ + { 255, -2 }, /* (212) limit_opt ::= LIMIT signed */ + { 255, -4 }, /* (213) limit_opt ::= LIMIT signed OFFSET signed */ + { 255, -4 }, /* (214) limit_opt ::= LIMIT signed COMMA signed */ + { 254, 0 }, /* (215) slimit_opt ::= */ + { 254, -2 }, /* (216) slimit_opt ::= SLIMIT signed */ + { 254, -4 }, /* (217) slimit_opt ::= SLIMIT signed SOFFSET signed */ + { 254, -4 }, /* (218) slimit_opt ::= SLIMIT signed COMMA signed */ + { 245, 0 }, /* (219) where_opt ::= */ + { 245, -2 }, /* (220) where_opt ::= WHERE expr */ + { 259, -3 }, /* (221) expr ::= LP expr RP */ + { 259, -1 }, /* (222) expr ::= ID */ + { 259, -3 }, /* (223) expr ::= ID DOT ID */ + { 259, -3 }, /* (224) expr ::= ID DOT STAR */ + { 259, -1 }, /* (225) expr ::= INTEGER */ + { 259, -2 }, /* (226) expr ::= MINUS INTEGER */ + { 259, -2 }, /* (227) expr ::= PLUS INTEGER */ + { 259, -1 }, /* (228) expr ::= FLOAT */ + { 259, -2 }, /* (229) expr ::= MINUS FLOAT */ + { 259, -2 }, /* (230) expr ::= PLUS FLOAT */ + { 259, -1 }, /* (231) expr ::= STRING */ + { 259, -1 }, /* (232) expr ::= NOW */ + { 259, -1 }, /* (233) expr ::= VARIABLE */ + { 259, -2 }, /* (234) expr ::= PLUS VARIABLE */ + { 259, -2 }, /* (235) expr ::= MINUS VARIABLE */ + { 259, -1 }, /* (236) expr ::= BOOL */ + { 259, -1 }, /* (237) expr ::= NULL */ + { 259, -4 }, /* (238) expr ::= ID LP exprlist RP */ + { 259, -4 }, /* (239) expr ::= ID LP STAR RP */ + { 259, -3 }, /* (240) expr ::= expr IS NULL */ + { 259, -4 }, /* (241) expr ::= expr IS NOT NULL */ + { 259, -3 }, /* (242) expr ::= expr LT expr */ + { 259, -3 }, /* (243) expr ::= expr GT expr */ + { 259, -3 }, /* (244) expr ::= expr LE expr */ + { 259, -3 }, /* (245) expr ::= expr GE expr */ + { 259, -3 }, /* (246) expr ::= expr NE expr */ + { 259, -3 }, /* (247) expr ::= expr EQ expr */ + { 259, -5 }, /* (248) expr ::= expr BETWEEN expr AND expr */ + { 259, -3 }, /* (249) expr ::= expr AND expr */ + { 259, -3 }, /* (250) expr ::= expr OR expr */ + { 259, -3 }, /* (251) expr ::= expr PLUS expr */ + { 259, -3 }, /* (252) expr ::= expr MINUS expr */ + { 259, -3 }, /* (253) expr ::= expr STAR expr */ + { 259, -3 }, /* (254) expr ::= expr SLASH expr */ + { 259, -3 }, /* (255) expr ::= expr REM expr */ + { 259, -3 }, /* (256) expr ::= expr LIKE expr */ + { 259, -5 }, /* (257) expr ::= expr IN LP exprlist RP */ + { 200, -3 }, /* (258) exprlist ::= exprlist COMMA expritem */ + { 200, -1 }, /* (259) exprlist ::= expritem */ + { 269, -1 }, /* (260) expritem ::= expr */ + { 269, 0 }, /* (261) expritem ::= */ + { 192, -3 }, /* (262) cmd ::= RESET QUERY CACHE */ + { 192, -3 }, /* (263) cmd ::= SYNCDB ids REPLICA */ + { 192, -7 }, /* (264) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ + { 192, -7 }, /* (265) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ + { 192, -7 }, /* (266) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ + { 192, -7 }, /* (267) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ + { 192, -7 }, /* (268) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ + { 192, -8 }, /* (269) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ + { 192, -9 }, /* (270) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ + { 192, -7 }, /* (271) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ + { 192, -7 }, /* (272) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ + { 192, -7 }, /* (273) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ + { 192, -7 }, /* (274) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ + { 192, -7 }, /* (275) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ + { 192, -7 }, /* (276) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ + { 192, -8 }, /* (277) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ + { 192, -9 }, /* (278) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ + { 192, -7 }, /* (279) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ + { 192, -3 }, /* (280) cmd ::= KILL CONNECTION INTEGER */ + { 192, -5 }, /* (281) cmd ::= KILL STREAM INTEGER COLON INTEGER */ + { 192, -5 }, /* (282) cmd ::= KILL QUERY INTEGER COLON INTEGER */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -2166,9 +2162,9 @@ static void yy_reduce( /********** Begin reduce actions **********************************************/ YYMINORTYPE yylhsminor; case 0: /* program ::= cmd */ - case 134: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==134); - case 135: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==135); - case 136: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==136); + case 132: /* cmd ::= CREATE TABLE create_table_args */ yytestcase(yyruleno==132); + case 133: /* cmd ::= CREATE TABLE create_stable_args */ yytestcase(yyruleno==133); + case 134: /* cmd ::= CREATE STABLE create_stable_args */ yytestcase(yyruleno==134); {} break; case 1: /* cmd ::= SHOW DATABASES */ @@ -2359,7 +2355,7 @@ static void yy_reduce( break; case 52: /* ifexists ::= */ case 54: /* ifnotexists ::= */ yytestcase(yyruleno==54); - case 176: /* distinct ::= */ yytestcase(yyruleno==176); + case 174: /* distinct ::= */ yytestcase(yyruleno==174); { yymsp[1].minor.yy0.n = 0;} break; case 53: /* ifnotexists ::= IF NOT EXISTS */ @@ -2415,20 +2411,20 @@ static void yy_reduce( yymsp[-8].minor.yy151 = yylhsminor.yy151; break; case 79: /* intitemlist ::= intitemlist COMMA intitem */ - case 150: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==150); + case 148: /* tagitemlist ::= tagitemlist COMMA tagitem */ yytestcase(yyruleno==148); { yylhsminor.yy441 = tVariantListAppend(yymsp[-2].minor.yy441, &yymsp[0].minor.yy506, -1); } yymsp[-2].minor.yy441 = yylhsminor.yy441; break; case 80: /* intitemlist ::= intitem */ - case 151: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==151); + case 149: /* tagitemlist ::= tagitem */ yytestcase(yyruleno==149); { yylhsminor.yy441 = tVariantListAppend(NULL, &yymsp[0].minor.yy506, -1); } yymsp[0].minor.yy441 = yylhsminor.yy441; break; case 81: /* intitem ::= INTEGER */ - case 152: /* tagitem ::= INTEGER */ yytestcase(yyruleno==152); - case 153: /* tagitem ::= FLOAT */ yytestcase(yyruleno==153); - case 154: /* tagitem ::= STRING */ yytestcase(yyruleno==154); - case 155: /* tagitem ::= BOOL */ yytestcase(yyruleno==155); + case 150: /* tagitem ::= INTEGER */ yytestcase(yyruleno==150); + case 151: /* tagitem ::= FLOAT */ yytestcase(yyruleno==151); + case 152: /* tagitem ::= STRING */ yytestcase(yyruleno==152); + case 153: /* tagitem ::= BOOL */ yytestcase(yyruleno==153); { toTSDBType(yymsp[0].minor.yy0.type); tVariantCreate(&yylhsminor.yy506, &yymsp[0].minor.yy0); } yymsp[0].minor.yy506 = yylhsminor.yy506; break; @@ -2491,12 +2487,10 @@ static void yy_reduce( yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 107: /* db_optr ::= db_optr wal */ - case 122: /* alter_db_optr ::= alter_db_optr wal */ yytestcase(yyruleno==122); { yylhsminor.yy382 = yymsp[-1].minor.yy382; yylhsminor.yy382.walLevel = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 108: /* db_optr ::= db_optr fsync */ - case 123: /* alter_db_optr ::= alter_db_optr fsync */ yytestcase(yyruleno==123); { yylhsminor.yy382 = yymsp[-1].minor.yy382; yylhsminor.yy382.fsyncPeriod = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy382 = yylhsminor.yy382; break; @@ -2515,36 +2509,36 @@ static void yy_reduce( yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 112: /* db_optr ::= db_optr update */ - case 124: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==124); + case 122: /* alter_db_optr ::= alter_db_optr update */ yytestcase(yyruleno==122); { yylhsminor.yy382 = yymsp[-1].minor.yy382; yylhsminor.yy382.update = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 113: /* db_optr ::= db_optr cachelast */ - case 125: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==125); + case 123: /* alter_db_optr ::= alter_db_optr cachelast */ yytestcase(yyruleno==123); { yylhsminor.yy382 = yymsp[-1].minor.yy382; yylhsminor.yy382.cachelast = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 114: /* topic_optr ::= db_optr */ - case 126: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==126); + case 124: /* alter_topic_optr ::= alter_db_optr */ yytestcase(yyruleno==124); { yylhsminor.yy382 = yymsp[0].minor.yy382; yylhsminor.yy382.dbType = TSDB_DB_TYPE_TOPIC; } yymsp[0].minor.yy382 = yylhsminor.yy382; break; case 115: /* topic_optr ::= topic_optr partitions */ - case 127: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==127); + case 125: /* alter_topic_optr ::= alter_topic_optr partitions */ yytestcase(yyruleno==125); { yylhsminor.yy382 = yymsp[-1].minor.yy382; yylhsminor.yy382.partitions = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[-1].minor.yy382 = yylhsminor.yy382; break; case 116: /* alter_db_optr ::= */ { setDefaultCreateDbOption(&yymsp[1].minor.yy382); yymsp[1].minor.yy382.dbType = TSDB_DB_TYPE_DEFAULT;} break; - case 128: /* typename ::= ids */ + case 126: /* typename ::= ids */ { yymsp[0].minor.yy0.type = 0; tSetColumnType (&yylhsminor.yy343, &yymsp[0].minor.yy0); } yymsp[0].minor.yy343 = yylhsminor.yy343; break; - case 129: /* typename ::= ids LP signed RP */ + case 127: /* typename ::= ids LP signed RP */ { if (yymsp[-1].minor.yy369 <= 0) { yymsp[-3].minor.yy0.type = 0; @@ -2556,7 +2550,7 @@ static void yy_reduce( } yymsp[-3].minor.yy343 = yylhsminor.yy343; break; - case 130: /* typename ::= ids UNSIGNED */ + case 128: /* typename ::= ids UNSIGNED */ { yymsp[-1].minor.yy0.type = 0; yymsp[-1].minor.yy0.n = ((yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z); @@ -2564,20 +2558,20 @@ static void yy_reduce( } yymsp[-1].minor.yy343 = yylhsminor.yy343; break; - case 131: /* signed ::= INTEGER */ + case 129: /* signed ::= INTEGER */ { yylhsminor.yy369 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } yymsp[0].minor.yy369 = yylhsminor.yy369; break; - case 132: /* signed ::= PLUS INTEGER */ + case 130: /* signed ::= PLUS INTEGER */ { yymsp[-1].minor.yy369 = strtol(yymsp[0].minor.yy0.z, NULL, 10); } break; - case 133: /* signed ::= MINUS INTEGER */ + case 131: /* signed ::= MINUS INTEGER */ { yymsp[-1].minor.yy369 = -strtol(yymsp[0].minor.yy0.z, NULL, 10);} break; - case 137: /* cmd ::= CREATE TABLE create_table_list */ + case 135: /* cmd ::= CREATE TABLE create_table_list */ { pInfo->type = TSDB_SQL_CREATE_TABLE; pInfo->pCreateTableInfo = yymsp[0].minor.yy182;} break; - case 138: /* create_table_list ::= create_from_stable */ + case 136: /* create_table_list ::= create_from_stable */ { SCreateTableSql* pCreateTable = calloc(1, sizeof(SCreateTableSql)); pCreateTable->childTableInfo = taosArrayInit(4, sizeof(SCreatedTableInfo)); @@ -2588,14 +2582,14 @@ static void yy_reduce( } yymsp[0].minor.yy182 = yylhsminor.yy182; break; - case 139: /* create_table_list ::= create_table_list create_from_stable */ + case 137: /* create_table_list ::= create_table_list create_from_stable */ { taosArrayPush(yymsp[-1].minor.yy182->childTableInfo, &yymsp[0].minor.yy456); yylhsminor.yy182 = yymsp[-1].minor.yy182; } yymsp[-1].minor.yy182 = yylhsminor.yy182; break; - case 140: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ + case 138: /* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */ { yylhsminor.yy182 = tSetCreateTableInfo(yymsp[-1].minor.yy441, NULL, NULL, TSQL_CREATE_TABLE); setSqlInfo(pInfo, yylhsminor.yy182, NULL, TSDB_SQL_CREATE_TABLE); @@ -2605,7 +2599,7 @@ static void yy_reduce( } yymsp[-5].minor.yy182 = yylhsminor.yy182; break; - case 141: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ + case 139: /* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */ { yylhsminor.yy182 = tSetCreateTableInfo(yymsp[-5].minor.yy441, yymsp[-1].minor.yy441, NULL, TSQL_CREATE_STABLE); setSqlInfo(pInfo, yylhsminor.yy182, NULL, TSDB_SQL_CREATE_TABLE); @@ -2615,7 +2609,7 @@ static void yy_reduce( } yymsp[-9].minor.yy182 = yylhsminor.yy182; break; - case 142: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ + case 140: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; @@ -2623,7 +2617,7 @@ static void yy_reduce( } yymsp[-9].minor.yy456 = yylhsminor.yy456; break; - case 143: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ + case 141: /* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */ { yymsp[-8].minor.yy0.n += yymsp[-7].minor.yy0.n; yymsp[-11].minor.yy0.n += yymsp[-10].minor.yy0.n; @@ -2631,15 +2625,15 @@ static void yy_reduce( } yymsp[-12].minor.yy456 = yylhsminor.yy456; break; - case 144: /* tagNamelist ::= tagNamelist COMMA ids */ + case 142: /* tagNamelist ::= tagNamelist COMMA ids */ {taosArrayPush(yymsp[-2].minor.yy441, &yymsp[0].minor.yy0); yylhsminor.yy441 = yymsp[-2].minor.yy441; } yymsp[-2].minor.yy441 = yylhsminor.yy441; break; - case 145: /* tagNamelist ::= ids */ + case 143: /* tagNamelist ::= ids */ {yylhsminor.yy441 = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(yylhsminor.yy441, &yymsp[0].minor.yy0);} yymsp[0].minor.yy441 = yylhsminor.yy441; break; - case 146: /* create_table_args ::= ifnotexists ids cpxName AS select */ + case 144: /* create_table_args ::= ifnotexists ids cpxName AS select */ { yylhsminor.yy182 = tSetCreateTableInfo(NULL, NULL, yymsp[0].minor.yy236, TSQL_CREATE_STREAM); setSqlInfo(pInfo, yylhsminor.yy182, NULL, TSDB_SQL_CREATE_TABLE); @@ -2649,32 +2643,32 @@ static void yy_reduce( } yymsp[-4].minor.yy182 = yylhsminor.yy182; break; - case 147: /* columnlist ::= columnlist COMMA column */ + case 145: /* columnlist ::= columnlist COMMA column */ {taosArrayPush(yymsp[-2].minor.yy441, &yymsp[0].minor.yy343); yylhsminor.yy441 = yymsp[-2].minor.yy441; } yymsp[-2].minor.yy441 = yylhsminor.yy441; break; - case 148: /* columnlist ::= column */ + case 146: /* columnlist ::= column */ {yylhsminor.yy441 = taosArrayInit(4, sizeof(TAOS_FIELD)); taosArrayPush(yylhsminor.yy441, &yymsp[0].minor.yy343);} yymsp[0].minor.yy441 = yylhsminor.yy441; break; - case 149: /* column ::= ids typename */ + case 147: /* column ::= ids typename */ { tSetColumnInfo(&yylhsminor.yy343, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy343); } yymsp[-1].minor.yy343 = yylhsminor.yy343; break; - case 156: /* tagitem ::= NULL */ + case 154: /* tagitem ::= NULL */ { yymsp[0].minor.yy0.type = 0; tVariantCreate(&yylhsminor.yy506, &yymsp[0].minor.yy0); } yymsp[0].minor.yy506 = yylhsminor.yy506; break; - case 157: /* tagitem ::= NOW */ + case 155: /* tagitem ::= NOW */ { yymsp[0].minor.yy0.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreate(&yylhsminor.yy506, &yymsp[0].minor.yy0);} yymsp[0].minor.yy506 = yylhsminor.yy506; break; - case 158: /* tagitem ::= MINUS INTEGER */ - case 159: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==159); - case 160: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==160); - case 161: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==161); + case 156: /* tagitem ::= MINUS INTEGER */ + case 157: /* tagitem ::= MINUS FLOAT */ yytestcase(yyruleno==157); + case 158: /* tagitem ::= PLUS INTEGER */ yytestcase(yyruleno==158); + case 159: /* tagitem ::= PLUS FLOAT */ yytestcase(yyruleno==159); { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = yymsp[0].minor.yy0.type; @@ -2683,142 +2677,142 @@ static void yy_reduce( } yymsp[-1].minor.yy506 = yylhsminor.yy506; break; - case 162: /* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */ + case 160: /* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */ { - yylhsminor.yy236 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy441, yymsp[-11].minor.yy244, yymsp[-10].minor.yy166, yymsp[-4].minor.yy441, yymsp[-3].minor.yy441, &yymsp[-9].minor.yy340, &yymsp[-8].minor.yy259, &yymsp[-7].minor.yy348, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy441, &yymsp[0].minor.yy414, &yymsp[-1].minor.yy414, yymsp[-2].minor.yy166); + yylhsminor.yy236 = tSetQuerySqlNode(&yymsp[-13].minor.yy0, yymsp[-12].minor.yy441, yymsp[-11].minor.yy244, yymsp[-10].minor.yy166, yymsp[-4].minor.yy441, yymsp[-2].minor.yy441, &yymsp[-9].minor.yy340, &yymsp[-8].minor.yy259, &yymsp[-7].minor.yy348, &yymsp[-5].minor.yy0, yymsp[-6].minor.yy441, &yymsp[0].minor.yy414, &yymsp[-1].minor.yy414, yymsp[-3].minor.yy166); } yymsp[-13].minor.yy236 = yylhsminor.yy236; break; - case 163: /* select ::= LP select RP */ + case 161: /* select ::= LP select RP */ {yymsp[-2].minor.yy236 = yymsp[-1].minor.yy236;} break; - case 164: /* union ::= select */ + case 162: /* union ::= select */ { yylhsminor.yy441 = setSubclause(NULL, yymsp[0].minor.yy236); } yymsp[0].minor.yy441 = yylhsminor.yy441; break; - case 165: /* union ::= union UNION ALL select */ + case 163: /* union ::= union UNION ALL select */ { yylhsminor.yy441 = appendSelectClause(yymsp[-3].minor.yy441, yymsp[0].minor.yy236); } yymsp[-3].minor.yy441 = yylhsminor.yy441; break; - case 166: /* cmd ::= union */ + case 164: /* cmd ::= union */ { setSqlInfo(pInfo, yymsp[0].minor.yy441, NULL, TSDB_SQL_SELECT); } break; - case 167: /* select ::= SELECT selcollist */ + case 165: /* select ::= SELECT selcollist */ { yylhsminor.yy236 = tSetQuerySqlNode(&yymsp[-1].minor.yy0, yymsp[0].minor.yy441, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } yymsp[-1].minor.yy236 = yylhsminor.yy236; break; - case 168: /* sclp ::= selcollist COMMA */ + case 166: /* sclp ::= selcollist COMMA */ {yylhsminor.yy441 = yymsp[-1].minor.yy441;} yymsp[-1].minor.yy441 = yylhsminor.yy441; break; - case 169: /* sclp ::= */ - case 199: /* orderby_opt ::= */ yytestcase(yyruleno==199); + case 167: /* sclp ::= */ + case 197: /* orderby_opt ::= */ yytestcase(yyruleno==197); {yymsp[1].minor.yy441 = 0;} break; - case 170: /* selcollist ::= sclp distinct expr as */ + case 168: /* selcollist ::= sclp distinct expr as */ { yylhsminor.yy441 = tSqlExprListAppend(yymsp[-3].minor.yy441, yymsp[-1].minor.yy166, yymsp[-2].minor.yy0.n? &yymsp[-2].minor.yy0:0, yymsp[0].minor.yy0.n?&yymsp[0].minor.yy0:0); } yymsp[-3].minor.yy441 = yylhsminor.yy441; break; - case 171: /* selcollist ::= sclp STAR */ + case 169: /* selcollist ::= sclp STAR */ { tSqlExpr *pNode = tSqlExprCreateIdValue(NULL, TK_ALL); yylhsminor.yy441 = tSqlExprListAppend(yymsp[-1].minor.yy441, pNode, 0, 0); } yymsp[-1].minor.yy441 = yylhsminor.yy441; break; - case 172: /* as ::= AS ids */ + case 170: /* as ::= AS ids */ { yymsp[-1].minor.yy0 = yymsp[0].minor.yy0; } break; - case 173: /* as ::= ids */ + case 171: /* as ::= ids */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 174: /* as ::= */ + case 172: /* as ::= */ { yymsp[1].minor.yy0.n = 0; } break; - case 175: /* distinct ::= DISTINCT */ + case 173: /* distinct ::= DISTINCT */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 177: /* from ::= FROM tablelist */ - case 178: /* from ::= FROM sub */ yytestcase(yyruleno==178); + case 175: /* from ::= FROM tablelist */ + case 176: /* from ::= FROM sub */ yytestcase(yyruleno==176); {yymsp[-1].minor.yy244 = yymsp[0].minor.yy244;} break; - case 179: /* sub ::= LP union RP */ + case 177: /* sub ::= LP union RP */ {yymsp[-2].minor.yy244 = addSubqueryElem(NULL, yymsp[-1].minor.yy441, NULL);} break; - case 180: /* sub ::= LP union RP ids */ + case 178: /* sub ::= LP union RP ids */ {yymsp[-3].minor.yy244 = addSubqueryElem(NULL, yymsp[-2].minor.yy441, &yymsp[0].minor.yy0);} break; - case 181: /* sub ::= sub COMMA LP union RP ids */ + case 179: /* sub ::= sub COMMA LP union RP ids */ {yylhsminor.yy244 = addSubqueryElem(yymsp[-5].minor.yy244, yymsp[-2].minor.yy441, &yymsp[0].minor.yy0);} yymsp[-5].minor.yy244 = yylhsminor.yy244; break; - case 182: /* tablelist ::= ids cpxName */ + case 180: /* tablelist ::= ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy244 = setTableNameList(NULL, &yymsp[-1].minor.yy0, NULL); } yymsp[-1].minor.yy244 = yylhsminor.yy244; break; - case 183: /* tablelist ::= ids cpxName ids */ + case 181: /* tablelist ::= ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; yylhsminor.yy244 = setTableNameList(NULL, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } yymsp[-2].minor.yy244 = yylhsminor.yy244; break; - case 184: /* tablelist ::= tablelist COMMA ids cpxName */ + case 182: /* tablelist ::= tablelist COMMA ids cpxName */ { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yylhsminor.yy244 = setTableNameList(yymsp[-3].minor.yy244, &yymsp[-1].minor.yy0, NULL); } yymsp[-3].minor.yy244 = yylhsminor.yy244; break; - case 185: /* tablelist ::= tablelist COMMA ids cpxName ids */ + case 183: /* tablelist ::= tablelist COMMA ids cpxName ids */ { yymsp[-2].minor.yy0.n += yymsp[-1].minor.yy0.n; yylhsminor.yy244 = setTableNameList(yymsp[-4].minor.yy244, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } yymsp[-4].minor.yy244 = yylhsminor.yy244; break; - case 186: /* tmvar ::= VARIABLE */ + case 184: /* tmvar ::= VARIABLE */ {yylhsminor.yy0 = yymsp[0].minor.yy0;} yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 187: /* interval_opt ::= INTERVAL LP tmvar RP */ + case 185: /* interval_opt ::= INTERVAL LP tmvar RP */ {yymsp[-3].minor.yy340.interval = yymsp[-1].minor.yy0; yymsp[-3].minor.yy340.offset.n = 0;} break; - case 188: /* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ + case 186: /* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */ {yymsp[-5].minor.yy340.interval = yymsp[-3].minor.yy0; yymsp[-5].minor.yy340.offset = yymsp[-1].minor.yy0;} break; - case 189: /* interval_opt ::= */ + case 187: /* interval_opt ::= */ {memset(&yymsp[1].minor.yy340, 0, sizeof(yymsp[1].minor.yy340));} break; - case 190: /* session_option ::= */ + case 188: /* session_option ::= */ {yymsp[1].minor.yy259.col.n = 0; yymsp[1].minor.yy259.gap.n = 0;} break; - case 191: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ + case 189: /* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; yymsp[-6].minor.yy259.col = yymsp[-4].minor.yy0; yymsp[-6].minor.yy259.gap = yymsp[-1].minor.yy0; } break; - case 192: /* windowstate_option ::= */ + case 190: /* windowstate_option ::= */ { yymsp[1].minor.yy348.col.n = 0; yymsp[1].minor.yy348.col.z = NULL;} break; - case 193: /* windowstate_option ::= STATE_WINDOW LP ids RP */ + case 191: /* windowstate_option ::= STATE_WINDOW LP ids RP */ { yymsp[-3].minor.yy348.col = yymsp[-1].minor.yy0; } break; - case 194: /* fill_opt ::= */ + case 192: /* fill_opt ::= */ { yymsp[1].minor.yy441 = 0; } break; - case 195: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */ + case 193: /* fill_opt ::= FILL LP ID COMMA tagitemlist RP */ { tVariant A = {0}; toTSDBType(yymsp[-3].minor.yy0.type); @@ -2828,34 +2822,34 @@ static void yy_reduce( yymsp[-5].minor.yy441 = yymsp[-1].minor.yy441; } break; - case 196: /* fill_opt ::= FILL LP ID RP */ + case 194: /* fill_opt ::= FILL LP ID RP */ { toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-3].minor.yy441 = tVariantListAppendToken(NULL, &yymsp[-1].minor.yy0, -1); } break; - case 197: /* sliding_opt ::= SLIDING LP tmvar RP */ + case 195: /* sliding_opt ::= SLIDING LP tmvar RP */ {yymsp[-3].minor.yy0 = yymsp[-1].minor.yy0; } break; - case 198: /* sliding_opt ::= */ + case 196: /* sliding_opt ::= */ {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = NULL; yymsp[1].minor.yy0.type = 0; } break; - case 200: /* orderby_opt ::= ORDER BY sortlist */ + case 198: /* orderby_opt ::= ORDER BY sortlist */ {yymsp[-2].minor.yy441 = yymsp[0].minor.yy441;} break; - case 201: /* sortlist ::= sortlist COMMA item sortorder */ + case 199: /* sortlist ::= sortlist COMMA item sortorder */ { yylhsminor.yy441 = tVariantListAppend(yymsp[-3].minor.yy441, &yymsp[-1].minor.yy506, yymsp[0].minor.yy112); } yymsp[-3].minor.yy441 = yylhsminor.yy441; break; - case 202: /* sortlist ::= item sortorder */ + case 200: /* sortlist ::= item sortorder */ { yylhsminor.yy441 = tVariantListAppend(NULL, &yymsp[-1].minor.yy506, yymsp[0].minor.yy112); } yymsp[-1].minor.yy441 = yylhsminor.yy441; break; - case 203: /* item ::= ids cpxName */ + case 201: /* item ::= ids cpxName */ { toTSDBType(yymsp[-1].minor.yy0.type); yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; @@ -2864,227 +2858,227 @@ static void yy_reduce( } yymsp[-1].minor.yy506 = yylhsminor.yy506; break; - case 204: /* sortorder ::= ASC */ + case 202: /* sortorder ::= ASC */ { yymsp[0].minor.yy112 = TSDB_ORDER_ASC; } break; - case 205: /* sortorder ::= DESC */ + case 203: /* sortorder ::= DESC */ { yymsp[0].minor.yy112 = TSDB_ORDER_DESC;} break; - case 206: /* sortorder ::= */ + case 204: /* sortorder ::= */ { yymsp[1].minor.yy112 = TSDB_ORDER_ASC; } break; - case 207: /* groupby_opt ::= */ + case 205: /* groupby_opt ::= */ { yymsp[1].minor.yy441 = 0;} break; - case 208: /* groupby_opt ::= GROUP BY grouplist */ + case 206: /* groupby_opt ::= GROUP BY grouplist */ { yymsp[-2].minor.yy441 = yymsp[0].minor.yy441;} break; - case 209: /* grouplist ::= grouplist COMMA item */ + case 207: /* grouplist ::= grouplist COMMA item */ { yylhsminor.yy441 = tVariantListAppend(yymsp[-2].minor.yy441, &yymsp[0].minor.yy506, -1); } yymsp[-2].minor.yy441 = yylhsminor.yy441; break; - case 210: /* grouplist ::= item */ + case 208: /* grouplist ::= item */ { yylhsminor.yy441 = tVariantListAppend(NULL, &yymsp[0].minor.yy506, -1); } yymsp[0].minor.yy441 = yylhsminor.yy441; break; - case 211: /* having_opt ::= */ - case 221: /* where_opt ::= */ yytestcase(yyruleno==221); - case 263: /* expritem ::= */ yytestcase(yyruleno==263); + case 209: /* having_opt ::= */ + case 219: /* where_opt ::= */ yytestcase(yyruleno==219); + case 261: /* expritem ::= */ yytestcase(yyruleno==261); {yymsp[1].minor.yy166 = 0;} break; - case 212: /* having_opt ::= HAVING expr */ - case 222: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==222); + case 210: /* having_opt ::= HAVING expr */ + case 220: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==220); {yymsp[-1].minor.yy166 = yymsp[0].minor.yy166;} break; - case 213: /* limit_opt ::= */ - case 217: /* slimit_opt ::= */ yytestcase(yyruleno==217); + case 211: /* limit_opt ::= */ + case 215: /* slimit_opt ::= */ yytestcase(yyruleno==215); {yymsp[1].minor.yy414.limit = -1; yymsp[1].minor.yy414.offset = 0;} break; - case 214: /* limit_opt ::= LIMIT signed */ - case 218: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==218); + case 212: /* limit_opt ::= LIMIT signed */ + case 216: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==216); {yymsp[-1].minor.yy414.limit = yymsp[0].minor.yy369; yymsp[-1].minor.yy414.offset = 0;} break; - case 215: /* limit_opt ::= LIMIT signed OFFSET signed */ + case 213: /* limit_opt ::= LIMIT signed OFFSET signed */ { yymsp[-3].minor.yy414.limit = yymsp[-2].minor.yy369; yymsp[-3].minor.yy414.offset = yymsp[0].minor.yy369;} break; - case 216: /* limit_opt ::= LIMIT signed COMMA signed */ + case 214: /* limit_opt ::= LIMIT signed COMMA signed */ { yymsp[-3].minor.yy414.limit = yymsp[0].minor.yy369; yymsp[-3].minor.yy414.offset = yymsp[-2].minor.yy369;} break; - case 219: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ + case 217: /* slimit_opt ::= SLIMIT signed SOFFSET signed */ {yymsp[-3].minor.yy414.limit = yymsp[-2].minor.yy369; yymsp[-3].minor.yy414.offset = yymsp[0].minor.yy369;} break; - case 220: /* slimit_opt ::= SLIMIT signed COMMA signed */ + case 218: /* slimit_opt ::= SLIMIT signed COMMA signed */ {yymsp[-3].minor.yy414.limit = yymsp[0].minor.yy369; yymsp[-3].minor.yy414.offset = yymsp[-2].minor.yy369;} break; - case 223: /* expr ::= LP expr RP */ + case 221: /* expr ::= LP expr RP */ {yylhsminor.yy166 = yymsp[-1].minor.yy166; yylhsminor.yy166->exprToken.z = yymsp[-2].minor.yy0.z; yylhsminor.yy166->exprToken.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 224: /* expr ::= ID */ + case 222: /* expr ::= ID */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_ID);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 225: /* expr ::= ID DOT ID */ + case 223: /* expr ::= ID DOT ID */ { yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ID);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 226: /* expr ::= ID DOT STAR */ + case 224: /* expr ::= ID DOT STAR */ { yymsp[-2].minor.yy0.n += (1+yymsp[0].minor.yy0.n); yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[-2].minor.yy0, TK_ALL);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 227: /* expr ::= INTEGER */ + case 225: /* expr ::= INTEGER */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_INTEGER);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 228: /* expr ::= MINUS INTEGER */ - case 229: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==229); + case 226: /* expr ::= MINUS INTEGER */ + case 227: /* expr ::= PLUS INTEGER */ yytestcase(yyruleno==227); { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_INTEGER; yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_INTEGER);} yymsp[-1].minor.yy166 = yylhsminor.yy166; break; - case 230: /* expr ::= FLOAT */ + case 228: /* expr ::= FLOAT */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_FLOAT);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 231: /* expr ::= MINUS FLOAT */ - case 232: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==232); + case 229: /* expr ::= MINUS FLOAT */ + case 230: /* expr ::= PLUS FLOAT */ yytestcase(yyruleno==230); { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_FLOAT; yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_FLOAT);} yymsp[-1].minor.yy166 = yylhsminor.yy166; break; - case 233: /* expr ::= STRING */ + case 231: /* expr ::= STRING */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_STRING);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 234: /* expr ::= NOW */ + case 232: /* expr ::= NOW */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NOW); } yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 235: /* expr ::= VARIABLE */ + case 233: /* expr ::= VARIABLE */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_VARIABLE);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 236: /* expr ::= PLUS VARIABLE */ - case 237: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==237); + case 234: /* expr ::= PLUS VARIABLE */ + case 235: /* expr ::= MINUS VARIABLE */ yytestcase(yyruleno==235); { yymsp[-1].minor.yy0.n += yymsp[0].minor.yy0.n; yymsp[-1].minor.yy0.type = TK_VARIABLE; yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[-1].minor.yy0, TK_VARIABLE);} yymsp[-1].minor.yy166 = yylhsminor.yy166; break; - case 238: /* expr ::= BOOL */ + case 236: /* expr ::= BOOL */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_BOOL);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 239: /* expr ::= NULL */ + case 237: /* expr ::= NULL */ { yylhsminor.yy166 = tSqlExprCreateIdValue(&yymsp[0].minor.yy0, TK_NULL);} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 240: /* expr ::= ID LP exprlist RP */ + case 238: /* expr ::= ID LP exprlist RP */ { yylhsminor.yy166 = tSqlExprCreateFunction(yymsp[-1].minor.yy441, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } yymsp[-3].minor.yy166 = yylhsminor.yy166; break; - case 241: /* expr ::= ID LP STAR RP */ + case 239: /* expr ::= ID LP STAR RP */ { yylhsminor.yy166 = tSqlExprCreateFunction(NULL, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, yymsp[-3].minor.yy0.type); } yymsp[-3].minor.yy166 = yylhsminor.yy166; break; - case 242: /* expr ::= expr IS NULL */ + case 240: /* expr ::= expr IS NULL */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, NULL, TK_ISNULL);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 243: /* expr ::= expr IS NOT NULL */ + case 241: /* expr ::= expr IS NOT NULL */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-3].minor.yy166, NULL, TK_NOTNULL);} yymsp[-3].minor.yy166 = yylhsminor.yy166; break; - case 244: /* expr ::= expr LT expr */ + case 242: /* expr ::= expr LT expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_LT);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 245: /* expr ::= expr GT expr */ + case 243: /* expr ::= expr GT expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_GT);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 246: /* expr ::= expr LE expr */ + case 244: /* expr ::= expr LE expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_LE);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 247: /* expr ::= expr GE expr */ + case 245: /* expr ::= expr GE expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_GE);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 248: /* expr ::= expr NE expr */ + case 246: /* expr ::= expr NE expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_NE);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 249: /* expr ::= expr EQ expr */ + case 247: /* expr ::= expr EQ expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_EQ);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 250: /* expr ::= expr BETWEEN expr AND expr */ + case 248: /* expr ::= expr BETWEEN expr AND expr */ { tSqlExpr* X2 = tSqlExprClone(yymsp[-4].minor.yy166); yylhsminor.yy166 = tSqlExprCreate(tSqlExprCreate(yymsp[-4].minor.yy166, yymsp[-2].minor.yy166, TK_GE), tSqlExprCreate(X2, yymsp[0].minor.yy166, TK_LE), TK_AND);} yymsp[-4].minor.yy166 = yylhsminor.yy166; break; - case 251: /* expr ::= expr AND expr */ + case 249: /* expr ::= expr AND expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_AND);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 252: /* expr ::= expr OR expr */ + case 250: /* expr ::= expr OR expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_OR); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 253: /* expr ::= expr PLUS expr */ + case 251: /* expr ::= expr PLUS expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_PLUS); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 254: /* expr ::= expr MINUS expr */ + case 252: /* expr ::= expr MINUS expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_MINUS); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 255: /* expr ::= expr STAR expr */ + case 253: /* expr ::= expr STAR expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_STAR); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 256: /* expr ::= expr SLASH expr */ + case 254: /* expr ::= expr SLASH expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_DIVIDE);} yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 257: /* expr ::= expr REM expr */ + case 255: /* expr ::= expr REM expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_REM); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 258: /* expr ::= expr LIKE expr */ + case 256: /* expr ::= expr LIKE expr */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-2].minor.yy166, yymsp[0].minor.yy166, TK_LIKE); } yymsp[-2].minor.yy166 = yylhsminor.yy166; break; - case 259: /* expr ::= expr IN LP exprlist RP */ + case 257: /* expr ::= expr IN LP exprlist RP */ {yylhsminor.yy166 = tSqlExprCreate(yymsp[-4].minor.yy166, (tSqlExpr*)yymsp[-1].minor.yy441, TK_IN); } yymsp[-4].minor.yy166 = yylhsminor.yy166; break; - case 260: /* exprlist ::= exprlist COMMA expritem */ + case 258: /* exprlist ::= exprlist COMMA expritem */ {yylhsminor.yy441 = tSqlExprListAppend(yymsp[-2].minor.yy441,yymsp[0].minor.yy166,0, 0);} yymsp[-2].minor.yy441 = yylhsminor.yy441; break; - case 261: /* exprlist ::= expritem */ + case 259: /* exprlist ::= expritem */ {yylhsminor.yy441 = tSqlExprListAppend(0,yymsp[0].minor.yy166,0, 0);} yymsp[0].minor.yy441 = yylhsminor.yy441; break; - case 262: /* expritem ::= expr */ + case 260: /* expritem ::= expr */ {yylhsminor.yy166 = yymsp[0].minor.yy166;} yymsp[0].minor.yy166 = yylhsminor.yy166; break; - case 264: /* cmd ::= RESET QUERY CACHE */ + case 262: /* cmd ::= RESET QUERY CACHE */ { setDCLSqlElems(pInfo, TSDB_SQL_RESET_CACHE, 0);} break; - case 265: /* cmd ::= SYNCDB ids REPLICA */ + case 263: /* cmd ::= SYNCDB ids REPLICA */ { setDCLSqlElems(pInfo, TSDB_SQL_SYNC_DB_REPLICA, 1, &yymsp[-1].minor.yy0);} break; - case 266: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ + case 264: /* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 267: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ + case 265: /* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3095,21 +3089,21 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 268: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ + case 266: /* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 269: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ + case 267: /* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 270: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ + case 268: /* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3120,7 +3114,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 271: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ + case 269: /* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3134,7 +3128,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 272: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ + case 270: /* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; @@ -3146,21 +3140,21 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 273: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ + case 271: /* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, -1); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 274: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ + case 272: /* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_ADD_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 275: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ + case 273: /* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3171,21 +3165,21 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 276: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ + case 274: /* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_CHANGE_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 277: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ + case 275: /* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_ADD_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 278: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ + case 276: /* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; @@ -3196,7 +3190,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 279: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ + case 277: /* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */ { yymsp[-5].minor.yy0.n += yymsp[-4].minor.yy0.n; @@ -3210,7 +3204,7 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 280: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ + case 278: /* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */ { yymsp[-6].minor.yy0.n += yymsp[-5].minor.yy0.n; @@ -3222,20 +3216,20 @@ static void yy_reduce( setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 281: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ + case 279: /* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */ { yymsp[-4].minor.yy0.n += yymsp[-3].minor.yy0.n; SAlterTableInfo* pAlterTable = tSetAlterTableInfo(&yymsp[-4].minor.yy0, yymsp[0].minor.yy441, NULL, TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN, TSDB_SUPER_TABLE); setSqlInfo(pInfo, pAlterTable, NULL, TSDB_SQL_ALTER_TABLE); } break; - case 282: /* cmd ::= KILL CONNECTION INTEGER */ + case 280: /* cmd ::= KILL CONNECTION INTEGER */ {setKillSql(pInfo, TSDB_SQL_KILL_CONNECTION, &yymsp[0].minor.yy0);} break; - case 283: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ + case 281: /* cmd ::= KILL STREAM INTEGER COLON INTEGER */ {yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSql(pInfo, TSDB_SQL_KILL_STREAM, &yymsp[-2].minor.yy0);} break; - case 284: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ + case 282: /* cmd ::= KILL QUERY INTEGER COLON INTEGER */ {yymsp[-2].minor.yy0.n += (yymsp[-1].minor.yy0.n + yymsp[0].minor.yy0.n); setKillSql(pInfo, TSDB_SQL_KILL_QUERY, &yymsp[-2].minor.yy0);} break; default: diff --git a/tests/script/general/db/alter_option.sim b/tests/script/general/db/alter_option.sim index c20a96fd1bd18ba911cce02859d7265d0294b76b..36f4c0e7dcfca27f77b0e701adff47e06f9d1bb0 100644 --- a/tests/script/general/db/alter_option.sim +++ b/tests/script/general/db/alter_option.sim @@ -198,29 +198,25 @@ if $data12_db != 1 then return -1 endi -sql alter database db wal 1 -sql show databases -print wal $data12_db -if $data12_db != 1 then - return -1 -endi +sql_error alter database db wal 1 + -sql alter database db wal 1 -sql alter database db wal 2 -sql alter database db wal 1 -sql alter database db wal 2 -sql alter database db wal 0 +sql_error alter database db wal 1 +sql_error alter database db wal 2 +sql_error alter database db wal 1 +sql_error alter database db wal 2 +sql_error alter database db wal 0 sql_error alter database db wal 3 sql_error alter database db wal 4 sql_error alter database db wal -1 sql_error alter database db wal 1000 print ============== step fsync -sql alter database db fsync 0 -sql alter database db fsync 1 -sql alter database db fsync 3600 -sql alter database db fsync 18000 -sql alter database db fsync 180000 +sql_error alter database db fsync 0 +sql_error alter database db fsync 1 +sql_error alter database db fsync 3600 +sql_error alter database db fsync 18000 +sql_error alter database db fsync 180000 sql_error alter database db fsync 180001 sql_error alter database db fsync -1 diff --git a/tests/script/general/db/topic1.sim b/tests/script/general/db/topic1.sim index 4939e5a0e2274e8ab26465fe04ca99a79f9f9ce0..16399731208915602fea6dcd123fb85edf2e085b 100644 --- a/tests/script/general/db/topic1.sim +++ b/tests/script/general/db/topic1.sim @@ -495,18 +495,13 @@ if $data12_db != 1 then endi sql_error alter topic db wal 1 -sql alter database db wal 1 -sql show databases -print wal $data12_db -if $data12_db != 1 then - return -1 -endi +sql_error alter database db wal 1 -sql alter database db wal 1 -sql alter database db wal 2 -sql alter database db wal 1 -sql alter database db wal 2 -sql alter database db wal 0 +sql_error alter database db wal 1 +sql_error alter database db wal 2 +sql_error alter database db wal 1 +sql_error alter database db wal 2 +sql_error alter database db wal 0 sql_error alter database db wal 3 sql_error alter database db wal 4 sql_error alter database db wal -1 @@ -523,11 +518,11 @@ sql_error alter topic db wal -1 sql_error alter topic db wal 1000 print ============== step fsync -sql alter database db fsync 0 -sql alter database db fsync 1 -sql alter database db fsync 3600 -sql alter database db fsync 18000 -sql alter database db fsync 180000 +sql_error alter database db fsync 0 +sql_error alter database db fsync 1 +sql_error alter database db fsync 3600 +sql_error alter database db fsync 18000 +sql_error alter database db fsync 180000 sql_error alter database db fsync 180001 sql_error alter database db fsync -1 @@ -615,17 +610,6 @@ if $rows != 1 then return -1 endi -sql alter database d1 fsync 0 -sql show topics; -if $rows != 0 then - return -1 -endi - -sql show databases; -if $rows != 1 then - return -1 -endi - sql drop database d1 sql show topics; if $rows != 0 then @@ -649,17 +633,6 @@ if $rows != 1 then return -1 endi -sql alter database d1 fsync 0 -sql show topics; -if $rows != 1 then - return -1 -endi - -sql show databases; -if $rows != 1 then - return -1 -endi - sql drop database d1 sql show topics; if $rows != 0 then diff --git a/tests/script/general/parser/create_db.sim b/tests/script/general/parser/create_db.sim index 7881060ad178fe3b3f7a9ea0530a1ac517264a3e..a62a45e0233f5db81bc7565c856f08483c9d8aee 100644 --- a/tests/script/general/parser/create_db.sim +++ b/tests/script/general/parser/create_db.sim @@ -237,7 +237,42 @@ sql_error create database $db ctime 29 sql_error create database $db ctime 40961 # wal {0, 2} -#sql_error create database $db wal 0 +sql create database testwal wal 0 +sql show databases +if $rows != 1 then + return -1 +endi + +sql show databases +print wallevel $data12_testwal +if $data12_testwal != 0 then + return -1 +endi +sql drop database testwal + +sql create database testwal wal 1 +sql show databases +if $rows != 1 then + return -1 +endi +sql show databases +print wallevel $data12_testwal +if $data12_testwal != 1 then + return -1 +endi +sql drop database testwal + +sql create database testwal wal 2 +sql show databases +if $rows != 1 then + return -1 +endi +print wallevel $data12_testwal +if $data12_testwal != 2 then + return -1 +endi +sql drop database testwal + sql_error create database $db wal -1 sql_error create database $db wal 3