SOURCES: mysqlcc-reconnect.patch - fix
arekm
arekm at pld-linux.org
Wed Feb 15 10:41:36 CET 2006
Author: arekm Date: Wed Feb 15 09:41:36 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- fix
---- Files affected:
SOURCES:
mysqlcc-reconnect.patch (1.4 -> 1.5)
---- Diffs:
================================================================
Index: SOURCES/mysqlcc-reconnect.patch
diff -u SOURCES/mysqlcc-reconnect.patch:1.4 SOURCES/mysqlcc-reconnect.patch:1.5
--- SOURCES/mysqlcc-reconnect.patch:1.4 Wed Feb 15 10:37:28 2006
+++ SOURCES/mysqlcc-reconnect.patch Wed Feb 15 10:41:31 2006
@@ -192,668 +192,4 @@
else
return 0;
}
-diff -urN mysqlcc-0.9.4-src.org/shared/src/CMySQL.cpp.orig mysqlcc-0.9.4-src/shared/src/CMySQL.cpp.orig
---- mysqlcc-0.9.4-src.org/shared/src/CMySQL.cpp.orig 1970-01-01 01:00:00.000000000 +0100
-+++ mysqlcc-0.9.4-src/shared/src/CMySQL.cpp.orig 2003-12-14 00:10:44.000000000 +0100
-@@ -0,0 +1,661 @@
-+/* Copyright (C) 2003 MySQL AB & Jorge del Conde
-+
-+ This program is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Library 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
-+ Library General Public License for more details.
-+
-+ You should have received a copy of the GNU Library General Public
-+ License along with this library; if not, write to the Free
-+ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-+ MA 02111-1307, USA
-+*/
-+#include "CMySQL.h"
-+#include "CMySQLQuery.h"
-+#include "shared.h"
-+#include <qregexp.h>
-+#include <qapplication.h>
-+
-+#ifdef HAVE_MYSQLCC_CONFIG
-+
-+#include "config.h" //Used for DEBUG & DEBUG_LEVEL
-+
-+#ifdef DEBUG_LEVEL
-+#if DEBUG_LEVEL < 4
-+#undef DEBUG
-+#endif
-+#else
-+#ifdef DEBUG
-+#undef DEBUG
-+#endif
-+#endif
-+
-+#endif //HAVE_MYSQLCC_CONFIG
-+
-+/*
-+CMySQL is the base class for handling mysql conectivity and administration. It does not handle things having to
-+do with queries.
-+*/
-+
-+CMySQL::CMySQL()
-+: QObject(0, "CMySQL")
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::CMySQL()");
-+#endif
-+
-+ init();
-+}
-+
-+CMySQL::CMySQL(const QString & h, const QString &u, const QString &pass, const QString &d, uint p, const QString &u_s)
-+: QObject(0, "CMySQL"), mysql_host(h), mysql_user(u), mysql_passwd(pass), mysql_db(d), mysql_port(p), mysql_unix_socket(u_s)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::CMySQL()");
-+#endif
-+
-+ init();
-+}
-+
-+void CMySQL::init()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::init()");
-+#endif
-+
-+ mysql = 0;
-+ textcodec = 0;
-+ mysql_client_flags = 0;
-+ mysql_client_ssl = false;
-+ mysql_opt_compress = false;
-+ mysql_opt_timeout = 0;
-+ mysql_opt_select_limit = 1000;
-+ mysql_opt_net_buffer_length = 16384;
-+ mysql_opt_max_join_size = 1000000L;
-+ mysql_opt_max_allowed_packet = 16*1024L*1024L;
-+ mysql_opt_load_local_infile = false;
-+ emiterror = true;
-+ emitmessages = true;
-+ blocking_queries = false;
-+ isconnected = false;
-+ initServerVersion();
-+}
-+
-+
-+
-+CMySQL::~CMySQL()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::~CMySQL()");
-+#endif
-+
-+ disconnect();
-+}
-+
-+
-+bool CMySQL::isConnected() const
-+{
-+ return isconnected && (mysql != 0);
-+}
-+
-+
-+/*
-+setCompress() handles the client/server compression protocol.
-+*/
-+void CMySQL::setCompress(bool b)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::setCompress()");
-+#endif
-+
-+ if (isConnected())
-+ return;
-+
-+ mysql_opt_compress = b;
-+}
-+
-+
-+/*
-+setSSL() handles the use of SSL (encrypted) protocol.
-+*/
-+void CMySQL::setSSL(bool b)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::setSSL()");
-+#endif
-+
-+ if (isConnected())
-+ return;
-+
-+ mysql_client_ssl = b;
-+}
-+
-+/*
-+diconnect() closes a mysql connection if it has previously been connected.
-+*/
-+void CMySQL::disconnect(bool e)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::disconnect()");
-+#endif
-+
-+ if (isconnected)
-+ {
-+ if (mysql != 0)
-+ mysql_close(mysql);
-+ mysql = 0;
-+ isconnected = false;
-+ initServerVersion();
-+ if (e)
-+ emit disconnected();
-+ }
-+}
-+
-+/*
-+connect() creates a connection to a mysql server.
-+*/
-+bool CMySQL::connect()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::connect()");
-+#endif
-+
-+ char init_command[100];
-+ if (isConnected())
-+ disconnect();
-+
-+ mysql = mysql_init(0);
-+
-+ if (mysql_opt_compress)
-+ {
-+ mysql_options(mysql, MYSQL_OPT_COMPRESS,0);
-+ mysql_client_flags |= CLIENT_COMPRESS;
-+ }
-+
-+ if (mysql_opt_timeout)
-+ mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, (char*) &mysql_opt_timeout);
-+
-+ if (mysql_opt_load_local_infile)
-+ mysql_options(mysql, MYSQL_OPT_LOCAL_INFILE, mysql_opt_load_local_infile ? 0 : (char*) &mysql_opt_load_local_infile);
-+
-+ if (mysql_opt_select_limit > 0)
-+ {
-+ if (mysql_opt_max_join_size > 0)
-+ sprintf(init_command, "SET SQL_SELECT_LIMIT=%lu,SQL_MAX_JOIN_SIZE=%lu", mysql_opt_select_limit, mysql_opt_max_join_size);
-+ else
-+ sprintf(init_command, "SET SQL_SELECT_LIMIT=%lu", mysql_opt_select_limit);
-+ }
-+ else
-+ if (mysql_opt_max_join_size > 0)
-+ sprintf(init_command, "SET SQL_MAX_JOIN_SIZE=%lu", mysql_opt_max_join_size);
-+ else
-+ sprintf(init_command, "SET SQL_BIG_SELECTS=1");
-+
-+ mysql_options(mysql, MYSQL_INIT_COMMAND, init_command);
-+
-+/*
-+ mysql->options.max_allowed_packet = mysql_opt_max_allowed_packet;
-+ net_buffer_length = mysql_opt_net_buffer_length;
-+*/
-+
-+ if (mysql_client_ssl)
-+ mysql_client_flags |= CLIENT_SSL;
-+
-+#ifndef WIN32
-+ if (!mysql_unix_socket.isEmpty()) //Set options to use a Unix Socket file instead of TCP/IP
-+ {
-+ mysql_port = 0;
-+ mysql_host = QString::null;
-+ }
-+ else
-+#endif
-+ mysql_unix_socket = QString::null;
-+ if (!mysql_real_connect(mysql, mysql_host, mysql_user, mysql_passwd, mysql_db, mysql_port, mysql_unix_socket, mysql_client_flags))
-+ {
-+ disconnect(false);
-+ if (emiterror)
-+ emitError();
-+ }
-+ else
-+ {
-+ isconnected = true;
-+ textcodec = QTextCodec::codecForName(mysqlGetCharsetName(), 2);
-+ initServerVersion();
-+ emit connected();
-+ }
-+
-+ return isconnected;
-+}
-+
-+
-+void CMySQL::emitMessage(ushort type, const QString &msg)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQLQuery::emitError()");
-+#endif
-+
-+ emit message(type, codec()->fromUnicode(msg));
-+}
-+
-+
-+void CMySQL::emitError()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQLQuery::emitError()");
-+#endif
-+
-+ emit error(mysqlErrno(), codec()->fromUnicode(mysqlError()));
-+}
-+
-+/*
-+quote() adds single quotes at the begining and end of [s]. If the server is older than 3.22 then the
-+original string is returned (without quotes). The same happens if the server is not connected.
-+*/
-+QString CMySQL::quote(const QString &s) const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::quote()");
-+#endif
-+
-+ if (!isConnected())
-+ return s;
-+ return (version().major <= 3 && version().minor <= 22 ? s : "`" + s + "`");
-+}
-+
-+/*
-+mysqlAffectedRows() is a wrapper for mysql_affected_rows(). See the MySQL API documentation for further information.
-+*/
-+ulong CMySQL::mysqlAffectedRows() const
-+{
-+ if (!isConnected())
-+ return 0;
-+ else
-+ return mysql_affected_rows(mysql);
-+}
-+
-+/*
-+mysqlInsertID() is a wrapper for mysql_insert_id(). See the MySQL API documentation for further information.
-+*/
-+ulong CMySQL::mysqlInsertID() const
-+{
-+ if (!isConnected())
-+ return 0;
-+ else
-+ return mysql_insert_id(mysql);
-+}
-+
-+
-+/*
-+mysqlSelectDb() is a wrapper for mysql_select_db(). See the MySQL API documentation for further information.
-+*/
-+bool CMySQL::mysqlSelectDb(const QString & dbname)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::quote()");
-+#endif
-+
-+ if (!isConnected())
-+ return false;
-+
-+ if (mysql_select_db(mysql, dbname) != 0)
-+ {
-+ if (emiterror)
-+ emitError();
-+ return false;
-+ }
-+ else
-+ setDatabaseName(dbname);
-+ return true;
-+}
-+
-+
-+/*
-+uptime() returns how long the mysql server has been running for since the last shutdown.
-+*/
-+QString CMySQL::uptime()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::uptime()");
-+#endif
-+
-+
-+ if (!isConnected() || (version().major <= 3 && version().minor <= 22))
-+ return QString::null;
-+
-+ QString ret = QString::null;
-+ CMySQLQuery *qry = new CMySQLQuery(this);
-+ qry->setEmitMessages(false);
-+
-+ if (qry->exec("SHOW STATUS LIKE 'Uptime'"))
-+ if (qry->next())
-+ ret = nice_time(QString(qry->row(1)).toULong());
-+ delete qry;
-+ return ret;
-+}
-+
-+
-+/*
-+getRealDatabaseName() returns the current MySQL Database or QString::null if there isn't one.
-+The difference between this function and databaseName() is that this one queries mysql for the
-+current database.
-+*/
-+QString CMySQL::realDatabaseName()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::realDatabaseName())");
-+#endif
-+
-+ if (!isConnected())
-+ return QString::null;
-+
-+ QString ret = QString::null;
-+ CMySQLQuery *qry = new CMySQLQuery(this);
-+ qry->setEmitMessages(false);
-+ if (qry->exec("SELECT database()"))
-+ if (qry->next())
-+ ret = qry->row(0);
-+ delete qry;
-+ return ret;
-+}
-+
-+/*
-+mysqlErrno() is a wrapper for mysql_errno(). See the MySQL API documentation for further information.
-+*/
-+uint CMySQL::mysqlErrno() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlErrno()");
-+#endif
-+
-+ if (mysql != 0)
-+ return mysql_errno(mysql);
-+ else
-+ return 0;
-+}
-+
-+
-+/*
-+mysqlError() is a wrapper for mysql_error(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlError() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlError()");
-+#endif
-+
-+ if (mysql != 0)
-+ return mysql_error(mysql);
-+ else
-+ return tr("Unspecified MySQL Error");
-+}
-+
-+
-+/*
-+mysqlPing() is a wrapper for mysql_ping(). See the MySQL API documentation for further information.
-+*/
-+bool CMySQL::mysqlPing()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlPing()");
-+#endif
-+
-+ if (!isConnected())
-+ return false;
-+
-+ if (mysql_ping(mysql) != 0)
-+ {
-+ if (emiterror)
-+ emitError();
-+ return false;
-+ }
-+ return true;
-+}
-+
-+
-+/*
-+mysqlErrno() is a wrapper for mysql_kill(). See the MySQL API documentation for further information.
-+*/
-+bool CMySQL::mysqlKill(ulong pid)
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlKill()");
-+#endif
-+
-+ if (!isConnected())
-+ return false;
-+
-+ if (mysql_kill(mysql, pid) != 0)
-+ {
-+ if (emiterror)
-+ emitError();
-+ return false;
-+ }
-+ return true;
-+}
-+
-+
-+/*
-+mysqlShutdown() is a wrapper for mysql_shutdown(). See the MySQL API documentation for further information.
-+*/
-+bool CMySQL::mysqlShutdown()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlShutdown()");
-+#endif
-+
-+ if (!isConnected())
-+ return false;
-+
-+ if (mysql_shutdown(mysql) != 0)
-+ {
-+ if (emiterror)
-+ emitError();
-+ return false;
-+ }
-+ return true;
-+}
-+
-+/*
-+mysqlInfo() is a wrapper for mysql_info(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlInfo() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlInfo()");
-+#endif
-+
-+ if (isConnected())
-+ return mysql_info(mysql);
-+ else
-+ return QString::null;
-+}
-+
-+/*
-+mysqlGetClientInfo() is a wrapper for mysql_get_client_info(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlGetClientInfo() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlGetClientInfo()");
-+#endif
-+
-+ return mysql_get_client_info();
-+}
-+
-+
-+/*
-+mysqlGetHostInfo() is a wrapper for mysql_get_host_info(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlGetHostInfo() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlGetHostInfo()");
-+#endif
-+
-+ if (isConnected())
-+ return mysql_get_host_info(mysql);
-+ else
-+ return QString::null;
-+}
-+
-+/*
-+mysqlGetProtoInfo() is a wrapper for mysql_get_proto_info(). See the MySQL API documentation for further information.
-+*/
-+uint CMySQL::mysqlGetProtoInfo() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlGetProtoInfo()");
-+#endif
-+
-+ if (isConnected())
-+ return mysql_get_proto_info(mysql);
-+ else
-+ return 0;
-+}
-+
-+
-+/*
-+mysqlGetServerInfo() is a wrapper for mysql_get_server_info(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlGetServerInfo() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlGetServerInfo()");
-+#endif
-+
-+ if (isConnected())
-+ return mysql_get_server_info(mysql);
-+ else
-+ return QString::null;
-+}
-+
-+
-+/*
-+mysqlStat() is a wrapper for mysql_stat(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlStat()
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlStat()");
-+#endif
-+
-+ if (!isConnected())
-+ return QString::null;
-+
-+ QString tmp = mysql_stat(mysql);
-+
-+ if (tmp.isEmpty())
-+ {
-+ if (emiterror)
-+ emitError();
-+ return QString::null;
-+ }
-+ return tmp;
-+}
-+
-+/*
-+mysqlGetCharsetName() is a wrapper for mysql_character_set_name(). See the MySQL API documentation for further information.
-+*/
-+QString CMySQL::mysqlGetCharsetName() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::mysqlGetCharsetName()");
-+#endif
-+
-+ if (isConnected())
-+ return mysql_character_set_name(mysql);
-+ else
-+ return QString::null;
-+}
-+
-+
-+QTextCodec *CMySQL::codec() const
-+{
-+#ifdef DEBUG
-+ qDebug("CMySQL::codec()");
-+#endif
-+
-+ if (textcodec)
-+ return textcodec;
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/mysqlcc-reconnect.patch?r1=1.4&r2=1.5&f=u
More information about the pld-cvs-commit
mailing list