scan cols sort
This commit is contained in:
parent
1122d23bb2
commit
9765678e75
|
@ -5569,7 +5569,7 @@ static SSDataBlock* doSysTableScan(SOperatorInfo *pOperator, bool* newgroup) {
|
||||||
|
|
||||||
blockDataCleanup(pInfo->pRes);
|
blockDataCleanup(pInfo->pRes);
|
||||||
|
|
||||||
int32_t tableNameSlotId = 1;
|
int32_t tableNameSlotId = 0;
|
||||||
SColumnInfoData* pTableNameCol = taosArrayGet(pInfo->pRes->pDataBlock, tableNameSlotId);
|
SColumnInfoData* pTableNameCol = taosArrayGet(pInfo->pRes->pDataBlock, tableNameSlotId);
|
||||||
|
|
||||||
char * name = NULL;
|
char * name = NULL;
|
||||||
|
|
|
@ -358,7 +358,6 @@ TEST_F(ParserTest, selectSemanticError) {
|
||||||
ASSERT_TRUE(run(TSDB_CODE_SUCCESS, TSDB_CODE_PAR_NOT_SELECTED_EXPRESSION));
|
ASSERT_TRUE(run(TSDB_CODE_SUCCESS, TSDB_CODE_PAR_NOT_SELECTED_EXPRESSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ParserTest, showUsers) {
|
TEST_F(ParserTest, showUsers) {
|
||||||
setDatabase("root", "test");
|
setDatabase("root", "test");
|
||||||
|
|
||||||
|
@ -366,8 +365,6 @@ TEST_F(ParserTest, showUsers) {
|
||||||
ASSERT_TRUE(run());
|
ASSERT_TRUE(run());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TEST_F(ParserTest, createDnode) {
|
TEST_F(ParserTest, createDnode) {
|
||||||
setDatabase("root", "test");
|
setDatabase("root", "test");
|
||||||
|
|
||||||
|
|
|
@ -213,6 +213,33 @@ static SNodeptr createPrimaryKeyCol(SPhysiPlanContext* pCxt, uint64_t tableId) {
|
||||||
return pCol;
|
return pCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t colIdCompare(const void* pLeft, const void* pRight) {
|
||||||
|
SColumnNode* pLeftCol = *(SColumnNode**)pLeft;
|
||||||
|
SColumnNode* pRightCol = *(SColumnNode**)pRight;
|
||||||
|
return pLeftCol->colId > pRightCol->colId ? 1 : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t sortScanCols(SNodeList* pScanCols) {
|
||||||
|
SArray* pArray = taosArrayInit(LIST_LENGTH(pScanCols), POINTER_BYTES);
|
||||||
|
if (NULL == pArray) {
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
SNode* pCol = NULL;
|
||||||
|
FOREACH(pCol, pScanCols) {
|
||||||
|
taosArrayPush(pArray, &pCol);
|
||||||
|
}
|
||||||
|
taosArraySort(pArray, colIdCompare);
|
||||||
|
|
||||||
|
int32_t index = 0;
|
||||||
|
FOREACH(pCol, pScanCols) {
|
||||||
|
REPLACE_NODE(taosArrayGetP(pArray, index++));
|
||||||
|
}
|
||||||
|
taosArrayDestroy(pArray);
|
||||||
|
|
||||||
|
return TSDB_CODE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t createScanCols(SPhysiPlanContext* pCxt, SScanPhysiNode* pScanPhysiNode, SNodeList* pScanCols) {
|
static int32_t createScanCols(SPhysiPlanContext* pCxt, SScanPhysiNode* pScanPhysiNode, SNodeList* pScanCols) {
|
||||||
if (QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN == nodeType(pScanPhysiNode)
|
if (QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN == nodeType(pScanPhysiNode)
|
||||||
|| QUERY_NODE_PHYSICAL_PLAN_TABLE_SEQ_SCAN == nodeType(pScanPhysiNode)) {
|
|| QUERY_NODE_PHYSICAL_PLAN_TABLE_SEQ_SCAN == nodeType(pScanPhysiNode)) {
|
||||||
|
@ -235,6 +262,7 @@ static int32_t createScanCols(SPhysiPlanContext* pCxt, SScanPhysiNode* pScanPhys
|
||||||
CHECK_ALLOC(pScanPhysiNode->pScanCols, TSDB_CODE_OUT_OF_MEMORY);
|
CHECK_ALLOC(pScanPhysiNode->pScanCols, TSDB_CODE_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// return sortScanCols(pScanPhysiNode->pScanCols);
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue