From 351e031d42456a20a33de613e7a5f1ee11a846df Mon Sep 17 00:00:00 2001
From: Dennis Urtubia <dennis.urtubia@gmail.com>
Date: Thu, 30 May 2024 09:33:53 -0300
Subject: [PATCH] feat: adds support for mariadb show binlog status statement

---
 changelogs/fragments/get_primary_show_binary_log_status.yml | 2 +-
 plugins/modules/mysql_replication.py                        | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/changelogs/fragments/get_primary_show_binary_log_status.yml b/changelogs/fragments/get_primary_show_binary_log_status.yml
index 6df4764..8757aa1 100644
--- a/changelogs/fragments/get_primary_show_binary_log_status.yml
+++ b/changelogs/fragments/get_primary_show_binary_log_status.yml
@@ -1,4 +1,4 @@
 ---
 minor_changes:
 
-  - mysql_replication - Adds support for `SHOW BINARY LOG STATUS` on getprimary mode.
+  - mysql_replication - Adds support for `SHOW BINARY LOG STATUS` and `SHOW BINLOG STATUS` on getprimary mode.
diff --git a/plugins/modules/mysql_replication.py b/plugins/modules/mysql_replication.py
index 398b0f8..4f668f2 100644
--- a/plugins/modules/mysql_replication.py
+++ b/plugins/modules/mysql_replication.py
@@ -316,9 +316,13 @@ def get_primary_status(cursor):
     term = "MASTER"
 
     version = get_server_version(cursor)
-    if get_server_implementation(cursor) == "mysql" and LooseVersion(version) >= LooseVersion("8.2.0"):
+    server_implementation = get_server_implementation(cursor)
+    if server_implementation == "mysql" and LooseVersion(version) >= LooseVersion("8.2.0"):
         term = "BINARY LOG"
 
+    if server_implementation == "mariadb" and LooseVersion(version) >= LooseVersion("10.5.2"):
+        term = "BINLOG"
+
     cursor.execute("SHOW %s STATUS" % term)
 
     primarystatus = cursor.fetchone()