Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
67fd83f5
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看板
未验证
提交
67fd83f5
编写于
11月 17, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
11月 17, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #18242 from taosdata/fix/liao_cov
refactor: suppress one error.
上级
e09eed34
786caafa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
13 deletion
+32
-13
source/libs/executor/src/scanoperator.c
source/libs/executor/src/scanoperator.c
+32
-13
未找到文件。
source/libs/executor/src/scanoperator.c
浏览文件 @
67fd83f5
...
...
@@ -337,9 +337,13 @@ static void doSetTagColumnData(STableScanInfo* pTableScanInfo, SSDataBlock* pBlo
int32_t
code
=
addTagPseudoColumnData
(
&
pTableScanInfo
->
readHandle
,
pSup
->
pExprInfo
,
pSup
->
numOfExprs
,
pBlock
,
rows
,
GET_TASKID
(
pTaskInfo
),
&
pTableScanInfo
->
metaCache
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
// ignore the table not exists error, since this table may have been dropped during the scan procedure.
if
(
code
!=
TSDB_CODE_SUCCESS
&&
code
!=
TSDB_CODE_PAR_TABLE_NOT_EXIST
)
{
T_LONG_JMP
(
pTaskInfo
->
env
,
code
);
}
// reset the error code.
terrno
=
0
;
}
}
...
...
@@ -513,6 +517,21 @@ static void freeTableCachedVal(void* param) {
taosMemoryFree
(
pVal
);
}
static
STableCachedVal
*
createTableCacheVal
(
const
SMetaReader
*
pMetaReader
)
{
STableCachedVal
*
pVal
=
taosMemoryMalloc
(
sizeof
(
STableCachedVal
));
pVal
->
pName
=
strdup
(
pMetaReader
->
me
.
name
);
pVal
->
pTags
=
NULL
;
// only child table has tag value
if
(
pMetaReader
->
me
.
type
==
TSDB_CHILD_TABLE
)
{
STag
*
pTag
=
(
STag
*
)
pMetaReader
->
me
.
ctbEntry
.
pTags
;
pVal
->
pTags
=
taosMemoryMalloc
(
pTag
->
len
);
memcpy
(
pVal
->
pTags
,
pTag
,
pTag
->
len
);
}
return
pVal
;
}
// const void *key, size_t keyLen, void *value
static
void
freeCachedMetaItem
(
const
void
*
key
,
size_t
keyLen
,
void
*
value
)
{
freeTableCachedVal
(
value
);
}
...
...
@@ -540,7 +559,11 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo* pExpr, int
metaReaderInit
(
&
mr
,
pHandle
->
meta
,
0
);
code
=
metaGetTableEntryByUid
(
&
mr
,
pBlock
->
info
.
uid
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
qError
(
"failed to get table meta, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
if
(
terrno
==
TSDB_CODE_PAR_TABLE_NOT_EXIST
)
{
qWarn
(
"failed to get table meta, table may have been dropped, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
}
else
{
qError
(
"failed to get table meta, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
}
metaReaderClear
(
&
mr
);
return
terrno
;
}
...
...
@@ -559,23 +582,18 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo* pExpr, int
metaReaderInit
(
&
mr
,
pHandle
->
meta
,
0
);
code
=
metaGetTableEntryByUid
(
&
mr
,
pBlock
->
info
.
uid
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
qError
(
"failed to get table meta, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
if
(
terrno
==
TSDB_CODE_PAR_TABLE_NOT_EXIST
)
{
qWarn
(
"failed to get table meta, table may have been dropped, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
}
else
{
qError
(
"failed to get table meta, uid:0x%"
PRIx64
", code:%s, %s"
,
pBlock
->
info
.
uid
,
tstrerror
(
terrno
),
idStr
);
}
metaReaderClear
(
&
mr
);
return
terrno
;
}
metaReaderReleaseLock
(
&
mr
);
STableCachedVal
*
pVal
=
taosMemoryMalloc
(
sizeof
(
STableCachedVal
));
pVal
->
pName
=
strdup
(
mr
.
me
.
name
);
pVal
->
pTags
=
NULL
;
// only child table has tag value
if
(
mr
.
me
.
type
==
TSDB_CHILD_TABLE
)
{
STag
*
pTag
=
(
STag
*
)
mr
.
me
.
ctbEntry
.
pTags
;
pVal
->
pTags
=
taosMemoryMalloc
(
pTag
->
len
);
memcpy
(
pVal
->
pTags
,
mr
.
me
.
ctbEntry
.
pTags
,
pTag
->
len
);
}
STableCachedVal
*
pVal
=
createTableCacheVal
(
&
mr
);
val
=
*
pVal
;
freeReader
=
true
;
...
...
@@ -590,6 +608,7 @@ int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo* pExpr, int
pCache
->
cacheHit
+=
1
;
STableCachedVal
*
pVal
=
taosLRUCacheValue
(
pCache
->
pTableMetaEntryCache
,
h
);
val
=
*
pVal
;
taosLRUCacheRelease
(
pCache
->
pTableMetaEntryCache
,
h
,
false
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录