From 895554dd21f63ddeec01e9485a24b9a1d7ad4da6 Mon Sep 17 00:00:00 2001 From: abdulrahim Umar Date: Tue, 25 Nov 2025 16:20:53 +0300 Subject: [PATCH 1/2] Detect FreeBSD in cpp_accelerated --- mysql_ch_replicator/pymysqlreplication/cpp_accelerated.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql_ch_replicator/pymysqlreplication/cpp_accelerated.py b/mysql_ch_replicator/pymysqlreplication/cpp_accelerated.py index 20c00b0..51a9dcf 100644 --- a/mysql_ch_replicator/pymysqlreplication/cpp_accelerated.py +++ b/mysql_ch_replicator/pymysqlreplication/cpp_accelerated.py @@ -11,6 +11,8 @@ if platform.system() == 'Darwin': FILE_PATH = f'{FILE_NAME}.dylib' +if platform.system() == 'FreeBSD': + FILE_PATH = f'{FILE_NAME}_bsd.so' if platform.system() == 'Linux': FILE_PATH = f'{FILE_NAME}.so' if platform.machine() == 'x86_64': From 1ec45a1628925ed34ae1be9702368de7a0327ea1 Mon Sep 17 00:00:00 2001 From: abdulrahim Umar Date: Tue, 25 Nov 2025 16:22:29 +0300 Subject: [PATCH 2/2] Add so module for FreeBSD --- .../pymysqlreplication/libmysqljsonparse_bsd.so | Bin 0 -> 20184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mysql_ch_replicator/pymysqlreplication/libmysqljsonparse_bsd.so diff --git a/mysql_ch_replicator/pymysqlreplication/libmysqljsonparse_bsd.so b/mysql_ch_replicator/pymysqlreplication/libmysqljsonparse_bsd.so new file mode 100644 index 0000000000000000000000000000000000000000..e499d2c1c42e9884181dc232070d8e779624f7bd GIT binary patch literal 20184 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 literal 0 HcmV?d00001