#ifdef _WINDOWS\r
#include <windows.h>\r
#define PACKAGE "mysqltcl"\r
- #define PACKAGE_VERSION "3.04"\r
+ #define PACKAGE_VERSION "3.051"\r
#endif\r
\r
#include <tcl.h>\r
"-multistatement","-multiresult",\r
#endif\r
"-localfiles","-ignorespace","-foundrows","-interactive","-sslkey","-sslcert",\r
- "-sslca","-sslcapath","-sslciphers",NULL\r
+ "-sslca","-sslcapath","-sslciphers","-reconnect", NULL\r
};\r
\r
static int Mysqltcl_Connect(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])\r
{\r
MysqltclState *statePtr = (MysqltclState *)clientData; \r
int i, idx;\r
+ int mysql_options_reconnect = 0;\r
char *hostname = NULL;\r
char *user = NULL;\r
char *password = NULL;\r
#endif\r
MYSQL_LOCALFILES_OPT,MYSQL_IGNORESPACE_OPT,\r
MYSQL_FOUNDROWS_OPT,MYSQL_INTERACTIVE_OPT,MYSQL_SSLKEY_OPT,MYSQL_SSLCERT_OPT,\r
- MYSQL_SSLCA_OPT,MYSQL_SSLCAPATH_OPT,MYSQL_SSLCIPHERS_OPT\r
+ MYSQL_SSLCA_OPT,MYSQL_SSLCAPATH_OPT,MYSQL_SSLCIPHERS_OPT, MYSQL_RECONNECT_OPT\r
};\r
\r
if (!(objc & 1) || \r
objc>(sizeof(MysqlConnectOpt)/sizeof(MysqlConnectOpt[0]-1)*2+1)) {\r
- Tcl_WrongNumArgs(interp, 1, objv, "[-user xxx] [-db mysql] [-port 3306] [-host localhost] [-socket sock] [-password pass] [-encoding encoding] [-ssl boolean] [-compress boolean] [-odbc boolean] [-noschema boolean]"\r
+ Tcl_WrongNumArgs(interp, 1, objv, "[-user xxx] [-db mysql] [-port 3306] [-host localhost] [-socket sock] [-password pass] [-encoding encoding] [-ssl boolean] [-compress boolean] [-odbc boolean] [-noschema boolean] [-reconnect boolean]"\r
);\r
return TCL_ERROR;\r
}\r
case MYSQL_SSLCIPHERS_OPT:\r
sslcipher = Tcl_GetStringFromObj(objv[++i],NULL);\r
break;\r
+ case MYSQL_RECONNECT_OPT:\r
+ if (Tcl_GetBooleanFromObj(interp,objv[++i],&booleanflag) != TCL_OK )\r
+ return TCL_ERROR;\r
+ if (booleanflag)\r
+ mysql_options_reconnect = 1;\r
+ break;\r
default:\r
return mysql_prim_confl(interp,objc,objv,"Weirdness in options"); \r
}\r
\r
/* the function below caused in version pre 3.23.50 segmentation fault */\r
#if (MYSQL_VERSION_ID>=32350)\r
+ if(mysql_options_reconnect)\r
+ {\r
+ my_bool reconnect = 1;\r
+ mysql_options(handle->connection, MYSQL_OPT_RECONNECT, &reconnect);\r
+ }\r
mysql_options(handle->connection,MYSQL_READ_DEFAULT_GROUP,groupname);\r
#endif\r
#if (MYSQL_VERSION_ID >= 40107)\r
#if (MYSQL_VERSION_ID >= 40107)\r
static CONST char* MysqlServerOpt[] =\r
{\r
- "-multi_statment_on", "-multi_statment_off",NULL\r
+ "-multi_statment_on", "-multi_statment_off", "-auto_reconnect_on", "-auto_reconnect_off", NULL\r
};\r
#endif\r
\r
{\r
return Mysqltcl_Init(interp);\r
}\r
+