未验证 提交 883d02bb 编写于 作者: H Haojun Liao 提交者: GitHub

Merge pull request #6834 from taosdata/feature/query

Feature/query
......@@ -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;
......
......@@ -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 {
......
......@@ -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; }
......
......@@ -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";
......
......@@ -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) {
......
......@@ -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:
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册