Skip to content

Commit 2bb57bb

Browse files
authored
Merge pull request #1385 from magicdoom/1.6
binlog value null and change to 1.6.5 beta
2 parents de2d150 + 1019d0c commit 2bb57bb

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>io.mycat</groupId>
66
<artifactId>Mycat-server</artifactId>
7-
<version>1.6.5-DEV</version>
7+
<version>1.6.5-BETA</version>
88
<packaging>jar</packaging>
99
<name>Mycat-server</name>
1010
<description>The project of Mycat-server</description>

src/main/java/io/mycat/migrate/BinlogStream.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -487,12 +487,18 @@ private void handleUpdateRowsEvent(Event event) {
487487
int column=includedColumnsBeforeUpdate.nextSetBit(i);
488488
Map<String, Object> coumnMap= xxx.get(column+1);
489489
sb.append(coumnMap.get("COLUMN_NAME"));
490-
sb.append("=");
491-
String dataType= (String) coumnMap.get("DATA_TYPE");
492-
sb.append(convertBinlogValue(key[i],dataType));
490+
Serializable value1 = key[i];
491+
if(value1==null){
492+
sb.append(" is null");
493+
} else {
494+
sb.append("=");
495+
String dataType = (String) coumnMap.get("DATA_TYPE");
496+
497+
sb.append(convertBinlogValue(value1, dataType));
498+
}
493499
String columnName= (String) coumnMap.get("COLUMN_NAME");
494500
if("_slot".equalsIgnoreCase(columnName)){
495-
slot= key[i] instanceof BigInteger?((BigInteger) key[i]).intValue():((Integer) key[i]);
501+
slot= value1 instanceof BigInteger?((BigInteger) value1).intValue():((Integer) value1);
496502
}
497503
if(i!=size-1){
498504
sb.append(" and ");
@@ -528,12 +534,18 @@ private void handleDeleteRowsEvent(Event event) {
528534
int column=inculudeColumn.nextSetBit(i);
529535
Map<String, Object> coumnMap= xxx.get(column+1);
530536
sb.append(coumnMap.get("COLUMN_NAME"));
531-
sb.append("=");
532-
String dataType= (String) coumnMap.get("DATA_TYPE");
533-
sb.append(convertBinlogValue(value[i],dataType));
537+
Serializable value1 = value[i];
538+
if(value1==null){
539+
sb.append(" is null");
540+
} else {
541+
sb.append("=");
542+
String dataType = (String) coumnMap.get("DATA_TYPE");
543+
544+
sb.append(convertBinlogValue(value1, dataType));
545+
}
534546
String columnName= (String) coumnMap.get("COLUMN_NAME");
535547
if("_slot".equalsIgnoreCase(columnName)){
536-
slot= value[i] instanceof BigInteger?((BigInteger) value[i]).intValue():((Integer) value[i]);
548+
slot= value1 instanceof BigInteger?((BigInteger) value1).intValue():((Integer) value1);
537549
}
538550
if(i!=size-1){
539551
sb.append(" and ");

0 commit comments

Comments
 (0)