MySQL Lists are EOL. Please join:

List:General Discussion« Previous MessageNext Message »
From:Daniel Wetzler Date:January 15 2003 12:49pm
Subject:Re: Problem using the C-API for MySQL Program breakdown after about
1 Mio SQL-statements
View as plain text  
Thanks for your advice.
I tried it with the higher value (3M) but the program broke down
like before.
I increased the other buffer values too after that and am
testing now if this helps.

Greetings,

Daniel




Gelu Gogancea wrote:
> Hi,
> Maybe it's a good ideea to increase the value of max_allowed_packet(from
> my.cnf configuration file) to 2M.By default is 1MB.
> 
> Regards,
> 
> Gelu
> _____________________________________________________
> G.NET SOFTWARE COMPANY
> 
> Permanent e-mail address : gg@stripped
>                                           gelugogancea@stripped
> ----- Original Message -----
> From: "Daniel Wetzler" <Daniel.Wetzler@stripped>
> To: "MySQL Mailing Liste" <mysql@stripped>
> Sent: Wednesday, January 15, 2003 11:54 AM
> Subject: Problem using the C-API for MySQL Program breakdown after about 1
> Mio SQL-statements
> 
> 
> 
>>Hallo,
>>
>>I apologize for my bad english.
>>Im desperate about the followwing problem :
>>
>>I'm using the MySQL C-API for accesssing a database with about 1.2 Mio
>>SQL-Statemants.
>>Therefor I make a connect to the database and after that a loop
>>starts a Subprogram about 1.2 Mio times in which a SQL-statement is sent
>>to the database. My problem is that the program breaks down after about
>>1 Mio iterations with a Bus error and Segmentation fault.
>>If I analyse the core dump with a debugger I get the following statements
> 
> :
> 
>>The program breaks down at line :
>>
>>if (mysql_query(mysql2, abfrage)) {
>>printf ("Fehler bei der Abfrage ! Fehler : %s \n %s \n",
>>mysql_error(mysql2), abfrage);
>>exit(1);
>>
>>
>>
>>Program terminated with signal 10, Bus Error.
>>#0  0xff35a90c in vio_is_blocking () from
>>/usr/local/mysql/lib/mysql/libmysqlclient.so.10
>>(gdb) up
>>#1  0xff35a4e0 in net_clear () from
>>/usr/local/mysql/lib/mysql/libmysqlclient.so.10
>>(gdb) up
>>#2  0xff356abc in simple_command () from
>>/usr/local/mysql/lib/mysql/libmysqlclient.so.10
>>(gdb) up
>>#3  0xff3594e8 in mysql_real_query () from
>>/usr/local/mysql/lib/mysql/libmysqlclient.so.10
>>(gdb) up
>>#4  0x11728 in read_coor (i=1065778) at nclu-datenbank.c:279
>>(gdb) up
>>
>>
>>I checked the SQL statement which is sent at that time an it is ok
>>and leads to suitable result.
>>
>>
>>
>>Does any one have an idea why my program breaks down ?
>>
>>
>>Greetings,
>>
>>
>>Daniel
>>
>>
>>
>>
>>
>>
>>
>>
>>P.S :
>>
>>
>>Here is my code for accessing the database :
>>
>>
>>(some code............. )
>>
>>  mysql2 = mysql_init(NULL);
>>
>>     if (mysql2 == NULL){
>>       printf ("mysql_init() fehlgeschlagen (kein Speicher ?)\n");
>>       exit (1);
>>     }
>>
>>     if (mysql_real_connect( mysql2, def_host_name, def_user_name,
>>def_password, def_db_name, 0, NULL, 0) == NULL){
>>       printf("Datenbankverbindung hat nicht geklappt.\n");
>>     }
>>     printf ("Datenbankverbindung 1 ok\n");
>>
>>
>>     while(ergebnisarray[zaehler] != NULL) {
>>       /*printf ("zahl = %i\n", ergebnisarray[zaehler]);*/
>>
>>       j=read_coor(ergebnisarray[zaehler]);
>>/* This is my fuction which sends the SQL-statements accessed 1.2 Mio
>>times */
>>       zaehler++;
>>
>>     }
>>
>>mysql_close(mysql2);
>>
>>
>>
>>(some code....................)
>>
>>
>>
>>
>>
>>In my function I access the database with the following lines :
>>
>>
>>
>>
>>(some code)..................
>>
>>
>>   for (seglaengenzaehler = 1; seglaengenzaehler <= seglength;
>>seglaengenzaehler ++) {
>>
>>     sprintf (abfrage, "select xkoor, ykoor, zkoor, id from %iloop inner
>>join pdbmolekuel on m%i=molekuelnr inner join pdbatom on molekuelnr =
>>molekuelzuordnung where loopnummer = %i", seglength, seglaengenzaehler,
> 
> i);
> 
>>
>>       if (mysql_query(mysql2, abfrage)) {
>>printf ("Fehler bei der Abfrage ! Fehler : %s \n %s \n",
>>mysql_error(mysql2), abfrage);
>>exit(1);
>>       }
>>       else {
>>ergebnis = mysql_use_result(mysql2);
>>       }
>>     }
>>
>>     if (ergebnis == NULL) {
>>       printf ("Fehler beim show tables !\n Fehler : %s ",
>>mysql_error(mysql2));
>>     }
>>     else {
>>       /*printf ("Alles in Ordnung !\n");*/
>>
>>       while((myzeile = mysql_fetch_row(ergebnis)))
>>{
>>
>>  if ( strcmp(myzeile[3],"CA")==0 || strcmp(myzeile[3],"N") == 0 ||
>>strcmp(myzeile[3],"C") == 0 ||
>>       strcmp(myzeile[3],"O") == 0)
>>    {
>>// Es werden nur die Atome CA, N, C und O beachtet
>>
>>coor[j] = atof(myzeile[0]);
>>coor[j+1] = atof(myzeile[1]);
>>coor[j+2] = atof(myzeile[2]);
>>j += 3;
>>
>>    }
>>}
>>       mysql_free_result (ergebnis);
>>     }
>>     resno = j/12;
>>   }
>>
>>
>>
>>(some code)................
>>
>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>Before posting, please check:
>>   http://www.mysql.com/manual.php   (the manual)
>>   http://lists.mysql.com/           (the list archive)
>>
>>To request this thread, e-mail <mysql-thread130000@stripped>
>>To unsubscribe, e-mail <mysql-unsubscribe-ggelu=arctic.ro@stripped>
>>Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
> 
> To request this thread, e-mail <mysql-thread130004@stripped>
> To unsubscribe, e-mail <mysql-unsubscribe-akd33=uni-koeln.de@stripped>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
> 
> 



Thread
Problem using the C-API for MySQL Program breakdown after about 1Mio SQL-statementsDaniel Wetzler15 Jan
  • Re: Problem using the C-API for MySQL Program breakdown after about 1 Mio SQL-statementsGelu Gogancea15 Jan
  • Re: Problem using the C-API for MySQL Program breakdown after about1 Mio SQL-statementsDaniel Wetzler15 Jan