[11284] Implement prepared statements for INSERT+DELETE+UPDATE SQL requests. Should improve player save performance + lower MySQL server CPU usage.

Note: PostgreSQL does not have prepared statements implemented using native APIs.

Huge thanks to Undergarun, kero99 and Vinolentus.

Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
Ambal 2011-03-25 21:52:59 +02:00
parent d9374d936f
commit 40ef9cbf2f
24 changed files with 1823 additions and 488 deletions

View file

@ -1,4 +1,5 @@
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_NoPCH|Win32">
<Configuration>Debug_NoPCH</Configuration>
@ -441,6 +442,7 @@
<ClCompile Include="..\..\src\shared\Database\QueryResultMysql.cpp" />
<ClCompile Include="..\..\src\shared\Database\SqlDelayThread.cpp" />
<ClCompile Include="..\..\src\shared\Database\SqlOperations.cpp" />
<ClCompile Include="..\..\src\shared\Database\SqlPreparedStatement.cpp" />
<ClCompile Include="..\..\src\shared\Database\SQLStorage.cpp" />
<ClCompile Include="..\..\src\shared\Log.cpp" />
<ClCompile Include="..\..\src\shared\ProgressBar.cpp" />
@ -456,6 +458,7 @@
<ClInclude Include="..\..\src\shared\Auth\SARC4.h" />
<ClInclude Include="..\..\src\shared\Auth\Sha1.h" />
<ClInclude Include="..\..\src\shared\ByteBuffer.h" />
<ClInclude Include="..\..\src\shared\Database\SqlPreparedStatement.h" />
<ClInclude Include="..\..\src\shared\WorldPacket.h" />
<ClInclude Include="..\..\src\shared\Common.h" />
<ClInclude Include="..\..\src\shared\Config\Config.h" />
@ -501,4 +504,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View file

@ -75,6 +75,9 @@
<ClCompile Include="..\..\src\shared\Common.cpp" />
<ClCompile Include="..\..\src\shared\ServiceWin32.cpp" />
<ClCompile Include="..\..\src\shared\Threading.cpp" />
<ClCompile Include="..\..\src\shared\Database\SqlPreparedStatement.cpp">
<Filter>Database</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\shared\Database\Database.h">
@ -167,6 +170,9 @@
<ClInclude Include="..\..\src\shared\revision_sql.h" />
<ClInclude Include="..\..\src\shared\ServiceWin32.h" />
<ClInclude Include="..\..\src\shared\Threading.h" />
<ClInclude Include="..\..\src\shared\Database\SqlPreparedStatement.h">
<Filter>Database</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\src\shared\revision.h" />