Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
96539f02
M
milvus
项目概览
milvus
/
milvus
11 个月 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
96539f02
编写于
9月 17, 2021
作者:
G
godchen
提交者:
GitHub
9月 17, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add data codec comment (#7998)
Signed-off-by:
N
godchen
<
qingxiang.chen@zilliz.com
>
上级
37f71d89
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
18 addition
and
0 deletion
+18
-0
internal/storage/data_codec.go
internal/storage/data_codec.go
+18
-0
未找到文件。
internal/storage/data_codec.go
浏览文件 @
96539f02
...
...
@@ -146,6 +146,10 @@ func NewInsertCodec(schema *etcdpb.CollectionMeta) *InsertCodec {
return
&
InsertCodec
{
Schema
:
schema
}
}
// Serialize transfer insert data to blob. It will sort insert data by timestamp.
// From schema, it get all fields.
// For each field, it will create a binlog writer, and write a event to the binlog.
// It returns binlog buffer in the end.
func
(
insertCodec
*
InsertCodec
)
Serialize
(
partitionID
UniqueID
,
segmentID
UniqueID
,
data
*
InsertData
)
([]
*
Blob
,
[]
*
Blob
,
error
)
{
var
blobs
[]
*
Blob
var
statsBlobs
[]
*
Blob
...
...
@@ -243,6 +247,10 @@ func (insertCodec *InsertCodec) Serialize(partitionID UniqueID, segmentID Unique
return
blobs
,
statsBlobs
,
nil
}
// Deserialize transfer blob back to insert data.
// From schema, it get all fields.
// For each field, it will create a binlog reader, and read all event to the buffer.
// It returns origin @InsertData in the end.
func
(
insertCodec
*
InsertCodec
)
Deserialize
(
blobs
[]
*
Blob
)
(
partitionID
UniqueID
,
segmentID
UniqueID
,
data
*
InsertData
,
err
error
)
{
if
len
(
blobs
)
==
0
{
return
InvalidUniqueID
,
InvalidUniqueID
,
nil
,
fmt
.
Errorf
(
"blobs is empty"
)
...
...
@@ -491,6 +499,11 @@ func NewDataDefinitionCodec(collectionID int64) *DataDefinitionCodec {
return
&
DataDefinitionCodec
{
collectionID
:
collectionID
}
}
// Serialize transfer @ts and @ddRequsts to blob.
// From schema, it get all fields.
// For each field, it will create a binlog writer, and write specific event according
// to the dataDefinition type.
// It returns blobs in the end.
func
(
dataDefinitionCodec
*
DataDefinitionCodec
)
Serialize
(
ts
[]
Timestamp
,
ddRequests
[]
string
,
eventTypes
[]
EventTypeCode
)
([]
*
Blob
,
error
)
{
writer
:=
NewDDLBinlogWriter
(
schemapb
.
DataType_Int64
,
dataDefinitionCodec
.
collectionID
)
...
...
@@ -586,6 +599,11 @@ func (dataDefinitionCodec *DataDefinitionCodec) Serialize(ts []Timestamp, ddRequ
return
blobs
,
nil
}
// Deserialize transfer blob back to data definition data.
// From schema, it get all fields.
// It will sort blob by blob key for blob logid is increasing by time.
// For each field, it will create a binlog reader, and read all event to the buffer.
// It returns origin @ts and @ddRequests in the end.
func
(
dataDefinitionCodec
*
DataDefinitionCodec
)
Deserialize
(
blobs
[]
*
Blob
)
(
ts
[]
Timestamp
,
ddRequests
[]
string
,
err
error
)
{
if
len
(
blobs
)
==
0
{
return
nil
,
nil
,
fmt
.
Errorf
(
"blobs is empty"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录