Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Принятые патчи

Важная информация

Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.

Повод для гордости.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2011, 11:52   #1
Ambal
MaNGOS Dev
 
Аватар для Ambal
 
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
Ambal Скоро придёт к известности
По умолчанию [11284]Prepared statements for MySQL [part 1]

Всем трямс

Вобщем, как и обещалось некоторое время назад, поддержка для prepared statements в мангосе таки появится

Для тех, кто незнает, что сие такое и зачем оно вообще надо, могут погуглить - многа букаф писать на выходных я не осилю ))

На данном этапе реализована поддержка для INSERT+DELETE+UPDATE запросов. SELECTы будут реализованы позднее, дабы не коммитить патчи монструозного размера.

Важный момент: нативные prepared statements реализованы только для MySQL. Пользователи PostgreSQL будут пользоваться эмуляцией этой функциональности, которая будет сводится к отправке обычных строковых запросов к БД.

На данный момент переписаны все запросы, которые используются во время сохранения игрока, e.g. вызова функции Player::SaveToDB().

WARNING: СДЕЛАЙТЕ БЕКАП БАЗЫ ДО НАЧАЛА ТЕСТОВ!!!

Ссылка на тему на офф форуме: http://getmangos.com/community/post/132464/

репозиторий: prepared_statements

update #1: добавлена поддержка PostgreSQL. Финальная версия патча.
update #2: ODBC-похожий АПИ для передачи параметров процедурам.
update #3: правка ошибок компиляции под *nix
update #4: правка синтаксиса некоторых запросов.
update #5: переписан код всвязи с найденными критическими нюансами инициализации статических переменных функций в многопоточной среде. Спасибо Vinolentus. Ожидайте незначительного увеличения потребления CPU из-за постоянного поиска в реесте нужных хранимых процедур по строке запроса.
update #6: переписан код, теперь мы корректно используем статические локальные переменные для хранения информации по процедурам. Должно вернуть потребление ЦП к норме.

Последний раз редактировалось Ambal; 19.03.2011 в 22:48.
Ambal вне форума  
7 пользователя(ей) сказали cпасибо:
ANTOMA (18.03.2011), Den (05.03.2011), Feel the Power (12.03.2011), Mayss (26.03.2011), PSZ (05.03.2011), sven (21.03.2011)
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[11284] Implement prepared statements for INSERT+DELETE+UPDATE SQL requests. Should improve player s newsbot CMaNGOS Commits 0 25.03.2011 22:20
[11061] Bring 'autocommit' mode for MySQL back. This MySQL feature operates in so frustrating way so newsbot CMaNGOS Commits 0 21.01.2011 23:52
ошибка mysql lovepsone Флудильня 8 14.12.2010 22:13
Оптимизация Mysql {my.cnf} lina Прочая документация 10 20.06.2010 00:12


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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot