假设我有一个 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;
那么很容易编写 ac/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++ 源代码。非常感谢!