doh!  need another redbull.  :)

----- Original Message ----- From: "Reggie Burnett" <[EMAIL PROTECTED]>
To: "'Jeremiah Gowdy'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <mysql@lists.mysql.com>
Sent: Friday, May 06, 2005 9:31 AM
Subject: RE: C API : Problem using multi-statements



Jeremiah

I don't use the client library in my work but this should work from 4.1 on.

-Reggie

-----Original Message-----
From: Jeremiah Gowdy [mailto:[EMAIL PROTECTED]
Sent: Friday, May 06, 2005 11:19 AM
To: [EMAIL PROTECTED]; mysql@lists.mysql.com
Subject: Re: C API : Problem using multi-statements

Answer is simple.  Can't do that.

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <mysql@lists.mysql.com>
Sent: Friday, May 06, 2005 5:40 AM
Subject: C API : Problem using multi-statements


Hello,

I have some problems using multiple queries in a databased driven project,
therefore I wrote a little testprogram which
causes the same problems.

I am using the C-API of MySQL 4.1.11 on a Gentoo Linux 3.3.2-r5,
propolice-3.3-7 with 2.4.27 kernel.
I connect to the server (on localhost) with mysql_real_connect and the flag
CLIENT_MULTI_STATEMENTS,
I submit multiple queries (two INSERTS seperated by ";") on the existing
connection.
Executing the multistatement with mysql_query in a loop (i.e. 10 times),
I get a lot of "lost connection during query" errors, but sending a single
INSERT query in a loop causes no errors !!!


Thanks in advance for help
regards Tinosch Ganjineh


The following program operates on a simple table structure created with the
following statement :
CREATE TABLE BIGTABLE (myoid char(40), mykey char(40), myval char(40), myint


bigint) TYPE = InnoDB;

/********************************** mysqltest.cpp
*************************************/
#include <iostream>
#include <mysql.h>
#include <sstream>
#include <string>

using namespace std;

string itos(long long i) {
ostringstream sstream;
sstream << i;
return sstream.str();
}

int main(int argc, char** argv) {
MYSQL* conn;
if(conn = mysql_init(NULL)) {
if(mysql_real_connect(conn, "localhost", "root", "xxxxx", "test", 0, NULL,
CLIENT_MULTI_STATEMENTS )) {
int loop=100;
for(int i=0; i<loop; ++i) {
int e=0;
string query;
query = string("INSERT INTO BIGTABLE VALUES (") + "'object-" +itos(i)+"',
'foo', 'bar', NULL);\
INSERT INTO BIGTABLE VALUES (" + "'object-" +itos(i+1000)+"', 'bar, 'foo',
NULL)";
e = mysql_query(conn, query.c_str());
if(e) {
cerr << "*********Query failed*****: " << e << " - " << mysql_error(conn) <<


endl;
} else {
MYSQL_RES* result = mysql_store_result(conn);
if(result) {
// .. parse result set ...
} else {
//cerr << "Could not fetch Results from DB: " << mysql_error(conn);
}
mysql_free_result(result);
}
}
} else {
cerr << "Could not connect to MySQL database: " << mysql_error(conn) <<
endl;
}
} else {
cerr << "Could not initialize MySQL: " << mysql_error(conn) << endl;
}
}
/********************************** mysqltest.cpp
*************************************/

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to