mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
46fc864b90
Returned accidentally removed undefinition of MYSQL_SERVER in net_serv.cc inside embedded server (embedded server uses real_net_read/write only as a client) Prevented attempt to clean up embedded server if it was not initialized
78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
#include <mysql.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int get_evar(char **hostname, char **port, char** username, char ** password)
|
|
{
|
|
|
|
if (!((*hostname)= getenv("MYSQL_TEST_HOST")))
|
|
(*hostname)= (char *)"127.0.0.1";
|
|
|
|
if (!((*port)= getenv("MASTER_MYPORT")))
|
|
{
|
|
if (!((*port)= getenv("MYSQL_TEST_PORT")))
|
|
return 1;
|
|
}
|
|
|
|
if (!((*username)= getenv("MYSQL_TEST_USER")))
|
|
(*username)= (char *)"root";
|
|
|
|
if (!((*password)= getenv("MYSQL_TEST_PASSWD")))
|
|
(*password)= (char *)"";
|
|
|
|
return 0;
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
MYSQL *mysql;
|
|
char *host;
|
|
char *user;
|
|
char *passwd;
|
|
char *porta;
|
|
unsigned int port;
|
|
|
|
if (get_evar(&host, &porta, &user, &passwd))
|
|
{
|
|
printf("set environment variable MASTER_MYPORT\n");
|
|
return 1;
|
|
}
|
|
|
|
port = atoi(porta);
|
|
|
|
mysql_thread_init();
|
|
|
|
if (mysql_server_init(-1, NULL, NULL) != 0) {
|
|
printf("mysql_library_init failed");
|
|
return 1;
|
|
}
|
|
|
|
|
|
mysql = mysql_init(NULL);
|
|
|
|
if (!mysql) {
|
|
printf("mysql_init failed");
|
|
return 1;
|
|
}
|
|
|
|
if (mysql_options(mysql, MYSQL_OPT_USE_REMOTE_CONNECTION, NULL) != 0) {
|
|
printf("mysql_options MYSQL_OPT_USE_REMOTE_CONNECTION failed: %s\n", mysql_error(mysql));
|
|
return 1;
|
|
}
|
|
|
|
if (mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "utf8mb4") != 0) {
|
|
printf("mysql_options MYSQL_SET_CHARSET_NAME utf8mb4 failed: %s\n", mysql_error(mysql));
|
|
return 1;
|
|
}
|
|
|
|
if (!mysql_real_connect(mysql, host, user, passwd, NULL, port, NULL, CLIENT_FOUND_ROWS | CLIENT_MULTI_RESULTS | CLIENT_REMEMBER_OPTIONS)) {
|
|
printf("mysql_real_connect failed: %s\n", mysql_error(mysql));
|
|
return 1;
|
|
}
|
|
mysql_close(mysql);
|
|
mysql_thread_end();
|
|
mysql_library_end();
|
|
|
|
return 0;
|
|
|
|
}
|