Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lijianghuflute
canal
提交
33a2a612
canal
项目概览
lijianghuflute
/
canal
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
canal
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
33a2a612
编写于
7月 17, 2018
作者:
A
agapple
提交者:
GitHub
7月 17, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #754 from wingerx/master
fix issue #751
上级
bef6a66e
441d2d24
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
3 deletion
+16
-3
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
...ter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
+16
-3
未找到文件。
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
浏览文件 @
33a2a612
...
...
@@ -504,9 +504,6 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
throw
new
CanalParseException
(
"unsupport event type :"
+
event
.
getHeader
().
getType
());
}
TableMapLogEvent
table
=
event
.
getTable
();
Header
header
=
createHeader
(
event
.
getHeader
(),
table
.
getDbName
(),
table
.
getTableName
(),
eventType
);
RowChange
.
Builder
rowChangeBuider
=
RowChange
.
newBuilder
();
rowChangeBuider
.
setTableId
(
event
.
getTableId
());
rowChangeBuider
.
setIsDdl
(
false
);
...
...
@@ -517,6 +514,7 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
BitSet
changeColumns
=
event
.
getChangeColumns
();
boolean
tableError
=
false
;
int
rowsCount
=
0
;
while
(
buffer
.
nextOneRow
(
columns
))
{
// 处理row记录
RowData
.
Builder
rowDataBuilder
=
RowData
.
newBuilder
();
...
...
@@ -537,9 +535,13 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
tableError
|=
parseOneRow
(
rowDataBuilder
,
event
,
buffer
,
changeColumns
,
true
,
tableMeta
);
}
rowsCount
++;
rowChangeBuider
.
addRowDatas
(
rowDataBuilder
.
build
());
}
TableMapLogEvent
table
=
event
.
getTable
();
Header
header
=
createHeader
(
event
.
getHeader
(),
table
.
getDbName
(),
table
.
getTableName
(),
eventType
,
rowsCount
);
RowChange
rowChange
=
rowChangeBuider
.
build
();
if
(
tableError
)
{
Entry
entry
=
createEntry
(
header
,
EntryType
.
ROWDATA
,
ByteString
.
EMPTY
);
...
...
@@ -793,7 +795,12 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
return
createEntry
(
header
,
EntryType
.
ROWDATA
,
rowChangeBuider
.
build
().
toByteString
());
}
private
Header
createHeader
(
LogHeader
logHeader
,
String
schemaName
,
String
tableName
,
EventType
eventType
)
{
return
createHeader
(
logHeader
,
schemaName
,
tableName
,
eventType
,
-
1
);
}
private
Header
createHeader
(
LogHeader
logHeader
,
String
schemaName
,
String
tableName
,
EventType
eventType
,
Integer
rowsCount
)
{
// header会做信息冗余,方便以后做检索或者过滤
Header
.
Builder
headerBuilder
=
Header
.
newBuilder
();
headerBuilder
.
setVersion
(
version
);
...
...
@@ -818,6 +825,12 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
String
gtid
=
gtidSet
.
toString
();
headerBuilder
.
setGtid
(
gtid
);
}
// add rowsCount suppport
if
(
rowsCount
>
0
)
{
Pair
pair
=
createSpecialPair
(
"rowsCount"
,
String
.
valueOf
(
rowsCount
));
headerBuilder
.
addProps
(
pair
);
}
return
headerBuilder
.
build
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录