0

假设我有一个 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++ 源代码。非常感谢!

4

0 回答 0