提交 ebd1bb38 编写于 作者: H Haojun Liao

[td-225] fix bugs in join

上级 53cf7201
...@@ -1839,7 +1839,7 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr ...@@ -1839,7 +1839,7 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr
} else { } else {
tVariantDump(pVariant, val, TSDB_DATA_TYPE_BIGINT, true); tVariantDump(pVariant, val, TSDB_DATA_TYPE_BIGINT, true);
int64_t nTop = *((int32_t*)val); int64_t nTop = GET_INT32_VAL(val);
if (nTop <= 0 || nTop > 100) { // todo use macro if (nTop <= 0 || nTop > 100) { // todo use macro
return invalidSqlErrMsg(pQueryInfo->msg, msg5); return invalidSqlErrMsg(pQueryInfo->msg, msg5);
} }
...@@ -1849,12 +1849,14 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr ...@@ -1849,12 +1849,14 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr
return TSDB_CODE_TSC_INVALID_SQL; return TSDB_CODE_TSC_INVALID_SQL;
} }
// todo REFACTOR
// set the first column ts for top/bottom query // set the first column ts for top/bottom query
SColumnIndex index1 = {0, PRIMARYKEY_TIMESTAMP_COL_INDEX}; SColumnIndex index1 = {0, PRIMARYKEY_TIMESTAMP_COL_INDEX};
pExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS, &index1, TSDB_DATA_TYPE_TIMESTAMP, TSDB_KEYSIZE, pExpr = tscSqlExprAppend(pQueryInfo, TSDB_FUNC_TS, &index1, TSDB_DATA_TYPE_TIMESTAMP, TSDB_KEYSIZE,
TSDB_KEYSIZE, false); TSDB_KEYSIZE, false);
tstrncpy(pExpr->aliasName, aAggs[TSDB_FUNC_TS].aName, sizeof(pExpr->aliasName));
const int32_t TS_COLUMN_INDEX = 0; const int32_t TS_COLUMN_INDEX = PRIMARYKEY_TIMESTAMP_COL_INDEX;
SColumnList ids = getColumnList(1, 0, TS_COLUMN_INDEX); SColumnList ids = getColumnList(1, 0, TS_COLUMN_INDEX);
insertResultField(pQueryInfo, TS_COLUMN_INDEX, &ids, TSDB_KEYSIZE, TSDB_DATA_TYPE_TIMESTAMP, insertResultField(pQueryInfo, TS_COLUMN_INDEX, &ids, TSDB_KEYSIZE, TSDB_DATA_TYPE_TIMESTAMP,
aAggs[TSDB_FUNC_TS].aName, pExpr); aAggs[TSDB_FUNC_TS].aName, pExpr);
......
...@@ -29,7 +29,7 @@ int64_t* createTsList(int32_t num, int64_t start, int32_t step) { ...@@ -29,7 +29,7 @@ int64_t* createTsList(int32_t num, int64_t start, int32_t step) {
// simple test // simple test
void simpleTest() { void simpleTest() {
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
// write 10 ts points // write 10 ts points
int32_t num = 10; int32_t num = 10;
...@@ -52,7 +52,7 @@ void simpleTest() { ...@@ -52,7 +52,7 @@ void simpleTest() {
// one large list of ts, the ts list need to be split into several small blocks // one large list of ts, the ts list need to be split into several small blocks
void largeTSTest() { void largeTSTest() {
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
// write 10 ts points // write 10 ts points
int32_t num = 1000000; int32_t num = 1000000;
...@@ -75,7 +75,7 @@ void largeTSTest() { ...@@ -75,7 +75,7 @@ void largeTSTest() {
} }
void multiTagsTest() { void multiTagsTest() {
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
int32_t num = 10000; int32_t num = 10000;
int64_t tag = 1; int64_t tag = 1;
...@@ -105,7 +105,7 @@ void multiTagsTest() { ...@@ -105,7 +105,7 @@ void multiTagsTest() {
} }
void multiVnodeTagsTest() { void multiVnodeTagsTest() {
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
int32_t num = 10000; int32_t num = 10000;
int64_t start = 10000000; int64_t start = 10000000;
...@@ -143,7 +143,7 @@ void multiVnodeTagsTest() { ...@@ -143,7 +143,7 @@ void multiVnodeTagsTest() {
} }
void loadDataTest() { void loadDataTest() {
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
int32_t num = 10000; int32_t num = 10000;
int64_t oldStart = 10000000; int64_t oldStart = 10000000;
...@@ -221,7 +221,7 @@ void TSTraverse() { ...@@ -221,7 +221,7 @@ void TSTraverse() {
int32_t step = 30; int32_t step = 30;
int32_t numOfVnode = 2; int32_t numOfVnode = 2;
STSBuf* pTSBuf = tsBufCreate(true); STSBuf* pTSBuf = tsBufCreate(true, TSDB_ORDER_ASC);
for (int32_t j = 0; j < numOfVnode; ++j) { for (int32_t j = 0; j < numOfVnode; ++j) {
// vnodeId:0 // vnodeId:0
...@@ -359,8 +359,8 @@ void invalidFileTest() { ...@@ -359,8 +359,8 @@ void invalidFileTest() {
} }
void mergeDiffVnodeBufferTest() { void mergeDiffVnodeBufferTest() {
STSBuf* pTSBuf1 = tsBufCreate(true); STSBuf* pTSBuf1 = tsBufCreate(true, TSDB_ORDER_ASC);
STSBuf* pTSBuf2 = tsBufCreate(true); STSBuf* pTSBuf2 = tsBufCreate(true, TSDB_ORDER_ASC);
int32_t step = 30; int32_t step = 30;
int32_t num = 1000; int32_t num = 1000;
...@@ -391,8 +391,8 @@ void mergeDiffVnodeBufferTest() { ...@@ -391,8 +391,8 @@ void mergeDiffVnodeBufferTest() {
} }
void mergeIdenticalVnodeBufferTest() { void mergeIdenticalVnodeBufferTest() {
STSBuf* pTSBuf1 = tsBufCreate(true); STSBuf* pTSBuf1 = tsBufCreate(true, TSDB_ORDER_ASC);
STSBuf* pTSBuf2 = tsBufCreate(true); STSBuf* pTSBuf2 = tsBufCreate(true, TSDB_ORDER_ASC);
int32_t step = 30; int32_t step = 30;
int32_t num = 1000; int32_t num = 1000;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册