[td-225] fix bugs for 256 columns data check
This commit is contained in:
parent
08396582d9
commit
cf06a3c885
|
@ -1297,10 +1297,6 @@ SSqlExpr* doAddProjectCol(SQueryInfo* pQueryInfo, int32_t outputIndex, int32_t c
|
||||||
pSchema->bytes, functionId == TSDB_FUNC_TAGPRJ);
|
pSchema->bytes, functionId == TSDB_FUNC_TAGPRJ);
|
||||||
}
|
}
|
||||||
|
|
||||||
void addRequiredTagColumn(STableMetaInfo* pTableMetaInfo, SColumnIndex* index) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static void addProjectQueryCol(SQueryInfo* pQueryInfo, int32_t startPos, SColumnIndex* pIndex, tSQLExprItem* pItem) {
|
static void addProjectQueryCol(SQueryInfo* pQueryInfo, int32_t startPos, SColumnIndex* pIndex, tSQLExprItem* pItem) {
|
||||||
SSqlExpr* pExpr = doAddProjectCol(pQueryInfo, startPos, pIndex->columnIndex, pIndex->tableIndex);
|
SSqlExpr* pExpr = doAddProjectCol(pQueryInfo, startPos, pIndex->columnIndex, pIndex->tableIndex);
|
||||||
|
|
||||||
|
|
|
@ -544,8 +544,7 @@ int tscBuildSubmitMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* for meter query, simply return the size <= 1k
|
* for table query, simply return the size <= 1k
|
||||||
* for metric query, estimate size according to meter tags
|
|
||||||
*/
|
*/
|
||||||
static int32_t tscEstimateQueryMsgSize(SSqlCmd *pCmd, int32_t clauseIndex) {
|
static int32_t tscEstimateQueryMsgSize(SSqlCmd *pCmd, int32_t clauseIndex) {
|
||||||
const static int32_t MIN_QUERY_MSG_PKT_SIZE = TSDB_MAX_BYTES_PER_ROW * 5;
|
const static int32_t MIN_QUERY_MSG_PKT_SIZE = TSDB_MAX_BYTES_PER_ROW * 5;
|
||||||
|
@ -556,15 +555,7 @@ static int32_t tscEstimateQueryMsgSize(SSqlCmd *pCmd, int32_t clauseIndex) {
|
||||||
size_t numOfExprs = tscSqlExprNumOfExprs(pQueryInfo);
|
size_t numOfExprs = tscSqlExprNumOfExprs(pQueryInfo);
|
||||||
int32_t exprSize = sizeof(SSqlFuncMsg) * numOfExprs;
|
int32_t exprSize = sizeof(SSqlFuncMsg) * numOfExprs;
|
||||||
|
|
||||||
STableMetaInfo *pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
|
return MIN_QUERY_MSG_PKT_SIZE + minMsgSize() + sizeof(SQueryTableMsg) + srcColListSize + exprSize + 4096;
|
||||||
|
|
||||||
// meter query without tags values
|
|
||||||
if (!UTIL_TABLE_IS_SUPERTABLE(pTableMetaInfo)) {
|
|
||||||
return MIN_QUERY_MSG_PKT_SIZE + minMsgSize() + sizeof(SQueryTableMsg) + srcColListSize + exprSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t size = 4096;
|
|
||||||
return size;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *doSerializeTableInfo(SQueryTableMsg* pQueryMsg, SSqlObj *pSql, char *pMsg) {
|
static char *doSerializeTableInfo(SQueryTableMsg* pQueryMsg, SSqlObj *pSql, char *pMsg) {
|
||||||
|
|
|
@ -1701,6 +1701,12 @@ void tscClearTableMetaInfo(STableMetaInfo* pTableMetaInfo, bool removeFromCache)
|
||||||
tfree(pTableMetaInfo->vgroupList);
|
tfree(pTableMetaInfo->vgroupList);
|
||||||
|
|
||||||
if (pTableMetaInfo->tagColList != NULL) {
|
if (pTableMetaInfo->tagColList != NULL) {
|
||||||
|
size_t numOfTags = taosArrayGetSize(pTableMetaInfo->tagColList);
|
||||||
|
for(int32_t i = 0; i < numOfTags; ++i) { // todo do NOT use the allocated object
|
||||||
|
SColumn* pCol = taosArrayGetP(pTableMetaInfo->tagColList, i);
|
||||||
|
tfree(pCol);
|
||||||
|
}
|
||||||
|
|
||||||
taosArrayDestroy(pTableMetaInfo->tagColList);
|
taosArrayDestroy(pTableMetaInfo->tagColList);
|
||||||
pTableMetaInfo->tagColList = NULL;
|
pTableMetaInfo->tagColList = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -626,7 +626,6 @@ typedef struct {
|
||||||
typedef struct STableMetaMsg {
|
typedef struct STableMetaMsg {
|
||||||
int32_t contLen;
|
int32_t contLen;
|
||||||
char tableId[TSDB_TABLE_ID_LEN + 1]; // table id
|
char tableId[TSDB_TABLE_ID_LEN + 1]; // table id
|
||||||
char stableId[TSDB_TABLE_ID_LEN + 1]; // stable name if it is created according to super table
|
|
||||||
uint8_t numOfTags;
|
uint8_t numOfTags;
|
||||||
uint8_t precision;
|
uint8_t precision;
|
||||||
uint8_t tableType;
|
uint8_t tableType;
|
||||||
|
|
|
@ -1206,8 +1206,10 @@ void mgmtDropAllSuperTables(SDbObj *pDropDb) {
|
||||||
|
|
||||||
static int32_t mgmtSetSchemaFromSuperTable(SSchema *pSchema, SSuperTableObj *pTable) {
|
static int32_t mgmtSetSchemaFromSuperTable(SSchema *pSchema, SSuperTableObj *pTable) {
|
||||||
int32_t numOfCols = pTable->numOfColumns + pTable->numOfTags;
|
int32_t numOfCols = pTable->numOfColumns + pTable->numOfTags;
|
||||||
|
assert(numOfCols <= TSDB_MAX_COLUMNS);
|
||||||
|
|
||||||
for (int32_t i = 0; i < numOfCols; ++i) {
|
for (int32_t i = 0; i < numOfCols; ++i) {
|
||||||
strncpy(pSchema->name, pTable->schema[i].name, TSDB_TABLE_ID_LEN);
|
strncpy(pSchema->name, pTable->schema[i].name, TSDB_COL_NAME_LEN);
|
||||||
pSchema->type = pTable->schema[i].type;
|
pSchema->type = pTable->schema[i].type;
|
||||||
pSchema->bytes = htons(pTable->schema[i].bytes);
|
pSchema->bytes = htons(pTable->schema[i].bytes);
|
||||||
pSchema->colId = htons(pTable->schema[i].colId);
|
pSchema->colId = htons(pTable->schema[i].colId);
|
||||||
|
@ -1679,7 +1681,6 @@ static int32_t mgmtDoGetChildTableMeta(SQueuedMsg *pMsg, STableMetaMsg *pMeta) {
|
||||||
pMeta->numOfTags = (int8_t)pTable->superTable->numOfTags;
|
pMeta->numOfTags = (int8_t)pTable->superTable->numOfTags;
|
||||||
pMeta->numOfColumns = htons((int16_t)pTable->superTable->numOfColumns);
|
pMeta->numOfColumns = htons((int16_t)pTable->superTable->numOfColumns);
|
||||||
pMeta->contLen = sizeof(STableMetaMsg) + mgmtSetSchemaFromSuperTable(pMeta->schema, pTable->superTable);
|
pMeta->contLen = sizeof(STableMetaMsg) + mgmtSetSchemaFromSuperTable(pMeta->schema, pTable->superTable);
|
||||||
strncpy(pMeta->stableId, pTable->superTable->info.tableId, tListLen(pMeta->stableId));
|
|
||||||
} else {
|
} else {
|
||||||
pMeta->sversion = htons(pTable->sversion);
|
pMeta->sversion = htons(pTable->sversion);
|
||||||
pMeta->numOfTags = 0;
|
pMeta->numOfTags = 0;
|
||||||
|
|
Loading…
Reference in New Issue