Files
MaxScale/maxscale-system-test/mxs682_cyrillic.cpp
2018-10-02 10:18:09 +03:00

56 lines
1.5 KiB
C++

/**
* @file mxs682_cyrillic.cpp put cyrillic letters to the table
* - put string with Cyrillic into table
* - check SELECT from backend
*/
#include "testconnections.h"
void check_val(MYSQL* conn, TestConnections& test)
{
char val[256] = "<failed to read value>";
test.set_timeout(30);
find_field(conn, "SELECT * FROM t2", "x", val);
test.tprintf("result: %s\n", val);
test.add_result(strcmp("Кот", val) != 0, "Wrong SELECT result: %s\n", val);
test.stop_timeout();
}
int main(int argc, char* argv[])
{
TestConnections test(argc, argv);
Mariadb_nodes* nodes = strstr(test.test_name, "galera") ? test.galera : test.repl;
test.set_timeout(60);
test.maxscales->connect();
auto conn = test.maxscales->conn_rwsplit[0];
execute_query_silent(conn, "DROP TABLE t2;");
test.try_query(conn, "CREATE TABLE t2 (x varchar(10));");
test.try_query(conn, "INSERT INTO t2 VALUES (\"Кот\");");
test.maxscales->disconnect();
test.stop_timeout();
test.repl->connect();
test.repl->sync_slaves();
test.repl->disconnect();
test.set_timeout(60);
test.maxscales->connect();
check_val(test.maxscales->conn_rwsplit[0], test);
check_val(test.maxscales->conn_master[0], test);
check_val(test.maxscales->conn_slave[0], test);
test.maxscales->disconnect();
nodes->connect();
for (int i = 0; i < test.repl->N; i++)
{
check_val(nodes->nodes[i], test);
}
nodes->disconnect();
return test.global_result;
}