Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Моды (http://mangos.ytdb.ru/forumdisplay.php?f=8)
-   -   Reconnection to MySQL server (http://mangos.ytdb.ru/showthread.php?t=4372)

Vinolentus 10.05.2011 16:55

Reconnection to MySQL server
 
https://gist.github.com/964488

Умеет:
- пересоздавать соединения с сервером;
- кое-как восстанавливать prepared statements;
- сливать в бд все, что было поставлено в очередь за время, пока соединение отсутствовало.

KiriX 10.05.2011 17:21

Последнее, мне кажется, очень вредно =)...

Vinolentus 10.05.2011 20:00

Цитата:

Последнее, мне кажется, очень вредно ...
Почему? Если мы что-то сохраняем в момент отсутствия соединения, мы должны терять это? Прогресс персонажа, например.

KiriX 11.05.2011 11:02

в общем-то да, я что-то не о том подумал =)

odvolk 07.06.2012 09:04

перезалейте пожалуйста ;)

partizanes 19.06.2012 21:44

патч топикстартера не видел,

найдено на старом форуме http://old.ru-mangos.ru/mangos.ru/fo...5.html?t=10175

ReFresh:

Код:

Index: src/shared/Database/DatabaseMysql.cpp
===================================================================
--- src/shared/Database/DatabaseMysql.cpp        (revision 4593)
+++ src/shared/Database/DatabaseMysql.cpp        (working copy)
@@ -155,6 +155,22 @@
            sLog.outDetail("AUTOCOMMIT NOT SET TO 0");
        }
        /*-------------------------------------*/
+#if MYSQL_VERSION_ID >= 50003
+//  #if MYSQL_VERSIOB_ID >= 50013
+        my_bool my_true = (my_bool)1;
+        if (mysql_options(mMysql, MYSQL_OPT_RECONNECT, &my_true))
+        {
+            sLog.outDetail("Failed to turn on MYSQL_OPT_RECONNECT.");
+        }
+        else
+        {
+            sLog.outDetail("Successfully turned on MYSQL_OPT_RECONNECT.");
+        }
+#else
+        sLog.outDetail("Your mySQL client lib version does not support reconnecting after a timeout.");
+        sLog.outDetail("If this causes you any trouble we advice you to upgrade");
+        sLog.outDetail("your mySQL client libs to at least mySQL 5.0.13 to resolve this problem.");
+#endif
        return true;
    }
    else

и вариант2
ddayver:
У меня просто дописано
Код:

mysql_options(mMysql, MYSQL_OPT_RECONNECT, &my_true)


Текущее время: 21:23. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS