muduo
muduo copied to clipboard
Add contrib/mariadbclient
MariaDB Async Client Using Non-blocking API
Reference: https://mariadb.com/kb/en/using-the-non-blocking-library/ https://github.com/MariaDB/server/blob/5.5/client/async_example.c https://github.com/MariaDB/server/blob/5.5/tests/async_queries.c https://mariadb.com/kb/en/non-blocking-api-reference/
Build: centos7-x86_64: yum install mariadb-devel mariadb-libs ubuntu14.04-x86_64: apt-get install libmariadbclient-dev ln -sf libmariadbclient.so libmysqlclient.so
Please fix travis-ci first, put apt-get install
in .travis.yml
.
Update:
-
zero copy MYSQL_RES: mysql_use_result, mysql_fetch_row_* -> mysql_store_result_* use new callback function: std::function<void(MariaDBClient*, MYSQL_RES*)>
-
change MariaDBClient to a single-threaded version (as Hiredis, Curl)
-
refactors
Test successfully with MariaDB-Server/MySQL-Server
ref: https://mariadb.com/kb/en/non-blocking-api-reference/ https://dev.mysql.com/doc/refman/5.7/en/mysql-store-result.html