@@ -324,16 +324,19 @@ func (c *Canal) WaitUntilPos(pos mysql.Position, timeout time.Duration) error {
324324 }
325325}
326326
327- func ( c * Canal ) getShowBinaryLogQuery ( ) string {
328- switch c . cfg . Flavor {
327+ func getShowBinaryLogQuery ( flavor , serverVersion string ) string {
328+ switch flavor {
329329 case mysql .MariaDBFlavor :
330330 // Source: https://mariadb.com/kb/en/show-binlog-status/#:~:text=SHOW%20BINLOG%20STATUS%20%2D%2D-,From%20MariaDB%2010.5.2,-Description
331- if eq , err := c .conn .CompareServerVersion ("10.5.2" ); (err == nil ) && (eq >= 0 ) {
331+
332+ eq , err := mysql .CompareServerVersions (serverVersion , "10.5.2" )
333+ if (err == nil ) && (eq >= 0 ) {
332334 return "SHOW BINLOG STATUS"
333335 }
334336 case mysql .MySQLFlavor :
335337 // Source: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-0.html#:~:text=AND%20GTIDS)%3B-,SHOW%20MASTER%20STATUS,-(SHOW%20BINARY
336- if eq , err := c .conn .CompareServerVersion ("8.4.0" ); (err == nil ) && (eq >= 0 ) {
338+ eq , err := mysql .CompareServerVersions (serverVersion , "8.4.0" )
339+ if (err == nil ) && (eq >= 0 ) {
337340 return "SHOW BINARY LOG STATUS"
338341 }
339342 }
@@ -342,7 +345,7 @@ func (c *Canal) getShowBinaryLogQuery() string {
342345}
343346
344347func (c * Canal ) GetMasterPos () (mysql.Position , error ) {
345- query := c . getShowBinaryLogQuery ( )
348+ query := getShowBinaryLogQuery ( c . cfg . Flavor , c . conn . GetServerVersion () )
346349
347350 rr , err := c .Execute (query )
348351 if err != nil {
0 commit comments