Предполагается, что у меня есть тестовый пример MySQL mytest.test. Вот его содержание:
use test;
create table t(id int, name varchar(25)) engine = falcon;
insert into t values(1, "John");
insert into t values(2, "Edward");
drop table t;
Что ж, легко написать исходный файл на языке c / c ++, чтобы сделать то, что делает тестовый пример. Вот источник c / c ++:
#include <stdio.h>
#include <mysql.h>
int main(int argc, char** argv){
MYSQL conn;
mysql_init(&conn);
mysql_real_connect(&conn,xxx,...);
mysql_query(&conn, "create table t(id int, name varchar(25)) engine = falcon");
mysql_query(&conn, "insert into t values(1, 'John')");
mysql_query(&conn, "insert into t values(2, 'Edward')");
mysql_query(&conn, "drop table t");
mysql_close(&conn);
}
Однако теперь у меня есть интересный тестовый пример для MySQL. Это что-то вроде этого:
--source include/have_falcon.inc
let $engine = 'Falcon';
eval SET @@storage_engine = $engine;
--disable_warnings
DROP TABLE IF EXISTS t;
--enable_warnings
CREATE TABLE t(i int);
connect (conn1,localhost,root,,);
let $num=1000000;
while ($num)
{
connection conn1;
--send insert into t values(1);
connection default;
--send truncate table t;
connection conn1;
--reap
connection default;
--reap
dec $num;
}
DROP TABLE t;
Как видите, есть несколько странных символов, таких как «соединение по умолчанию», «—send» и «—reap». Я не знаю, каков соответствующий исходный код на языке c / c ++. Так есть ли кто-нибудь может сказать мне, как преобразовать их в правильный исходный код C / C ++. Большое спасибо!
Задача ещё не решена.
Других решений пока нет …