Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lijianghuflute
canal
提交
7c63e81e
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 搜索 >>
提交
7c63e81e
编写于
12月 10, 2018
作者:
A
agapple
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed issue #1256, rds alibaba_rds_row_id
上级
dda80819
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
9 deletion
+27
-9
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
...ter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
+27
-9
未找到文件。
parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/LogEventConvert.java
浏览文件 @
7c63e81e
...
...
@@ -621,9 +621,10 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
+
","
+
columnInfo
.
length
+
" vs "
+
tableMeta
.
getFields
().
size
());
}
}
}
else
{
logger
.
warn
(
"["
+
event
.
getTable
().
getDbName
()
+
"."
+
event
.
getTable
().
getTableName
()
+
"] is no primary key , skip alibaba_rds_row_id column"
);
// } else {
// logger.warn("[" + event.getTable().getDbName() + "." +
// event.getTable().getTableName()
// + "] is no primary key , skip alibaba_rds_row_id column");
}
}
...
...
@@ -634,18 +635,35 @@ public class LogEventConvert extends AbstractCanalLifeCycle implements BinlogPar
continue
;
}
if
(
existRDSNoPrimaryKey
&&
i
==
columnCnt
-
1
&&
info
.
type
==
LogEvent
.
MYSQL_TYPE_LONGLONG
)
{
// 不解析最后一列
String
rdsRowIdColumnName
=
"#alibaba_rds_row_id#"
;
buffer
.
nextValue
(
rdsRowIdColumnName
,
i
,
info
.
type
,
info
.
meta
,
false
);
Column
.
Builder
columnBuilder
=
Column
.
newBuilder
();
columnBuilder
.
setName
(
rdsRowIdColumnName
);
columnBuilder
.
setIsKey
(
true
);
columnBuilder
.
setMysqlType
(
"bigint"
);
columnBuilder
.
setIndex
(
i
);
columnBuilder
.
setIsNull
(
false
);
Serializable
value
=
buffer
.
getValue
();
columnBuilder
.
setValue
(
value
.
toString
());
columnBuilder
.
setSqlType
(
Types
.
BIGINT
);
columnBuilder
.
setUpdated
(
false
);
if
(
isAfter
)
{
rowDataBuilder
.
addAfterColumns
(
columnBuilder
.
build
());
}
else
{
rowDataBuilder
.
addBeforeColumns
(
columnBuilder
.
build
());
}
continue
;
}
FieldMeta
fieldMeta
=
null
;
if
(
tableMeta
!=
null
&&
!
tableError
)
{
// 处理file meta
fieldMeta
=
tableMeta
.
getFields
().
get
(
i
);
}
if
(
existRDSNoPrimaryKey
&&
i
==
columnCnt
-
1
&&
info
.
type
==
LogEvent
.
MYSQL_TYPE_LONGLONG
)
{
// 不解析最后一列
buffer
.
nextValue
(
fieldMeta
.
getColumnName
(),
i
,
info
.
type
,
info
.
meta
,
false
);
continue
;
}
if
(
fieldMeta
!=
null
&&
existOptionalMetaData
&&
tableMetaCache
.
isOnTSDB
())
{
// check column info
boolean
check
=
StringUtils
.
equalsIgnoreCase
(
fieldMeta
.
getColumnName
(),
info
.
name
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录