Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
45289aef
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
45289aef
编写于
7月 01, 2021
作者:
H
Haojun Liao
提交者:
GitHub
7月 01, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6698 from taosdata/feature/query
Feature/query
上级
13437586
9150fb18
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
11 addition
and
11 deletion
+11
-11
src/client/inc/tscUtil.h
src/client/inc/tscUtil.h
+1
-1
src/client/inc/tsclient.h
src/client/inc/tsclient.h
+1
-1
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+2
-2
src/client/src/tscServer.c
src/client/src/tscServer.c
+1
-1
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+6
-5
src/query/inc/qTableMeta.h
src/query/inc/qTableMeta.h
+0
-1
未找到文件。
src/client/inc/tscUtil.h
浏览文件 @
45289aef
...
...
@@ -217,7 +217,7 @@ void tscColumnListDestroy(SArray* pColList);
void
tscColumnListCopy
(
SArray
*
dst
,
const
SArray
*
src
,
uint64_t
tableUid
);
void
tscColumnListCopyAll
(
SArray
*
dst
,
const
SArray
*
src
);
void
convertQueryResult
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
uint64_t
objId
);
void
convertQueryResult
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
uint64_t
objId
,
bool
convertNchar
);
void
tscDequoteAndTrimToken
(
SStrToken
*
pToken
);
int32_t
tscValidateName
(
SStrToken
*
pToken
);
...
...
src/client/inc/tsclient.h
浏览文件 @
45289aef
...
...
@@ -319,7 +319,7 @@ void tscRestoreFuncForSTableQuery(SQueryInfo *pQueryInfo);
int32_t
tscCreateResPointerInfo
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
);
void
tscSetResRawPtr
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
);
void
tscSetResRawPtrRv
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
SSDataBlock
*
pBlock
);
void
tscSetResRawPtrRv
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
SSDataBlock
*
pBlock
,
bool
convertNchar
);
void
handleDownstreamOperator
(
SSqlObj
**
pSqlList
,
int32_t
numOfUpstream
,
SQueryInfo
*
px
,
SSqlObj
*
pParent
);
void
destroyTableNameList
(
SInsertStatementParam
*
pInsertParam
);
...
...
src/client/src/tscSQLParser.c
浏览文件 @
45289aef
...
...
@@ -5985,8 +5985,8 @@ int32_t validateLimitNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlN
if
(
tscOrderedProjectionQueryOnSTable
(
pQueryInfo
,
0
))
{
/*
*
t
he offset value should be removed during retrieve data from virtual node, since the
* global order are done
in client side, so the offset is applied at the client side
*
T
he offset value should be removed during retrieve data from virtual node, since the
* global order are done
at the client side, so the offset is applied at the client side.
* However, note that the maximum allowed number of result for each table should be less
* than or equal to the value of limit.
*/
...
...
src/client/src/tscServer.c
浏览文件 @
45289aef
...
...
@@ -1703,7 +1703,7 @@ int tscProcessRetrieveGlobalMergeRsp(SSqlObj *pSql) {
uint64_t
localQueryId
=
pSql
->
self
;
qTableQuery
(
pQueryInfo
->
pQInfo
,
&
localQueryId
);
convertQueryResult
(
pRes
,
pQueryInfo
,
pSql
->
self
);
convertQueryResult
(
pRes
,
pQueryInfo
,
pSql
->
self
,
true
);
code
=
pRes
->
code
;
if
(
pRes
->
code
==
TSDB_CODE_SUCCESS
)
{
...
...
src/client/src/tscUtil.c
浏览文件 @
45289aef
...
...
@@ -645,7 +645,7 @@ void tscSetResRawPtr(SSqlRes* pRes, SQueryInfo* pQueryInfo) {
}
}
void
tscSetResRawPtrRv
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
SSDataBlock
*
pBlock
)
{
void
tscSetResRawPtrRv
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
SSDataBlock
*
pBlock
,
bool
convertNchar
)
{
assert
(
pRes
->
numOfCols
>
0
);
for
(
int32_t
i
=
0
;
i
<
pQueryInfo
->
fieldsInfo
.
numOfOutput
;
++
i
)
{
...
...
@@ -678,7 +678,7 @@ void tscSetResRawPtrRv(SSqlRes* pRes, SQueryInfo* pQueryInfo, SSDataBlock* pBloc
}
}
}
else
if
(
pInfo
->
field
.
type
==
TSDB_DATA_TYPE_NCHAR
)
{
}
else
if
(
convertNchar
&&
pInfo
->
field
.
type
==
TSDB_DATA_TYPE_NCHAR
)
{
// convert unicode to native code in a temporary buffer extra one byte for terminated symbol
pRes
->
buffer
[
i
]
=
realloc
(
pRes
->
buffer
[
i
],
pInfo
->
field
.
bytes
*
pRes
->
numOfRows
);
...
...
@@ -1075,14 +1075,14 @@ SOperatorInfo* createJoinOperatorInfo(SOperatorInfo** pUpstream, int32_t numOfUp
return
pOperator
;
}
void
convertQueryResult
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
uint64_t
objId
)
{
void
convertQueryResult
(
SSqlRes
*
pRes
,
SQueryInfo
*
pQueryInfo
,
uint64_t
objId
,
bool
convertNchar
)
{
// set the correct result
SSDataBlock
*
p
=
pQueryInfo
->
pQInfo
->
runtimeEnv
.
outputBuf
;
pRes
->
numOfRows
=
(
p
!=
NULL
)
?
p
->
info
.
rows
:
0
;
if
(
pRes
->
code
==
TSDB_CODE_SUCCESS
&&
pRes
->
numOfRows
>
0
)
{
tscCreateResPointerInfo
(
pRes
,
pQueryInfo
);
tscSetResRawPtrRv
(
pRes
,
pQueryInfo
,
p
);
tscSetResRawPtrRv
(
pRes
,
pQueryInfo
,
p
,
convertNchar
);
}
tscDebug
(
"0x%"
PRIx64
" retrieve result in pRes, numOfRows:%d"
,
objId
,
pRes
->
numOfRows
);
...
...
@@ -1202,7 +1202,7 @@ void handleDownstreamOperator(SSqlObj** pSqlObjList, int32_t numOfUpstream, SQue
uint64_t
qId
=
pSql
->
self
;
qTableQuery
(
px
->
pQInfo
,
&
qId
);
convertQueryResult
(
pOutput
,
px
,
pSql
->
self
);
convertQueryResult
(
pOutput
,
px
,
pSql
->
self
,
false
);
}
static
void
tscDestroyResPointerInfo
(
SSqlRes
*
pRes
)
{
...
...
@@ -2941,6 +2941,7 @@ int32_t tscQueryInfoCopy(SQueryInfo* pQueryInfo, const SQueryInfo* pSrc) {
pQueryInfo
->
pTableMetaInfo
=
NULL
;
pQueryInfo
->
bufLen
=
pSrc
->
bufLen
;
pQueryInfo
->
orderProjectQuery
=
pSrc
->
orderProjectQuery
;
pQueryInfo
->
buf
=
malloc
(
pSrc
->
bufLen
);
if
(
pQueryInfo
->
buf
==
NULL
)
{
code
=
TSDB_CODE_TSC_OUT_OF_MEMORY
;
...
...
src/query/inc/qTableMeta.h
浏览文件 @
45289aef
...
...
@@ -118,7 +118,6 @@ typedef struct SQueryInfo {
int64_t
vgroupLimit
;
// table limit in case of super table projection query + global order + limit
int32_t
udColumnId
;
// current user-defined constant output field column id, monotonically decreases from TSDB_UD_COLUMN_INDEX
int16_t
resColumnId
;
// result column id
bool
distinctTag
;
// distinct tag or not
int32_t
round
;
// 0/1/....
int32_t
bufLen
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录