mariadb/tests/ssl_test.c
unknown 40c2a8870b Changing the default of libmysqlclient : it's now NO reconnection.
All our programs which use mysql_real_connect() and mysql_connect() are updated accordingly, though I have deliberately
made mysqlimport not reconnect anymore (already true for mysqldump >= 4.1.8).
All Connector devs have been warned about the change I'm doing here - which was agreed with Monty,
and fixes BUG#2555.


VC++Files/libmysqltest/mytest.c:
  explicit mention of reconnect (no behaviour change)
VC++Files/mysqlmanager/mysqlmanagerview.cpp:
  explicit mention of reconnect (no behaviour change)
VC++Files/test1/mysql_thr.c:
  explicit mention of reconnect (no behaviour change)
VC++Files/winmysqladmin/main.cpp:
  explicit mention of reconnect (no behaviour change)
client/mysql.cc:
  explicit mention of reconnect if embedded (no behaviour change)
client/mysqladmin.cc:
  explicit mention of reconnect (no behaviour change)
client/mysqlbinlog.cc:
  explicit mention of reconnect (no behaviour change)
client/mysqlcheck.c:
  explicit mention of reconnect (no behaviour change)
client/mysqlimport.c:
  explicit mention of NO reconnect (behaviour change). As most time is passed in LOAD DATA INFILE,
  and as it does not make sense to reconnect after a partly failed LOAD... And as mysqlimport sometimes
  does LOCK TABLES where we mustn't reconnect...
client/mysqlshow.c:
  explicit mention of reconnect (no behaviour change)
client/mysqltest.c:
  explicit mention of reconnect (no behaviour change).
  Normally we should not reconnect (it's not good to have silent reconnection in the middle of a test),
  but 5.0 is too touchy to change it now. I'm marking it TODO.
libmysql/libmysql.c:
  explicit mention of reconnect (no behaviour change)
libmysqld/examples/builder-sample/emb_samples.cpp:
  explicit mention of reconnect (no behaviour change)
ndb/test/ndbapi/flex_bench_mysql.cpp:
  explicit mention of reconnect (no behaviour change)
ndb/tools/restore/consumer_restorem.cpp:
  explicit mention of reconnect (no behaviour change)
sql-common/client.c:
  Changing the default of libmysqlclient : it's now NO reconnection.
sql/repl_failsafe.cc:
  explicit mention of reconnect (no behaviour change)
sql/slave.cc:
  explicit mention of reconnect (no behaviour change)
tests/client_test.c:
  explicit mention of reconnect (no behaviour change)
tests/connect_test.c:
  explicit mention of reconnect (no behaviour change)
tests/deadlock_test.c:
  explicit mention of reconnect (no behaviour change)
tests/insert_test.c:
  explicit mention of reconnect (no behaviour change)
tests/list_test.c:
  explicit mention of reconnect (no behaviour change)
tests/select_test.c:
  explicit mention of reconnect (no behaviour change)
tests/showdb_test.c:
  explicit mention of reconnect (no behaviour change)
tests/ssl_test.c:
  explicit mention of reconnect (no behaviour change)
tests/thread_test.c:
  explicit mention of reconnect (no behaviour change)
tools/mysqlmanager.c:
  explicit mention of reconnect (no behaviour change)
2004-12-09 14:44:10 +01:00

83 lines
2.2 KiB
C

/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifdef __WIN__
#include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include "mysql.h"
#include "config.h"
#define SELECT_QUERY "select name from test where num = %d"
int main(int argc, char **argv)
{
#ifdef HAVE_OPENSSL
int count, num;
MYSQL mysql,*sock;
MYSQL_RES *res;
char qbuf[160];
if (argc != 3)
{
fprintf(stderr,"usage : ssl_test <dbname> <num>\n\n");
exit(1);
}
mysql_init(&mysql);
#ifdef HAVE_OPENSSL
mysql_ssl_set(&mysql,"../SSL/MySQL-client-key.pem",
"../SSL/MySQL-client-cert.pem",
"../SSL/MySQL-ca-cert.pem", 0, 0);
#endif
if (!(sock = mysql_real_connect(&mysql,"127.0.0.1",0,0,argv[1],3306,NULL,0)))
{
fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql));
perror("");
exit(1);
}
mysql.reconnect= 1;
count = 0;
num = atoi(argv[2]);
while (count < num)
{
sprintf(qbuf,SELECT_QUERY,count);
if(mysql_query(sock,qbuf))
{
fprintf(stderr,"Query failed (%s)\n",mysql_error(sock));
exit(1);
}
if (!(res=mysql_store_result(sock)))
{
fprintf(stderr,"Couldn't get result from query failed (%s)\n",
mysql_error(sock));
exit(1);
}
#ifdef TEST
printf("number of fields: %d\n",mysql_num_fields(res));
#endif
mysql_free_result(res);
count++;
}
mysql_close(sock);
#else /* HAVE_OPENSSL */
printf("ssl_test: SSL not configured.\n");
#endif /* HAVE_OPENSSL */
exit(0);
return 0; /* Keep some compilers happy */
}