Hi all, I am having a bit of trouble and I am hoping a seasoned MonetDB expert can lend some advice.
I am using the MAPI interface in my C/C++ application to talk to my MonetDB instance. I have a recursive INSERT INTO statement which populates the database, and it initially works pretty well.
However, as I populate more (past 200 inserts in my case), I get a MAPI error (exampled by: mapi_explain_result()):
MAPI = monetdb@localhost:50000 ACTION= mapi_start_talking ERROR = !Connection terminated
No real reason as to why. Has anyone seen this before?
My code:
MapiHdl query(Mapi dbh, char *q) { MapiHdl ret = NULL; if ((ret = mapi_query(dbh, q)) == NULL || mapi_error(dbh) != MOK) die(dbh, ret); return(ret); }
void update(Mapi dbh, char *q) { MapiHdl ret = query(dbh, q); if (mapi_close_handle(ret) != MOK) die(dbh, ret); }
void main() { dbh = mapi_connect("localhost", 50000, "monetdb", "monetdb", "sql", "dbname"); if (mapi_error(dbh)) { die(dbh, hdl); }
for (int i=0; i< 2500; i++) { char *p = INSERT_INTO_STATEMENT; update(dbh, p); }
}
Does anyone see any reason that the MAPI would choke mid way through the For loop?
Any help would be majorly appreciated. I am at a loss.
Cheers, Brett