21 #include "client_priv.h"
23 #include <boost/regex.hpp>
25 #include <client/server_detect.h>
27 ServerDetect::ServerDetect(drizzle_con_st *connection) :
28 type(SERVER_UNKNOWN_FOUND),
31 boost::match_flag_type flags = boost::match_default;
38 boost::regex mysql_regex(
"^([3-6]\\.[0-9]+\\.[0-9]+)");
39 boost::regex drizzle_regex7(
"^(20[0-9]{2}\\.(0[1-9]|1[012])\\.[0-9]+)");
40 boost::regex drizzle_regex71(
"^([7-9]\\.[0-9]+\\.[0-9]+)");
42 version= drizzle_con_server_version(connection);
44 if (regex_search(version, drizzle_regex7, flags))
46 type= SERVER_DRIZZLE_FOUND;
48 else if (regex_search(version, drizzle_regex71, flags))
50 type= SERVER_DRIZZLE_FOUND;
52 else if (regex_search(version, mysql_regex, flags))
54 type= SERVER_MYSQL_FOUND;
58 std::cerr <<
"Server version not detectable. Assuming MySQL." << std::endl;
59 type= SERVER_MYSQL_FOUND;