Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Iotdb
提交
0e2d8387
I
Iotdb
项目概览
apache
/
Iotdb
大约 1 年 前同步成功
通知
25
Star
3344
Fork
916
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
Iotdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0e2d8387
编写于
7月 01, 2020
作者:
M
mychaow
提交者:
Jialin Qiao
7月 02, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove redundant type change
上级
2cbee31e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
4 addition
and
58 deletion
+4
-58
server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
.../src/main/java/org/apache/iotdb/db/metadata/MManager.java
+3
-55
server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
...in/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+1
-3
未找到文件。
server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
浏览文件 @
0e2d8387
...
...
@@ -1841,12 +1841,12 @@ public class MManager {
* @return
* @throws MetadataException
*/
public
MeasurementSchema
[]
getSeriesSchemas
(
String
deviceId
,
String
[]
measurementList
,
PhysicalPlan
plan
)
throws
MetadataException
{
public
MeasurementSchema
[]
getSeriesSchemas
AndLock
(
String
deviceId
,
String
[]
measurementList
,
PhysicalPlan
plan
)
throws
MetadataException
{
MeasurementSchema
[]
schemas
=
new
MeasurementSchema
[
measurementList
.
length
];
MNode
deviceNode
;
// 1. get device node
deviceNode
=
getDeviceNode
(
deviceId
);
deviceNode
=
getDeviceNode
WithAutoCreateAndReadLock
(
deviceId
);
// 2. get schema of each measurement
for
(
int
i
=
0
;
i
<
measurementList
.
length
;
i
++)
{
...
...
@@ -1902,11 +1902,6 @@ public class MManager {
}
}
// maybe need to convert value type to the true type
if
((
plan
instanceof
InsertRowPlan
)
&&
((
InsertRowPlan
)
plan
).
isNeedInferType
())
{
changeStringValueToRealType
((
InsertRowPlan
)
plan
,
i
,
measurementNode
.
getSchema
().
getType
());
}
schemas
[
i
]
=
measurementNode
.
getSchema
();
if
(
schemas
[
i
]
!=
null
)
{
measurementList
[
i
]
=
schemas
[
i
].
getMeasurementId
();
...
...
@@ -1927,44 +1922,6 @@ public class MManager {
return
schemas
;
}
private
void
changeStringValueToRealType
(
InsertRowPlan
plan
,
int
loc
,
TSDataType
type
)
throws
MetadataException
{
plan
.
getDataTypes
()[
loc
]
=
type
;
try
{
switch
(
type
)
{
case
INT32:
plan
.
getValues
()[
loc
]
=
Integer
.
parseInt
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
case
INT64:
plan
.
getValues
()[
loc
]
=
Long
.
parseLong
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
case
DOUBLE:
plan
.
getValues
()[
loc
]
=
Double
.
parseDouble
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
case
FLOAT:
plan
.
getValues
()[
loc
]
=
Float
.
parseFloat
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
case
BOOLEAN:
plan
.
getValues
()[
loc
]
=
Boolean
.
parseBoolean
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
case
TEXT:
plan
.
getValues
()[
loc
]
=
Binary
.
valueOf
(
String
.
valueOf
(
plan
.
getValues
()[
loc
]));
break
;
}
}
catch
(
ClassCastException
e
)
{
logger
.
error
(
"inconsistent type between client and server for "
+
e
.
getMessage
()
+
" "
+
type
);
throw
new
MetadataException
(
e
.
getMessage
());
}
catch
(
NumberFormatException
e
)
{
logger
.
error
(
"inconsistent type between type {} and value {}"
,
type
,
plan
.
getValues
()[
loc
]);
throw
new
MetadataException
(
e
.
getMessage
());
}
}
/**
* Get default encoding by dataType
*/
...
...
@@ -2011,15 +1968,6 @@ public class MManager {
return
dataType
;
}
/**
* when insert, we lock device node for not create deleted time series
* before insert, we should call this function to lock the device node
* @param deviceId
*/
public
void
lockInsert
(
String
deviceId
)
throws
MetadataException
{
getDeviceNodeWithAutoCreateAndReadLock
(
deviceId
);
}
/**
* when insert, we lock device node for not create deleted time series
* after insert, we should call this function to unlock the device node
...
...
@@ -2027,7 +1975,7 @@ public class MManager {
*/
public
void
unlockInsert
(
String
deviceId
)
{
try
{
MNode
mNode
=
getDeviceNode
(
deviceId
);
MNode
mNode
=
getDeviceNode
(
deviceId
);
mNode
.
readUnlock
();
}
catch
(
MetadataException
e
)
{
// ignore the exception
...
...
server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
浏览文件 @
0e2d8387
...
...
@@ -867,13 +867,12 @@ public class PlanExecutor implements IPlanExecutor {
protected
MeasurementSchema
[]
getSeriesSchemas
(
InsertPlan
insertPlan
)
throws
MetadataException
{
return
mManager
.
getSeriesSchemas
(
insertPlan
.
getDeviceId
(),
insertPlan
.
getMeasurements
(),
insertPlan
);
return
mManager
.
getSeriesSchemas
AndLock
(
insertPlan
.
getDeviceId
(),
insertPlan
.
getMeasurements
(),
insertPlan
);
}
@Override
public
void
insert
(
InsertRowPlan
insertRowPlan
)
throws
QueryProcessException
{
try
{
mManager
.
lockInsert
(
insertRowPlan
.
getDeviceId
());
MeasurementSchema
[]
schemas
=
getSeriesSchemas
(
insertRowPlan
);
insertRowPlan
.
setSchemasAndTransferType
(
schemas
);
StorageEngine
.
getInstance
().
insert
(
insertRowPlan
);
...
...
@@ -891,7 +890,6 @@ public class PlanExecutor implements IPlanExecutor {
@Override
public
void
insertTablet
(
InsertTabletPlan
insertTabletPlan
)
throws
QueryProcessException
{
try
{
mManager
.
lockInsert
(
insertTabletPlan
.
getDeviceId
());
MeasurementSchema
[]
schemas
=
getSeriesSchemas
(
insertTabletPlan
);
insertTabletPlan
.
setSchemas
(
schemas
);
StorageEngine
.
getInstance
().
insertTablet
(
insertTabletPlan
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录