Skip to content

Commit db3a786

Browse files
committed
Make mariadb_slave_capability configurable
1 parent aa0bde1 commit db3a786

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/main/java/com/github/shyiko/mysql/binlog/BinaryLogClient.java

+19-2
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import java.util.Collections;
7575
import java.util.LinkedList;
7676
import java.util.List;
77-
import java.util.Locale;
7877
import java.util.concurrent.Callable;
7978
import java.util.concurrent.CopyOnWriteArrayList;
8079
import java.util.concurrent.CountDownLatch;
@@ -177,6 +176,7 @@ public X509Certificate[] getAcceptedIssuers() {
177176

178177

179178
private Boolean isMariaDB;
179+
private int mariaDbSlaveCapability = 4;
180180

181181
/**
182182
* Alias for BinaryLogClient("localhost", 3306, <no schema> = null, username, password).
@@ -537,6 +537,23 @@ public boolean isUseSendAnnotateRowsEvent() {
537537
public void setUseSendAnnotateRowsEvent(boolean useSendAnnotateRowsEvent) {
538538
this.useSendAnnotateRowsEvent = useSendAnnotateRowsEvent;
539539
}
540+
541+
/**
542+
* @return the configured MariaDB slave compatibility level, defaults to 4.
543+
*/
544+
public int getMariaDbSlaveCapability() {
545+
return mariaDbSlaveCapability;
546+
}
547+
548+
/**
549+
* Set the client's MariaDB slave compatibility level. This only applies when connecting to MariaDB.
550+
*
551+
* @param mariaDbSlaveCapability the expected compatibility level
552+
*/
553+
public void setMariaDbSlaveCapability(int mariaDbSlaveCapability) {
554+
this.mariaDbSlaveCapability = mariaDbSlaveCapability;
555+
}
556+
540557
/**
541558
* Connect to the replication stream. Note that this method blocks until disconnected.
542559
* @throws AuthenticationException if authentication fails
@@ -792,7 +809,7 @@ protected void requestBinaryLogStreamMaria(long serverId) throws IOException {
792809
/*
793810
https://jira.mariadb.org/browse/MDEV-225
794811
*/
795-
channel.write(new QueryCommand("SET @mariadb_slave_capability=4"));
812+
channel.write(new QueryCommand("SET @mariadb_slave_capability=" + mariaDbSlaveCapability));
796813
checkError(channel.read());
797814

798815
synchronized (gtidSetAccessLock) {

0 commit comments

Comments
 (0)