Merge branch 'develop' into hotfix/sangshuduo/change-full-test-list
This commit is contained in:
commit
2306992b63
|
@ -192,7 +192,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions(JNIEnv
|
||||||
const char *tz1 = (*env)->GetStringUTFChars(env, optionValue, NULL);
|
const char *tz1 = (*env)->GetStringUTFChars(env, optionValue, NULL);
|
||||||
if (tz1 && strlen(tz1) != 0) {
|
if (tz1 && strlen(tz1) != 0) {
|
||||||
res = taos_options(TSDB_OPTION_TIMEZONE, tz1);
|
res = taos_options(TSDB_OPTION_TIMEZONE, tz1);
|
||||||
jniTrace("set timezone to %s, result:%d", timezone, res);
|
jniTrace("set timezone to %s, result:%d", tz1, res);
|
||||||
} else {
|
} else {
|
||||||
jniTrace("input timezone is empty");
|
jniTrace("input timezone is empty");
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ int32_t tscGetNumOfTags(const STableMeta* pTableMeta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pTableMeta->tableType == TSDB_SUPER_TABLE || pTableMeta->tableType == TSDB_CHILD_TABLE) {
|
if (pTableMeta->tableType == TSDB_SUPER_TABLE || pTableMeta->tableType == TSDB_CHILD_TABLE) {
|
||||||
assert(tinfo.numOfTags >= 0);
|
|
||||||
return tinfo.numOfTags;
|
return tinfo.numOfTags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -646,10 +646,6 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
|
|
||||||
size_t numOfOutput = tscSqlExprNumOfExprs(pQueryInfo);
|
size_t numOfOutput = tscSqlExprNumOfExprs(pQueryInfo);
|
||||||
pQueryMsg->numOfOutput = htons(numOfOutput);
|
pQueryMsg->numOfOutput = htons(numOfOutput);
|
||||||
if (numOfOutput < 0) {
|
|
||||||
tscError("%p illegal value of number of output columns in query msg: %d", pSql, numOfOutput);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set column list ids
|
// set column list ids
|
||||||
size_t numOfCols = taosArrayGetSize(pQueryInfo->colList);
|
size_t numOfCols = taosArrayGetSize(pQueryInfo->colList);
|
||||||
|
@ -663,7 +659,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
if (pCol->colIndex.columnIndex >= tscGetNumOfColumns(pTableMeta) || pColSchema->type < TSDB_DATA_TYPE_BOOL ||
|
if (pCol->colIndex.columnIndex >= tscGetNumOfColumns(pTableMeta) || pColSchema->type < TSDB_DATA_TYPE_BOOL ||
|
||||||
pColSchema->type > TSDB_DATA_TYPE_NCHAR) {
|
pColSchema->type > TSDB_DATA_TYPE_NCHAR) {
|
||||||
tscError("%p sid:%d uid:%" PRIu64" id:%s, column index out of range, numOfColumns:%d, index:%d, column name:%s",
|
tscError("%p sid:%d uid:%" PRIu64" id:%s, column index out of range, numOfColumns:%d, index:%d, column name:%s",
|
||||||
pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, tscGetNumOfColumns(pTableMeta), pCol->colIndex,
|
pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, tscGetNumOfColumns(pTableMeta), pCol->colIndex.columnIndex,
|
||||||
pColSchema->name);
|
pColSchema->name);
|
||||||
|
|
||||||
return TSDB_CODE_TSC_INVALID_SQL;
|
return TSDB_CODE_TSC_INVALID_SQL;
|
||||||
|
@ -783,7 +779,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
(pColSchema->type < TSDB_DATA_TYPE_BOOL || pColSchema->type > TSDB_DATA_TYPE_NCHAR)) {
|
(pColSchema->type < TSDB_DATA_TYPE_BOOL || pColSchema->type > TSDB_DATA_TYPE_NCHAR)) {
|
||||||
tscError("%p sid:%d uid:%" PRIu64 " id:%s, tag index out of range, totalCols:%d, numOfTags:%d, index:%d, column name:%s",
|
tscError("%p sid:%d uid:%" PRIu64 " id:%s, tag index out of range, totalCols:%d, numOfTags:%d, index:%d, column name:%s",
|
||||||
pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, total, numOfTagColumns,
|
pSql, pTableMeta->sid, pTableMeta->uid, pTableMetaInfo->name, total, numOfTagColumns,
|
||||||
pCol->colIndex, pColSchema->name);
|
pCol->colIndex.columnIndex, pColSchema->name);
|
||||||
|
|
||||||
return TSDB_CODE_TSC_INVALID_SQL;
|
return TSDB_CODE_TSC_INVALID_SQL;
|
||||||
}
|
}
|
||||||
|
@ -982,7 +978,7 @@ int32_t tscBuildDropDbMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
SCMDropDbMsg *pDropDbMsg = (SCMDropDbMsg*)pCmd->payload;
|
SCMDropDbMsg *pDropDbMsg = (SCMDropDbMsg*)pCmd->payload;
|
||||||
|
|
||||||
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
|
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
|
||||||
strncpy(pDropDbMsg->db, pTableMetaInfo->name, tListLen(pDropDbMsg->db));
|
tstrncpy(pDropDbMsg->db, pTableMetaInfo->name, sizeof(pDropDbMsg->db));
|
||||||
pDropDbMsg->ignoreNotExists = pInfo->pDCLInfo->existsCheck ? 1 : 0;
|
pDropDbMsg->ignoreNotExists = pInfo->pDCLInfo->existsCheck ? 1 : 0;
|
||||||
|
|
||||||
pCmd->msgType = TSDB_MSG_TYPE_CM_DROP_DB;
|
pCmd->msgType = TSDB_MSG_TYPE_CM_DROP_DB;
|
||||||
|
@ -1052,7 +1048,7 @@ int32_t tscBuildDropAcctMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
|
|
||||||
SCMDropUserMsg *pDropMsg = (SCMDropUserMsg*)pCmd->payload;
|
SCMDropUserMsg *pDropMsg = (SCMDropUserMsg*)pCmd->payload;
|
||||||
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
|
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
|
||||||
strcpy(pDropMsg->user, pTableMetaInfo->name);
|
tstrncpy(pDropMsg->user, pTableMetaInfo->name, sizeof(pDropMsg->user));
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -1812,6 +1808,7 @@ int tscProcessTableMetaRsp(SSqlObj *pSql) {
|
||||||
|
|
||||||
// todo handle out of memory case
|
// todo handle out of memory case
|
||||||
if (pTableMetaInfo->pTableMeta == NULL) {
|
if (pTableMetaInfo->pTableMeta == NULL) {
|
||||||
|
free(pTableMeta);
|
||||||
return TSDB_CODE_TSC_OUT_OF_MEMORY;
|
return TSDB_CODE_TSC_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2324,6 +2321,7 @@ int tscGetSTableVgroupInfo(SSqlObj *pSql, int32_t clauseIndex) {
|
||||||
|
|
||||||
SQueryInfo *pNewQueryInfo = NULL;
|
SQueryInfo *pNewQueryInfo = NULL;
|
||||||
if ((code = tscGetQueryInfoDetailSafely(&pNew->cmd, 0, &pNewQueryInfo)) != TSDB_CODE_SUCCESS) {
|
if ((code = tscGetQueryInfoDetailSafely(&pNew->cmd, 0, &pNewQueryInfo)) != TSDB_CODE_SUCCESS) {
|
||||||
|
tscFreeSqlObj(pNew);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -584,7 +584,7 @@ char *taos_errstr(TAOS_RES *tres) {
|
||||||
|
|
||||||
void taos_config(int debug, char *log_path) {
|
void taos_config(int debug, char *log_path) {
|
||||||
uDebugFlag = debug;
|
uDebugFlag = debug;
|
||||||
strcpy(tsLogDir, log_path);
|
tstrncpy(tsLogDir, log_path, TSDB_FILENAME_LEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *taos_get_server_info(TAOS *taos) {
|
char *taos_get_server_info(TAOS *taos) {
|
||||||
|
@ -719,6 +719,7 @@ int taos_validate_sql(TAOS *taos, const char *sql) {
|
||||||
if (sqlLen > tsMaxSQLStringLen) {
|
if (sqlLen > tsMaxSQLStringLen) {
|
||||||
tscError("%p sql too long", pSql);
|
tscError("%p sql too long", pSql);
|
||||||
pRes->code = TSDB_CODE_TSC_INVALID_SQL;
|
pRes->code = TSDB_CODE_TSC_INVALID_SQL;
|
||||||
|
tfree(pSql);
|
||||||
return pRes->code;
|
return pRes->code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -727,6 +728,7 @@ int taos_validate_sql(TAOS *taos, const char *sql) {
|
||||||
pRes->code = TSDB_CODE_TSC_OUT_OF_MEMORY;
|
pRes->code = TSDB_CODE_TSC_OUT_OF_MEMORY;
|
||||||
tscError("%p failed to malloc sql string buffer", pSql);
|
tscError("%p failed to malloc sql string buffer", pSql);
|
||||||
tscTrace("%p Valid SQL result:%d, %s pObj:%p", pSql, pRes->code, taos_errstr(taos), pObj);
|
tscTrace("%p Valid SQL result:%d, %s pObj:%p", pSql, pRes->code, taos_errstr(taos), pObj);
|
||||||
|
tfree(pSql);
|
||||||
return pRes->code;
|
return pRes->code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -851,6 +853,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
|
||||||
if (tblListLen > MAX_TABLE_NAME_LENGTH) {
|
if (tblListLen > MAX_TABLE_NAME_LENGTH) {
|
||||||
tscError("%p tableNameList too long, length:%d, maximum allowed:%d", pSql, tblListLen, MAX_TABLE_NAME_LENGTH);
|
tscError("%p tableNameList too long, length:%d, maximum allowed:%d", pSql, tblListLen, MAX_TABLE_NAME_LENGTH);
|
||||||
pRes->code = TSDB_CODE_TSC_INVALID_SQL;
|
pRes->code = TSDB_CODE_TSC_INVALID_SQL;
|
||||||
|
tfree(pSql);
|
||||||
return pRes->code;
|
return pRes->code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -858,6 +861,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
|
||||||
if (str == NULL) {
|
if (str == NULL) {
|
||||||
pRes->code = TSDB_CODE_TSC_OUT_OF_MEMORY;
|
pRes->code = TSDB_CODE_TSC_OUT_OF_MEMORY;
|
||||||
tscError("%p failed to malloc sql string buffer", pSql);
|
tscError("%p failed to malloc sql string buffer", pSql);
|
||||||
|
tfree(pSql);
|
||||||
return pRes->code;
|
return pRes->code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -873,6 +877,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
|
||||||
free(str);
|
free(str);
|
||||||
|
|
||||||
if (pRes->code != TSDB_CODE_SUCCESS) {
|
if (pRes->code != TSDB_CODE_SUCCESS) {
|
||||||
|
tscFreeSqlObj(pSql);
|
||||||
return pRes->code;
|
return pRes->code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,7 @@ static void tscProcessStreamTimer(void *handle, void *tmrId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// launch stream computing in a new thread
|
// launch stream computing in a new thread
|
||||||
SSchedMsg schedMsg;
|
SSchedMsg schedMsg = { 0 };
|
||||||
schedMsg.fp = tscProcessStreamLaunchQuery;
|
schedMsg.fp = tscProcessStreamLaunchQuery;
|
||||||
schedMsg.ahandle = pStream;
|
schedMsg.ahandle = pStream;
|
||||||
schedMsg.thandle = (void *)1;
|
schedMsg.thandle = (void *)1;
|
||||||
|
@ -239,7 +239,7 @@ static void tscProcessStreamRetrieveResult(void *param, TAOS_RES *res, int numOf
|
||||||
/* no resuls in the query range, retry */
|
/* no resuls in the query range, retry */
|
||||||
// todo set retry dynamic time
|
// todo set retry dynamic time
|
||||||
int32_t retry = tsProjectExecInterval;
|
int32_t retry = tsProjectExecInterval;
|
||||||
tscError("%p stream:%p, retrieve no data, code:%d, retry in %" PRId64 "ms", pSql, pStream, numOfRows, retry);
|
tscError("%p stream:%p, retrieve no data, code:%d, retry in %" PRId32 "ms", pSql, pStream, numOfRows, retry);
|
||||||
|
|
||||||
tscSetRetryTimer(pStream, pStream->pSql, retry);
|
tscSetRetryTimer(pStream, pStream->pSql, retry);
|
||||||
return;
|
return;
|
||||||
|
@ -250,7 +250,7 @@ static void tscProcessStreamRetrieveResult(void *param, TAOS_RES *res, int numOf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tscTrace("%p stream:%p, query on:%s, fetch result completed, fetched rows:%d", pSql, pStream, pTableMetaInfo->name,
|
tscTrace("%p stream:%p, query on:%s, fetch result completed, fetched rows:%" PRId64, pSql, pStream, pTableMetaInfo->name,
|
||||||
pStream->numOfRes);
|
pStream->numOfRes);
|
||||||
|
|
||||||
// release the metric/meter meta information reference, so data in cache can be updated
|
// release the metric/meter meta information reference, so data in cache can be updated
|
||||||
|
|
|
@ -291,7 +291,7 @@ static int tscLoadSubscriptionProgress(SSub* pSub) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
taosArraySort(progress, tscCompareSubscriptionProgress);
|
taosArraySort(progress, tscCompareSubscriptionProgress);
|
||||||
tscTrace("subscription progress loaded, %d tables: %s", taosArrayGetSize(progress), pSub->topic);
|
tscTrace("subscription progress loaded, %z tables: %s", taosArrayGetSize(progress), pSub->topic);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,7 +350,7 @@ TAOS_SUB *taos_subscribe(TAOS *taos, int restart, const char* topic, const char
|
||||||
|
|
||||||
pSub->interval = interval;
|
pSub->interval = interval;
|
||||||
if (fp != NULL) {
|
if (fp != NULL) {
|
||||||
tscTrace("asynchronize subscription, create new timer", topic);
|
tscTrace("asynchronize subscription, create new timer: %s", topic);
|
||||||
pSub->fp = fp;
|
pSub->fp = fp;
|
||||||
pSub->param = param;
|
pSub->param = param;
|
||||||
taosTmrReset(tscProcessSubscriptionTimer, interval, pSub, tscTmr, &pSub->pTimer);
|
taosTmrReset(tscProcessSubscriptionTimer, interval, pSub, tscTmr, &pSub->pTimer);
|
||||||
|
@ -435,7 +435,9 @@ void taos_unsubscribe(TAOS_SUB *tsub, int keepProgress) {
|
||||||
} else {
|
} else {
|
||||||
char path[256];
|
char path[256];
|
||||||
sprintf(path, "%s/subscribe/%s", tsDataDir, pSub->topic);
|
sprintf(path, "%s/subscribe/%s", tsDataDir, pSub->topic);
|
||||||
remove(path);
|
if (remove(path) != 0) {
|
||||||
|
tscError("failed to remove progress file, topic = %s, error = %s", pSub->topic, strerror(errno));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tscFreeSqlObj(pSub->pSql);
|
tscFreeSqlObj(pSub->pSql);
|
||||||
|
|
|
@ -354,7 +354,7 @@ static int32_t tscLaunchSecondPhaseSubqueries(SSqlObj* pSql) {
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t numOfCols = taosArrayGetSize(pNewQueryInfo->colList);
|
size_t numOfCols = taosArrayGetSize(pNewQueryInfo->colList);
|
||||||
tscTrace("%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%d, colList:%d, fieldsInfo:%d, name:%s",
|
tscTrace("%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%z, colList:%z, fieldsInfo:%d, name:%s",
|
||||||
pSql, pNew, 0, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, taosArrayGetSize(pNewQueryInfo->exprList),
|
pSql, pNew, 0, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, taosArrayGetSize(pNewQueryInfo->exprList),
|
||||||
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, pTableMetaInfo->name);
|
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, pTableMetaInfo->name);
|
||||||
}
|
}
|
||||||
|
@ -551,7 +551,7 @@ static void issueTSCompQuery(SSqlObj* pSql, SJoinSupporter* pSupporter, SSqlObj*
|
||||||
|
|
||||||
tscTrace(
|
tscTrace(
|
||||||
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, numOfVgroups:%d, type:%d, ts_comp query to retrieve timestamps, "
|
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, numOfVgroups:%d, type:%d, ts_comp query to retrieve timestamps, "
|
||||||
"numOfExpr:%d, colList:%d, numOfOutputFields:%d, name:%s",
|
"numOfExpr:%z, colList:%z, numOfOutputFields:%d, name:%s",
|
||||||
pParent, pSql, 0, pTableMetaInfo->vgroupIndex, pTableMetaInfo->vgroupList->numOfVgroups, pQueryInfo->type,
|
pParent, pSql, 0, pTableMetaInfo->vgroupIndex, pTableMetaInfo->vgroupList->numOfVgroups, pQueryInfo->type,
|
||||||
tscSqlExprNumOfExprs(pQueryInfo), numOfCols, pQueryInfo->fieldsInfo.numOfOutput, pTableMetaInfo->name);
|
tscSqlExprNumOfExprs(pQueryInfo), numOfCols, pQueryInfo->fieldsInfo.numOfOutput, pTableMetaInfo->name);
|
||||||
|
|
||||||
|
@ -713,28 +713,31 @@ static void tidTagRetrieveCallback(void* param, TAOS_RES* tres, int32_t numOfRow
|
||||||
if (taosArrayGetSize(s1) == 0 || taosArrayGetSize(s2) == 0) { // no results,return.
|
if (taosArrayGetSize(s1) == 0 || taosArrayGetSize(s2) == 0) { // no results,return.
|
||||||
tscTrace("%p free all sub SqlObj and quit", pParentSql);
|
tscTrace("%p free all sub SqlObj and quit", pParentSql);
|
||||||
freeJoinSubqueryObj(pParentSql);
|
freeJoinSubqueryObj(pParentSql);
|
||||||
return;
|
|
||||||
|
} else {
|
||||||
|
// proceed to for ts_comp query
|
||||||
|
SSqlCmd* pSubCmd1 = &pParentSql->pSubs[0]->cmd;
|
||||||
|
SSqlCmd* pSubCmd2 = &pParentSql->pSubs[1]->cmd;
|
||||||
|
|
||||||
|
SQueryInfo* pQueryInfo1 = tscGetQueryInfoDetail(pSubCmd1, 0);
|
||||||
|
STableMetaInfo* pTableMetaInfo1 = tscGetMetaInfo(pQueryInfo1, 0);
|
||||||
|
tscBuildVgroupTableInfo(pParentSql, pTableMetaInfo1, s1);
|
||||||
|
|
||||||
|
SQueryInfo* pQueryInfo2 = tscGetQueryInfoDetail(pSubCmd2, 0);
|
||||||
|
STableMetaInfo* pTableMetaInfo2 = tscGetMetaInfo(pQueryInfo2, 0);
|
||||||
|
tscBuildVgroupTableInfo(pParentSql, pTableMetaInfo2, s2);
|
||||||
|
|
||||||
|
pSupporter->pState->numOfTotal = 2;
|
||||||
|
pSupporter->pState->numOfRemain = pSupporter->pState->numOfTotal;
|
||||||
|
|
||||||
|
for (int32_t m = 0; m < pParentSql->numOfSubs; ++m) {
|
||||||
|
SSqlObj* sub = pParentSql->pSubs[m];
|
||||||
|
issueTSCompQuery(sub, sub->param, pParentSql);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// proceed to for ts_comp query
|
taosArrayDestroy(s1);
|
||||||
SSqlCmd* pSubCmd1 = &pParentSql->pSubs[0]->cmd;
|
taosArrayDestroy(s2);
|
||||||
SSqlCmd* pSubCmd2 = &pParentSql->pSubs[1]->cmd;
|
|
||||||
|
|
||||||
SQueryInfo* pQueryInfo1 = tscGetQueryInfoDetail(pSubCmd1, 0);
|
|
||||||
STableMetaInfo* pTableMetaInfo1 = tscGetMetaInfo(pQueryInfo1, 0);
|
|
||||||
tscBuildVgroupTableInfo(pParentSql, pTableMetaInfo1, s1);
|
|
||||||
|
|
||||||
SQueryInfo* pQueryInfo2 = tscGetQueryInfoDetail(pSubCmd2, 0);
|
|
||||||
STableMetaInfo* pTableMetaInfo2 = tscGetMetaInfo(pQueryInfo2, 0);
|
|
||||||
tscBuildVgroupTableInfo(pParentSql, pTableMetaInfo2, s2);
|
|
||||||
|
|
||||||
pSupporter->pState->numOfTotal = 2;
|
|
||||||
pSupporter->pState->numOfRemain = pSupporter->pState->numOfTotal;
|
|
||||||
|
|
||||||
for (int32_t m = 0; m < pParentSql->numOfSubs; ++m) {
|
|
||||||
SSqlObj* sub = pParentSql->pSubs[m];
|
|
||||||
issueTSCompQuery(sub, sub->param, pParentSql);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tsCompRetrieveCallback(void* param, TAOS_RES* tres, int32_t numOfRows) {
|
static void tsCompRetrieveCallback(void* param, TAOS_RES* tres, int32_t numOfRows) {
|
||||||
|
@ -1242,7 +1245,7 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
|
||||||
|
|
||||||
tscTrace(
|
tscTrace(
|
||||||
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, transfer to tid_tag query to retrieve (tableId, tags), "
|
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, transfer to tid_tag query to retrieve (tableId, tags), "
|
||||||
"exprInfo:%d, colList:%d, fieldsInfo:%d, tagIndex:%d, name:%s",
|
"exprInfo:%z, colList:%z, fieldsInfo:%d, tagIndex:%d, name:%s",
|
||||||
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
||||||
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, index.columnIndex, pNewQueryInfo->pTableMetaInfo[0]->name);
|
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, index.columnIndex, pNewQueryInfo->pTableMetaInfo[0]->name);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1276,8 +1279,8 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
|
||||||
size_t numOfCols = taosArrayGetSize(pNewQueryInfo->colList);
|
size_t numOfCols = taosArrayGetSize(pNewQueryInfo->colList);
|
||||||
|
|
||||||
tscTrace(
|
tscTrace(
|
||||||
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, transfer to ts_comp query to retrieve timestamps, "
|
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%u, transfer to ts_comp query to retrieve timestamps, "
|
||||||
"exprInfo:%d, colList:%d, fieldsInfo:%d, name:%s",
|
"exprInfo:%z, colList:%z, fieldsInfo:%d, name:%s",
|
||||||
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
||||||
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, pNewQueryInfo->pTableMetaInfo[0]->name);
|
numOfCols, pNewQueryInfo->fieldsInfo.numOfOutput, pNewQueryInfo->pTableMetaInfo[0]->name);
|
||||||
}
|
}
|
||||||
|
@ -1699,11 +1702,11 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
|
||||||
assert(pRes->numOfRows == numOfRows);
|
assert(pRes->numOfRows == numOfRows);
|
||||||
int64_t num = atomic_add_fetch_64(&pState->numOfRetrievedRows, numOfRows);
|
int64_t num = atomic_add_fetch_64(&pState->numOfRetrievedRows, numOfRows);
|
||||||
|
|
||||||
tscTrace("%p sub:%p retrieve numOfRows:%d totalNumOfRows:%d from ip:%s, orderOfSub:%d", pPObj, pSql,
|
tscTrace("%p sub:%p retrieve numOfRows:%" PRId64 " totalNumOfRows:%" PRIu64 " from ip:%s, orderOfSub:%d", pPObj, pSql,
|
||||||
pRes->numOfRows, pState->numOfRetrievedRows, pSql->ipList.fqdn[pSql->ipList.inUse], idx);
|
pRes->numOfRows, pState->numOfRetrievedRows, pSql->ipList.fqdn[pSql->ipList.inUse], idx);
|
||||||
|
|
||||||
if (num > tsMaxNumOfOrderedResults && tscIsProjectionQueryOnSTable(pQueryInfo, 0)) {
|
if (num > tsMaxNumOfOrderedResults && tscIsProjectionQueryOnSTable(pQueryInfo, 0)) {
|
||||||
tscError("%p sub:%p num of OrderedRes is too many, max allowed:%" PRId64 " , current:%" PRId64,
|
tscError("%p sub:%p num of OrderedRes is too many, max allowed:%" PRId32 " , current:%" PRId64,
|
||||||
pPObj, pSql, tsMaxNumOfOrderedResults, num);
|
pPObj, pSql, tsMaxNumOfOrderedResults, num);
|
||||||
tscAbortFurtherRetryRetrieval(trsupport, tres, TSDB_CODE_TSC_SORTED_RES_TOO_MANY);
|
tscAbortFurtherRetryRetrieval(trsupport, tres, TSDB_CODE_TSC_SORTED_RES_TOO_MANY);
|
||||||
return;
|
return;
|
||||||
|
@ -1728,6 +1731,7 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
|
||||||
pRes->numOfRows, pQueryInfo->groupbyExpr.orderType);
|
pRes->numOfRows, pQueryInfo->groupbyExpr.orderType);
|
||||||
if (ret < 0) { // set no disk space error info, and abort retry
|
if (ret < 0) { // set no disk space error info, and abort retry
|
||||||
tscAbortFurtherRetryRetrieval(trsupport, tres, TSDB_CODE_TSC_NO_DISKSPACE);
|
tscAbortFurtherRetryRetrieval(trsupport, tres, TSDB_CODE_TSC_NO_DISKSPACE);
|
||||||
|
pthread_mutex_unlock(&trsupport->queryMutex);
|
||||||
|
|
||||||
} else if (pRes->completed) {
|
} else if (pRes->completed) {
|
||||||
tscAllDataRetrievedFromDnode(trsupport, pSql);
|
tscAllDataRetrievedFromDnode(trsupport, pSql);
|
||||||
|
@ -1738,7 +1742,6 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
|
||||||
taos_fetch_rows_a(tres, tscRetrieveFromDnodeCallBack, param);
|
taos_fetch_rows_a(tres, tscRetrieveFromDnodeCallBack, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
pthread_mutex_unlock(&trsupport->queryMutex);
|
|
||||||
} else { // all data has been retrieved to client
|
} else { // all data has been retrieved to client
|
||||||
tscAllDataRetrievedFromDnode(trsupport, pSql);
|
tscAllDataRetrievedFromDnode(trsupport, pSql);
|
||||||
}
|
}
|
||||||
|
@ -1827,7 +1830,7 @@ void tscRetrieveDataRes(void *param, TAOS_RES *tres, int code) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pParentSql->res.code != TSDB_CODE_SUCCESS) { // at least one peer subquery failed, abort current query
|
if (pParentSql->res.code != TSDB_CODE_SUCCESS) { // at least one peer subquery failed, abort current query
|
||||||
tscTrace("%p sub:%p query failed,ip:%u,vgId:%d,orderOfSub:%d,global code:%d", pParentSql, pSql,
|
tscTrace("%p sub:%p query failed,ip:%s,vgId:%d,orderOfSub:%d,global code:%d", pParentSql, pSql,
|
||||||
pVgroup->ipAddr[0].fqdn, pVgroup->vgId, trsupport->subqueryIndex, pParentSql->res.code);
|
pVgroup->ipAddr[0].fqdn, pVgroup->vgId, trsupport->subqueryIndex, pParentSql->res.code);
|
||||||
|
|
||||||
tscHandleSubqueryError(param, tres, pParentSql->res.code);
|
tscHandleSubqueryError(param, tres, pParentSql->res.code);
|
||||||
|
|
|
@ -220,7 +220,7 @@ static int taos_options_imp(TSDB_OPTION option, const char *pStr) {
|
||||||
|
|
||||||
if (strlen(tsLocale) == 0) { // locale does not set yet
|
if (strlen(tsLocale) == 0) { // locale does not set yet
|
||||||
char* defaultLocale = setlocale(LC_CTYPE, "");
|
char* defaultLocale = setlocale(LC_CTYPE, "");
|
||||||
strcpy(tsLocale, defaultLocale);
|
tstrncpy(tsLocale, defaultLocale, sizeof(tsLocale));
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the user specified locale
|
// set the user specified locale
|
||||||
|
@ -304,7 +304,7 @@ static int taos_options_imp(TSDB_OPTION option, const char *pStr) {
|
||||||
assert(cfg != NULL);
|
assert(cfg != NULL);
|
||||||
|
|
||||||
if (cfg->cfgStatus <= TAOS_CFG_CSTATUS_OPTION) {
|
if (cfg->cfgStatus <= TAOS_CFG_CSTATUS_OPTION) {
|
||||||
strcpy(tsTimezone, pStr);
|
tstrncpy(tsTimezone, pStr, sizeof(tsTimezone));
|
||||||
tsSetTimeZone();
|
tsSetTimeZone();
|
||||||
cfg->cfgStatus = TAOS_CFG_CSTATUS_OPTION;
|
cfg->cfgStatus = TAOS_CFG_CSTATUS_OPTION;
|
||||||
tscTrace("timezone set:%s, input:%s by taos_options", tsTimezone, pStr);
|
tscTrace("timezone set:%s, input:%s by taos_options", tsTimezone, pStr);
|
||||||
|
|
|
@ -1840,7 +1840,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, void (*fp)(), void
|
||||||
size_t size = taosArrayGetSize(pNewQueryInfo->colList);
|
size_t size = taosArrayGetSize(pNewQueryInfo->colList);
|
||||||
|
|
||||||
tscTrace(
|
tscTrace(
|
||||||
"%p new subquery:%p, tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%d, colList:%d,"
|
"%p new subquery:%p, tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%zu, colList:%zu,"
|
||||||
"fieldInfo:%d, name:%s, qrang:%" PRId64 " - %" PRId64 " order:%d, limit:%" PRId64,
|
"fieldInfo:%d, name:%s, qrang:%" PRId64 " - %" PRId64 " order:%d, limit:%" PRId64,
|
||||||
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
pSql, pNew, tableIndex, pTableMetaInfo->vgroupIndex, pNewQueryInfo->type, tscSqlExprNumOfExprs(pNewQueryInfo),
|
||||||
size, pNewQueryInfo->fieldsInfo.numOfOutput, pFinalInfo->name, pNewQueryInfo->window.skey,
|
size, pNewQueryInfo->fieldsInfo.numOfOutput, pFinalInfo->name, pNewQueryInfo->window.skey,
|
||||||
|
@ -2002,7 +2002,7 @@ void tscTryQueryNextVnode(SSqlObj* pSql, __async_cb_func_t fp) {
|
||||||
|
|
||||||
int32_t totalVgroups = pTableMetaInfo->vgroupList->numOfVgroups;
|
int32_t totalVgroups = pTableMetaInfo->vgroupList->numOfVgroups;
|
||||||
while (++pTableMetaInfo->vgroupIndex < totalVgroups) {
|
while (++pTableMetaInfo->vgroupIndex < totalVgroups) {
|
||||||
tscTrace("%p results from vgroup index:%d completed, try next:%d. total vgroups:%d. current numOfRes:%d", pSql,
|
tscTrace("%p results from vgroup index:%d completed, try next:%d. total vgroups:%d. current numOfRes:%" PRId64, pSql,
|
||||||
pTableMetaInfo->vgroupIndex - 1, pTableMetaInfo->vgroupIndex, totalVgroups, pRes->numOfClauseTotal);
|
pTableMetaInfo->vgroupIndex - 1, pTableMetaInfo->vgroupIndex, totalVgroups, pRes->numOfClauseTotal);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -574,19 +574,15 @@ static void rpcReleaseConn(SRpcConn *pConn) {
|
||||||
char hashstr[40] = {0};
|
char hashstr[40] = {0};
|
||||||
size_t size = snprintf(hashstr, sizeof(hashstr), "%x:%x:%x:%d", pConn->peerIp, pConn->linkUid, pConn->peerId, pConn->connType);
|
size_t size = snprintf(hashstr, sizeof(hashstr), "%x:%x:%x:%d", pConn->peerIp, pConn->linkUid, pConn->peerId, pConn->connType);
|
||||||
taosHashRemove(pRpc->hash, hashstr, size);
|
taosHashRemove(pRpc->hash, hashstr, size);
|
||||||
|
|
||||||
rpcFreeMsg(pConn->pRspMsg); // it may have a response msg saved, but not request msg
|
rpcFreeMsg(pConn->pRspMsg); // it may have a response msg saved, but not request msg
|
||||||
pConn->pRspMsg = NULL;
|
}
|
||||||
pConn->inType = 0;
|
|
||||||
pConn->inTranId = 0;
|
// lockedBy can not be reset, since it maybe hold by a thread
|
||||||
} else {
|
int sid = pConn->sid;
|
||||||
pConn->outType = 0;
|
int64_t lockedBy = pConn->lockedBy;
|
||||||
pConn->outTranId = 0;
|
memset(pConn, 0, sizeof(SRpcConn));
|
||||||
pConn->pReqMsg = NULL;
|
pConn->lockedBy = lockedBy;
|
||||||
}
|
taosFreeId(pRpc->idPool, sid);
|
||||||
|
|
||||||
taosFreeId(pRpc->idPool, pConn->sid);
|
|
||||||
pConn->pContext = NULL;
|
|
||||||
|
|
||||||
tTrace("%s, rpc connection is released", pConn->info);
|
tTrace("%s, rpc connection is released", pConn->info);
|
||||||
}
|
}
|
||||||
|
@ -611,7 +607,6 @@ static SRpcConn *rpcAllocateClientConn(SRpcInfo *pRpc) {
|
||||||
terrno = TSDB_CODE_RPC_MAX_SESSIONS;
|
terrno = TSDB_CODE_RPC_MAX_SESSIONS;
|
||||||
} else {
|
} else {
|
||||||
pConn = pRpc->connList + sid;
|
pConn = pRpc->connList + sid;
|
||||||
memset(pConn, 0, sizeof(SRpcConn));
|
|
||||||
|
|
||||||
pConn->pRpc = pRpc;
|
pConn->pRpc = pRpc;
|
||||||
pConn->sid = sid;
|
pConn->sid = sid;
|
||||||
|
|
|
@ -117,6 +117,8 @@ extern "C" {
|
||||||
|
|
||||||
#define POW2(x) ((x) * (x))
|
#define POW2(x) ((x) * (x))
|
||||||
|
|
||||||
|
int taosRand(void);
|
||||||
|
|
||||||
int32_t strdequote(char *src);
|
int32_t strdequote(char *src);
|
||||||
|
|
||||||
size_t strtrim(char *src);
|
size_t strtrim(char *src);
|
||||||
|
|
|
@ -506,7 +506,7 @@ void taosAddToTrash(SCacheObj *pCacheObj, SCacheDataNode *pNode) {
|
||||||
|
|
||||||
void taosRemoveFromTrashCan(SCacheObj *pCacheObj, STrashElem *pElem) {
|
void taosRemoveFromTrashCan(SCacheObj *pCacheObj, STrashElem *pElem) {
|
||||||
if (pElem->pData->signature != (uint64_t)pElem->pData) {
|
if (pElem->pData->signature != (uint64_t)pElem->pData) {
|
||||||
uError("key:sig:0x%x %p data has been released, ignore", pElem->pData->signature, pElem->pData);
|
uError("key:sig:0x%" PRIx64 " %p data has been released, ignore", pElem->pData->signature, pElem->pData);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,8 +119,13 @@ static void taosReadDirectoryConfig(SGlobalCfg *cfg, char *input_value) {
|
||||||
struct stat dirstat;
|
struct stat dirstat;
|
||||||
if (stat(option, &dirstat) < 0) {
|
if (stat(option, &dirstat) < 0) {
|
||||||
int code = mkdir(option, 0755);
|
int code = mkdir(option, 0755);
|
||||||
uPrint("config option:%s, input value:%s, directory not exist, create with return code:%d",
|
if (code < 0) {
|
||||||
cfg->option, input_value, code);
|
uError("config option:%s, input value:%s, directory not exist, create fail with return code:%d",
|
||||||
|
cfg->option, input_value, code);
|
||||||
|
} else {
|
||||||
|
uPrint("config option:%s, input value:%s, directory not exist, create with return code:%d",
|
||||||
|
cfg->option, input_value, code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cfg->cfgStatus = TAOS_CFG_CSTATUS_FILE;
|
cfg->cfgStatus = TAOS_CFG_CSTATUS_FILE;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -140,7 +140,7 @@ void print_char_as_binary(char input) {
|
||||||
void generate_key(unsigned char* key) {
|
void generate_key(unsigned char* key) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
key[i] = rand() % 255;
|
key[i] = taosRand() % 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -233,7 +233,9 @@ static void taosGetLogFileName(char *fn) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(tsLogObj.logName, fn);
|
if (strlen(fn) < LOG_FILE_NAME_LEN) {
|
||||||
|
strcpy(tsLogObj.logName, fn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
|
static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
|
||||||
|
@ -253,15 +255,20 @@ static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
|
||||||
tsLogObj.fileNum = maxFileNum;
|
tsLogObj.fileNum = maxFileNum;
|
||||||
taosGetLogFileName(fn);
|
taosGetLogFileName(fn);
|
||||||
|
|
||||||
strcpy(name, fn);
|
if (strlen(fn) < LOG_FILE_NAME_LEN + 50 - 2) {
|
||||||
strcat(name, ".0");
|
strcpy(name, fn);
|
||||||
|
strcat(name, ".0");
|
||||||
|
}
|
||||||
|
|
||||||
// if none of the log files exist, open 0, if both exists, open the old one
|
// if none of the log files exist, open 0, if both exists, open the old one
|
||||||
if (stat(name, &logstat0) < 0) {
|
if (stat(name, &logstat0) < 0) {
|
||||||
tsLogObj.flag = 0;
|
tsLogObj.flag = 0;
|
||||||
} else {
|
} else {
|
||||||
strcpy(name, fn);
|
if (strlen(fn) < LOG_FILE_NAME_LEN + 50 - 2) {
|
||||||
strcat(name, ".1");
|
strcpy(name, fn);
|
||||||
|
strcat(name, ".1");
|
||||||
|
}
|
||||||
|
|
||||||
if (stat(name, &logstat1) < 0) {
|
if (stat(name, &logstat1) < 0) {
|
||||||
tsLogObj.flag = 1;
|
tsLogObj.flag = 1;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -169,7 +169,9 @@ void taosGetNoteName(char *fn, taosNoteInfo * pNote)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
strcpy(pNote->taosNoteName, fn);
|
if (strlen(fn) < NOTE_FILE_NAME_LEN) {
|
||||||
|
strcpy(pNote->taosNoteName, fn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int taosOpenNoteWithMaxLines(char *fn, int maxLines, int maxNoteNum, taosNoteInfo * pNote)
|
int taosOpenNoteWithMaxLines(char *fn, int maxLines, int maxNoteNum, taosNoteInfo * pNote)
|
||||||
|
@ -182,14 +184,18 @@ int taosOpenNoteWithMaxLines(char *fn, int maxLines, int maxNoteNum, taosNoteInf
|
||||||
pNote->taosNoteFileNum = maxNoteNum;
|
pNote->taosNoteFileNum = maxNoteNum;
|
||||||
taosGetNoteName(fn, pNote);
|
taosGetNoteName(fn, pNote);
|
||||||
|
|
||||||
|
if (strlen(fn) > NOTE_FILE_NAME_LEN * 2 - 2) {
|
||||||
|
fprintf(stderr, "the len of file name overflow:%s\n", fn);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
strcpy(name, fn);
|
strcpy(name, fn);
|
||||||
strcat(name, ".0");
|
strcat(name, ".0");
|
||||||
|
|
||||||
// if none of the note files exist, open 0, if both exists, open the old one
|
// if none of the note files exist, open 0, if both exists, open the old one
|
||||||
if (stat(name, ¬estat0) < 0) {
|
if (stat(name, ¬estat0) < 0) {
|
||||||
pNote->taosNoteFlag = 0;
|
pNote->taosNoteFlag = 0;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
strcpy(name, fn);
|
strcpy(name, fn);
|
||||||
strcat(name, ".1");
|
strcat(name, ".1");
|
||||||
if (stat(name, ¬estat1) < 0) {
|
if (stat(name, ¬estat1) < 0) {
|
||||||
|
|
|
@ -38,7 +38,7 @@ static FORCE_INLINE int32_t getSkipListNodeRandomHeight(SSkipList *pSkipList) {
|
||||||
const uint32_t factor = 4;
|
const uint32_t factor = 4;
|
||||||
|
|
||||||
int32_t n = 1;
|
int32_t n = 1;
|
||||||
while ((rand() % factor) == 0 && n <= pSkipList->maxLevel) {
|
while ((taosRand() % factor) == 0 && n <= pSkipList->maxLevel) {
|
||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,33 @@
|
||||||
#include "tulog.h"
|
#include "tulog.h"
|
||||||
#include "taoserror.h"
|
#include "taoserror.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef WINDOWS
|
||||||
|
int taosRand(void)
|
||||||
|
{
|
||||||
|
return rand();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
int taosRand(void)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
int seed;
|
||||||
|
|
||||||
|
fd = open("/dev/urandom", 0);
|
||||||
|
if (fd < 0) {
|
||||||
|
seed = time(0);
|
||||||
|
} else {
|
||||||
|
int len = read(fd, &seed, sizeof(seed));
|
||||||
|
if (len < 0) {
|
||||||
|
seed = time(0);
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
return seed;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int32_t strdequote(char *z) {
|
int32_t strdequote(char *z) {
|
||||||
if (z == NULL) {
|
if (z == NULL) {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -434,8 +461,10 @@ void getTmpfilePath(const char *fileNamePrefix, char *dstPath) {
|
||||||
|
|
||||||
strcpy(tmpPath, tmpDir);
|
strcpy(tmpPath, tmpDir);
|
||||||
strcat(tmpPath, tdengineTmpFileNamePrefix);
|
strcat(tmpPath, tdengineTmpFileNamePrefix);
|
||||||
strcat(tmpPath, fileNamePrefix);
|
if (strlen(tmpPath) + strlen(fileNamePrefix) + strlen("-%d-%s") < PATH_MAX) {
|
||||||
strcat(tmpPath, "-%d-%s");
|
strcat(tmpPath, fileNamePrefix);
|
||||||
|
strcat(tmpPath, "-%d-%s");
|
||||||
|
}
|
||||||
|
|
||||||
char rand[8] = {0};
|
char rand[8] = {0};
|
||||||
taosRandStr(rand, tListLen(rand) - 1);
|
taosRandStr(rand, tListLen(rand) - 1);
|
||||||
|
@ -447,7 +476,7 @@ void taosRandStr(char* str, int32_t size) {
|
||||||
int32_t len = 39;
|
int32_t len = 39;
|
||||||
|
|
||||||
for(int32_t i = 0; i < size; ++i) {
|
for(int32_t i = 0; i < size; ++i) {
|
||||||
str[i] = set[rand()%len];
|
str[i] = set[taosRand()%len];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -718,4 +747,4 @@ void taosRemoveDir(char *rootDir) {
|
||||||
rmdir(rootDir);
|
rmdir(rootDir);
|
||||||
|
|
||||||
uPrint("dir:%s is removed", rootDir);
|
uPrint("dir:%s is removed", rootDir);
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,68 +206,70 @@ endi
|
||||||
|
|
||||||
################# binary
|
################# binary
|
||||||
sql alter table st41 set tag tag_binary = "shanghai"
|
sql alter table st41 set tag tag_binary = "shanghai"
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data23 != shanghai then
|
if $data00 != shanghai then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
##### test 'space' case
|
##### test 'space' case
|
||||||
#$tagvalue = '
|
system_content echo ' ' | sed 's/ //g' | tr -d '\n' # Construct an empty result for later result checking
|
||||||
#$tagvalue = $tagvalue '
|
|
||||||
#sql alter table st41 set tag tag_binary = $tagvalue
|
|
||||||
sql alter table st41 set tag tag_binary = ""
|
sql alter table st41 set tag tag_binary = ""
|
||||||
#sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
#if $data23 != $tagvalue then
|
if $data00 != $system_content then
|
||||||
# return -1
|
print expect [ $system_content ], actual [ $data00 ]
|
||||||
#endi
|
|
||||||
sql alter table st41 set tag tag_binary = "NULL"
|
|
||||||
sql describe st41
|
|
||||||
if $data23 != NULL then
|
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
sql alter table st41 set tag tag_binary = "NULL"
|
||||||
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
|
if $data00 != NULL then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
|
||||||
sql alter table st41 set tag tag_binary = NULL
|
sql alter table st41 set tag tag_binary = NULL
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data23 != NULL then
|
if $data00 != NULL then
|
||||||
print ==8== expect: NULL, actually: $data23
|
print ==8== expect: NULL, actually: $data23
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
################### nchar
|
################### nchar
|
||||||
sql alter table st41 set tag tag_nchar = "<22><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>"
|
sql alter table st41 set tag tag_nchar = "<22><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>"
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
#sleep 1000
|
#sleep 1000
|
||||||
#if $data33 != <20><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD> then
|
#if $data01 != <20><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD> then
|
||||||
# print ==== expect <20><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>, actually $data33
|
# print ==== expect <20><>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>, actually $data01
|
||||||
# return -1
|
# return -1
|
||||||
#endi
|
#endi
|
||||||
##### test 'space' case
|
##### test 'space' case
|
||||||
#$tagvalue = '
|
#$tagvalue = '
|
||||||
#$tagvalue = $tagvalue '
|
#$tagvalue = $tagvalue '
|
||||||
sql alter table st41 set tag tag_nchar = ''
|
sql alter table st41 set tag tag_nchar = ''
|
||||||
#sql describe st41
|
#sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
#if $data33 != $tagvalue then
|
#if $data01 != $tagvalue then
|
||||||
# return -1
|
# return -1
|
||||||
#endi
|
#endi
|
||||||
sql alter table st41 set tag tag_nchar = "NULL"
|
sql alter table st41 set tag tag_nchar = "NULL"
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data33 != NULL then
|
if $data01 != NULL then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_nchar = NULL
|
sql alter table st41 set tag tag_nchar = NULL
|
||||||
#sql describe st41
|
#sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
#if $data33 != then
|
#if $data01 != then
|
||||||
# print ==9== expect , actually $data33
|
# print ==9== expect , actually $data01
|
||||||
# return -1
|
# return -1
|
||||||
#endi
|
#endi
|
||||||
|
|
||||||
################### int
|
################### int
|
||||||
sql alter table st41 set tag tag_int = -2147483647
|
sql alter table st41 set tag tag_int = -2147483647
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data43 != -2147483647 then
|
if $data02 != -2147483647 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_int = 2147483647
|
sql alter table st41 set tag tag_int = 2147483647
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data43 != 2147483647 then
|
if $data02 != 2147483647 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
@ -275,19 +277,19 @@ sql_error alter table st41 set tag tag_int = -2147483648
|
||||||
sql_error alter table st41 set tag tag_int = 2147483648
|
sql_error alter table st41 set tag tag_int = 2147483648
|
||||||
|
|
||||||
sql alter table st41 set tag tag_int = '-379'
|
sql alter table st41 set tag tag_int = '-379'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data43 != -379 then
|
if $data02 != -379 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_int = -2000
|
sql alter table st41 set tag tag_int = -2000
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data43 != -2000 then
|
if $data02 != -2000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_int = NULL
|
sql alter table st41 set tag tag_int = NULL
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data43 != NULL then
|
if $data02 != NULL then
|
||||||
print ==10== expect: NULL, actually: $data43
|
print ==10== expect: NULL, actually: $data02
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_int = 'NULL'
|
sql alter table st41 set tag tag_int = 'NULL'
|
||||||
|
@ -296,34 +298,34 @@ sql_error alter table st41 set tag tag_int = abc379
|
||||||
|
|
||||||
################### bool
|
################### bool
|
||||||
sql alter table st41 set tag tag_bool = 'true'
|
sql alter table st41 set tag tag_bool = 'true'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != true then
|
if $data03 != 1 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_bool = 'false'
|
sql alter table st41 set tag tag_bool = 'false'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != false then
|
if $data03 != 0 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_bool = 0
|
sql alter table st41 set tag tag_bool = 0
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != false then
|
if $data03 != 0 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_bool = 123
|
sql alter table st41 set tag tag_bool = 123
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != true then
|
if $data03 != 1 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_bool = 'NULL'
|
sql alter table st41 set tag tag_bool = 'NULL'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != NULL then
|
if $data03 != NULL then
|
||||||
print ==14== expect: NULL, actually: $data53
|
print ==14== expect: NULL, actually: $data03
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_bool = NULL
|
sql alter table st41 set tag tag_bool = NULL
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data53 != NULL then
|
if $data03 != NULL then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
@ -333,50 +335,51 @@ sql_error alter table st41 set tag tag_bool = abc379
|
||||||
|
|
||||||
################### float
|
################### float
|
||||||
sql alter table st41 set tag tag_float = -32
|
sql alter table st41 set tag tag_float = -32
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != -32.000000 then
|
if $data04 != -32.00000 then
|
||||||
|
print expect -32.00000 actual $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = 54.123456
|
sql alter table st41 set tag tag_float = 54.123456
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != 54.123455 then
|
if $data04 != 54.123455 then
|
||||||
print ==15== expect: 54.123455, actually: $data63
|
print ==15== expect: 54.123455, actually: $data04
|
||||||
# return -1
|
# return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = 54.12345
|
sql alter table st41 set tag tag_float = 54.12345
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != 54.123451 then
|
if $data04 != 54.12345 then
|
||||||
print ==16== expect: 54.123451, actually: $data63
|
print ==16== expect: 54.12345, actually: $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = 54.12345678
|
sql alter table st41 set tag tag_float = 54.12345678
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != 54.123455 then
|
if $data04 != 54.12346 then
|
||||||
print ==11== expect: 54.123455, actually : $data63
|
print ==11== expect: 54.12346, actually : $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = NULL
|
sql alter table st41 set tag tag_float = NULL
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != NULL then
|
if $data04 != NULL then
|
||||||
print ==12== expect: NULL, actually : $data63
|
print ==12== expect: NULL, actually : $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = 'NULL'
|
sql alter table st41 set tag tag_float = 'NULL'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != NULL then
|
if $data04 != NULL then
|
||||||
print ==17== expect: NULL, actually : $data63
|
print ==17== expect: NULL, actually : $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = '54.123456'
|
sql alter table st41 set tag tag_float = '54.123456'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != 54.123455 then
|
if $data04 != 54.12346 then
|
||||||
print ==18== expect: 54.123455, actually : $data63
|
print ==18== expect: 54.12346, actually : $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_float = '-54.123456'
|
sql alter table st41 set tag tag_float = '-54.123456'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data63 != -54.123455 then
|
if $data04 != -54.12346 then
|
||||||
print ==19== expect: -54.123455, actually : $data63
|
print ==19== expect: -54.12346, actually : $data04
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st41 set tag tag_float = ''
|
sql_error alter table st41 set tag tag_float = ''
|
||||||
|
@ -387,30 +390,32 @@ sql_error alter table st41 set tag tag_float = abc
|
||||||
|
|
||||||
################### double
|
################### double
|
||||||
sql alter table st41 set tag tag_double = -92
|
sql alter table st41 set tag tag_double = -92
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data73 != -92.000000 then
|
if $data05 != -92.000000000 then
|
||||||
|
print expect -92.000000000 actual $data05
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_double = 184
|
sql alter table st41 set tag tag_double = 184
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data73 != 184.000000 then
|
if $data05 != 184.000000000 then
|
||||||
|
print expect 184.000000000 actual $data05
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_double = '-2456'
|
sql alter table st41 set tag tag_double = '-2456'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data73 != -2456.000000 then
|
if $data05 != -2456.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_double = NULL
|
sql alter table st41 set tag tag_double = NULL
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data73 != NULL then
|
if $data05 != NULL then
|
||||||
print ==13== expect: NULL, actually : $data73
|
print ==13== expect: NULL, actually : $data05
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st41 set tag tag_double = 'NULL'
|
sql alter table st41 set tag tag_double = 'NULL'
|
||||||
sql describe st41
|
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
|
||||||
if $data73 != NULL then
|
if $data05 != NULL then
|
||||||
print ==20== expect: NULL, actually : $data73
|
print ==20== expect: NULL, actually : $data05
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st41 set tag tag_double = ''
|
sql_error alter table st41 set tag tag_double = ''
|
||||||
|
@ -427,23 +432,22 @@ sql alter table st51 set tag tag_bigint = '-379'
|
||||||
sql alter table st51 set tag tag_bigint = -2000
|
sql alter table st51 set tag tag_bigint = -2000
|
||||||
sql alter table st51 set tag tag_bigint = NULL
|
sql alter table st51 set tag tag_bigint = NULL
|
||||||
sql alter table st51 set tag tag_bigint = 9223372036854775807
|
sql alter table st51 set tag tag_bigint = 9223372036854775807
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data23 != 9223372036854775807 then
|
if $data00 != 9223372036854775807 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st51 set tag tag_bigint = 9223372036854775808
|
sql alter table st51 set tag tag_bigint = 9223372036854775808
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data23 != 9223372036854775807 then
|
if $data00 != 9223372036854775807 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st51 set tag tag_bigint = -9223372036854775807
|
sql alter table st51 set tag tag_bigint = -9223372036854775807
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data23 != -9223372036854775807 then
|
if $data00 != -9223372036854775807 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st51 set tag tag_bigint = -9223372036854775808
|
sql_error alter table st51 set tag tag_bigint = -9223372036854775808
|
||||||
|
|
||||||
|
|
||||||
sql alter table st51 set tag tag_bigint = 'NULL'
|
sql alter table st51 set tag tag_bigint = 'NULL'
|
||||||
sql_error alter table st51 set tag tag_bigint = ''
|
sql_error alter table st51 set tag tag_bigint = ''
|
||||||
sql_error alter table st51 set tag tag_bigint = abc379
|
sql_error alter table st51 set tag tag_bigint = abc379
|
||||||
|
@ -452,15 +456,15 @@ sql_error alter table st51 set tag tag_bigint = abc379
|
||||||
sql alter table st51 set tag tag_smallint = -2000
|
sql alter table st51 set tag tag_smallint = -2000
|
||||||
sql alter table st51 set tag tag_smallint = NULL
|
sql alter table st51 set tag tag_smallint = NULL
|
||||||
sql alter table st51 set tag tag_smallint = 32767
|
sql alter table st51 set tag tag_smallint = 32767
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data33 != 32767 then
|
if $data01 != 32767 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st51 set tag tag_smallint = 32768
|
sql_error alter table st51 set tag tag_smallint = 32768
|
||||||
|
|
||||||
sql alter table st51 set tag tag_smallint = -32767
|
sql alter table st51 set tag tag_smallint = -32767
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data33 != -32767 then
|
if $data01 != -32767 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st51 set tag tag_smallint = -32768
|
sql_error alter table st51 set tag tag_smallint = -32768
|
||||||
|
@ -473,13 +477,13 @@ sql_error alter table st51 set tag tag_smallint = abc379
|
||||||
sql alter table st51 set tag tag_tinyint = -127
|
sql alter table st51 set tag tag_tinyint = -127
|
||||||
sql alter table st51 set tag tag_tinyint = NULL
|
sql alter table st51 set tag tag_tinyint = NULL
|
||||||
sql alter table st51 set tag tag_tinyint = 127
|
sql alter table st51 set tag tag_tinyint = 127
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data43 != 127 then
|
if $data02 != 127 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql alter table st51 set tag tag_tinyint = -127
|
sql alter table st51 set tag tag_tinyint = -127
|
||||||
sql describe st51
|
sql select tag_bigint, tag_smallint, tag_tinyint from st51
|
||||||
if $data43 != -127 then
|
if $data02 != -127 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
sql_error alter table st51 set tag tag_tinyint = '-128'
|
sql_error alter table st51 set tag tag_tinyint = '-128'
|
||||||
|
@ -493,4 +497,4 @@ sql_error alter table st51 set tag tag_tinyint = abc379
|
||||||
#sql drop database $db
|
#sql drop database $db
|
||||||
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
|
@ -120,7 +120,7 @@ cd ../../../debug; make
|
||||||
#./test.sh -f general/parser/import_file.sim
|
#./test.sh -f general/parser/import_file.sim
|
||||||
./test.sh -f general/parser/lastrow.sim
|
./test.sh -f general/parser/lastrow.sim
|
||||||
./test.sh -f general/parser/nchar.sim
|
./test.sh -f general/parser/nchar.sim
|
||||||
#./test.sh -f general/parser/null_char.sim
|
./test.sh -f general/parser/null_char.sim
|
||||||
./test.sh -f general/parser/single_row_in_tb.sim
|
./test.sh -f general/parser/single_row_in_tb.sim
|
||||||
./test.sh -f general/parser/select_from_cache_disk.sim
|
./test.sh -f general/parser/select_from_cache_disk.sim
|
||||||
./test.sh -f general/parser/mixed_blocks.sim
|
./test.sh -f general/parser/mixed_blocks.sim
|
||||||
|
|
Loading…
Reference in New Issue