Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a9ca64a4
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a9ca64a4
编写于
8月 10, 2021
作者:
H
Haojun Liao
提交者:
GitHub
8月 10, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #7148 from taosdata/enhance/TD-4199
Enhance/td 4199
上级
4ef9ee50
0f6be76c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
23 deletion
+19
-23
src/client/inc/tscUtil.h
src/client/inc/tscUtil.h
+1
-1
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+3
-8
src/client/src/tscServer.c
src/client/src/tscServer.c
+8
-7
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+7
-7
未找到文件。
src/client/inc/tscUtil.h
浏览文件 @
a9ca64a4
...
...
@@ -342,7 +342,7 @@ STableMeta* createSuperTableMeta(STableMetaMsg* pChild);
uint32_t
tscGetTableMetaSize
(
STableMeta
*
pTableMeta
);
CChildTableMeta
*
tscCreateChildMeta
(
STableMeta
*
pTableMeta
);
uint32_t
tscGetTableMetaMaxSize
();
int32_t
tscCreateTableMetaFromSTableMeta
(
STableMeta
**
p
Child
,
const
char
*
name
,
size_t
*
tableMetaCapacity
);
int32_t
tscCreateTableMetaFromSTableMeta
(
STableMeta
**
p
pChild
,
const
char
*
name
,
size_t
*
tableMetaCapacity
,
STableMeta
**
ppStable
);
STableMeta
*
tscTableMetaDup
(
STableMeta
*
pTableMeta
);
SVgroupsInfo
*
tscVgroupsInfoDup
(
SVgroupsInfo
*
pVgroupsInfo
);
...
...
src/client/src/tscSQLParser.c
浏览文件 @
a9ca64a4
...
...
@@ -8399,19 +8399,13 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
char
name
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
//if (!pSql->pBuf) {
// if (NULL == (pSql->pBuf = tcalloc(1, 80 * TSDB_MAX_COLUMNS))) {
// code = TSDB_CODE_TSC_OUT_OF_MEMORY;
// goto _end;
// }
//}
plist
=
taosArrayInit
(
4
,
POINTER_BYTES
);
pVgroupList
=
taosArrayInit
(
4
,
POINTER_BYTES
);
taosArraySort
(
tableNameList
,
tnameComparFn
);
taosArrayRemoveDuplicate
(
tableNameList
,
tnameComparFn
,
NULL
);
STableMeta
*
pSTMeta
=
(
STableMeta
*
)(
pSql
->
pBuf
);
size_t
numOfTables
=
taosArrayGetSize
(
tableNameList
);
for
(
int32_t
i
=
0
;
i
<
numOfTables
;
++
i
)
{
SName
*
pname
=
taosArrayGet
(
tableNameList
,
i
);
...
...
@@ -8427,7 +8421,8 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
// avoid mem leak, may should update pTableMeta
void
*
pVgroupIdList
=
NULL
;
if
(
pTableMeta
->
tableType
==
TSDB_CHILD_TABLE
)
{
code
=
tscCreateTableMetaFromSTableMeta
((
STableMeta
**
)(
&
pTableMeta
),
name
,
&
tableMetaCapacity
);
code
=
tscCreateTableMetaFromSTableMeta
((
STableMeta
**
)(
&
pTableMeta
),
name
,
&
tableMetaCapacity
,
(
STableMeta
**
)(
&
pSTMeta
));
pSql
->
pBuf
=
(
void
*
)
pSTMeta
;
// create the child table meta from super table failed, try load it from mnode
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
...
...
src/client/src/tscServer.c
浏览文件 @
a9ca64a4
...
...
@@ -2872,18 +2872,19 @@ int32_t tscGetTableMetaImpl(SSqlObj* pSql, STableMetaInfo *pTableMetaInfo, bool
tNameExtractFullName
(
&
pTableMetaInfo
->
name
,
name
);
size_t
len
=
strlen
(
name
);
if
(
pTableMetaInfo
->
tableMetaCapacity
!=
0
)
{
if
(
pTableMetaInfo
->
pTableMeta
!=
NULL
)
{
memset
(
pTableMetaInfo
->
pTableMeta
,
0
,
pTableMetaInfo
->
tableMetaCapacity
);
}
// just make runtime happy
if
(
pTableMetaInfo
->
tableMetaCapacity
!=
0
&&
pTableMetaInfo
->
pTableMeta
!=
NULL
)
{
memset
(
pTableMetaInfo
->
pTableMeta
,
0
,
pTableMetaInfo
->
tableMetaCapacity
);
}
taosHashGetCloneExt
(
tscTableMetaMap
,
name
,
len
,
NULL
,
(
void
**
)
&
(
pTableMetaInfo
->
pTableMeta
),
&
pTableMetaInfo
->
tableMetaCapacity
);
STableMeta
*
pMeta
=
pTableMetaInfo
->
pTableMeta
;
STableMeta
*
pMeta
=
pTableMetaInfo
->
pTableMeta
;
STableMeta
*
pSTMeta
=
(
STableMeta
*
)(
pSql
->
pBuf
);
if
(
pMeta
&&
pMeta
->
id
.
uid
>
0
)
{
// in case of child table, here only get the
if
(
pMeta
->
tableType
==
TSDB_CHILD_TABLE
)
{
int32_t
code
=
tscCreateTableMetaFromSTableMeta
(
&
pTableMetaInfo
->
pTableMeta
,
name
,
&
pTableMetaInfo
->
tableMetaCapacity
);
int32_t
code
=
tscCreateTableMetaFromSTableMeta
(
&
pTableMetaInfo
->
pTableMeta
,
name
,
&
pTableMetaInfo
->
tableMetaCapacity
,
(
STableMeta
**
)(
&
pSTMeta
));
pSql
->
pBuf
=
(
void
*
)(
pSTMeta
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
getTableMetaFromMnode
(
pSql
,
pTableMetaInfo
,
autocreate
);
}
...
...
src/client/src/tscUtil.c
浏览文件 @
a9ca64a4
...
...
@@ -4554,14 +4554,16 @@ CChildTableMeta* tscCreateChildMeta(STableMeta* pTableMeta) {
return
cMeta
;
}
int32_t
tscCreateTableMetaFromSTableMeta
(
STableMeta
**
ppChild
,
const
char
*
name
,
size_t
*
tableMetaCapacity
)
{
int32_t
tscCreateTableMetaFromSTableMeta
(
STableMeta
**
ppChild
,
const
char
*
name
,
size_t
*
tableMetaCapacity
,
STableMeta
**
ppSTable
)
{
assert
(
*
ppChild
!=
NULL
);
STableMeta
*
p
=
NULL
;
size_t
sz
=
0
;
STableMeta
*
p
=
*
ppSTable
;
STableMeta
*
pChild
=
*
ppChild
;
size_t
sz
=
(
p
!=
NULL
)
?
tscGetTableMetaSize
(
p
)
:
0
;
//ppSTableBuf actually capacity may larger than sz, dont care
if
(
p
!=
NULL
&&
sz
!=
0
)
{
memset
((
char
*
)
p
,
0
,
sz
);
}
taosHashGetCloneExt
(
tscTableMetaMap
,
pChild
->
sTableName
,
strnlen
(
pChild
->
sTableName
,
TSDB_TABLE_FNAME_LEN
),
NULL
,
(
void
**
)
&
p
,
&
sz
);
*
ppSTable
=
p
;
// tableMeta exists, build child table meta according to the super table meta
// the uid need to be checked in addition to the general name of the super table.
...
...
@@ -4580,10 +4582,8 @@ int32_t tscCreateTableMetaFromSTableMeta(STableMeta** ppChild, const char* name,
memcpy
(
pChild
->
schema
,
p
->
schema
,
totalBytes
);
*
ppChild
=
pChild
;
tfree
(
p
);
return
TSDB_CODE_SUCCESS
;
}
else
{
// super table has been removed, current tableMeta is also expired. remove it here
tfree
(
p
);
taosHashRemove
(
tscTableMetaMap
,
name
,
strnlen
(
name
,
TSDB_TABLE_FNAME_LEN
));
return
-
1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录