Index: src/shared/Database/DatabasePostgre.cpp =================================================================== --- src/shared/Database/DatabasePostgre.cpp (revision 5277) +++ src/shared/Database/DatabasePostgre.cpp (working copy) @@ -111,8 +111,13 @@ #endif // Send the query PGresult * result = PQexec(mPGconn, sql); + if (!result ) + { + PQclear(result); + return NULL; + } - if (PQresultStatus(result) != PGRES_COMMAND_OK) + if (PQresultStatus(result) != PGRES_TUPLES_OK) { sLog.outErrorDb( "SQL: %s", sql ); sLog.outErrorDb("query ERROR: %s", PQerrorMessage(mPGconn)); @@ -130,20 +135,13 @@ fieldCount = PQnfields(result); // end guarded block - if (!result ) - { - PQclear(result); - return NULL; - } - if (!rowCount) { PQclear(result); return NULL; } - QueryResultPostgre * queryResult = new QueryResultPostgre(result, fieldCount, rowCount); - return queryResult; + QueryResultPostgre * queryResult = new QueryResultPostgre(result, rowCount, fieldCount); queryResult->NextRow(); Index: src/shared/Database/DatabasePostgre.h =================================================================== --- src/shared/Database/DatabasePostgre.h (revision 5277) +++ src/shared/Database/DatabasePostgre.h (working copy) @@ -26,7 +26,7 @@ #ifdef WIN32 #define FD_SETSIZE 1024 #include -#include +#include #else #include #endif Index: src/shared/Database/QueryResultPostgre.cpp =================================================================== --- src/shared/Database/QueryResultPostgre.cpp (revision 5277) +++ src/shared/Database/QueryResultPostgre.cpp (working copy) @@ -21,7 +21,7 @@ #include "DatabaseEnv.h" QueryResultPostgre::QueryResultPostgre(PGresult *result, uint64 rowCount, uint32 fieldCount) : -QueryResult(rowCount, fieldCount), mResult(result) +QueryResult(rowCount, fieldCount), mResult(result), mTableIndex(0) { mCurrentRow = new Field[mFieldCount]; @@ -50,12 +50,12 @@ EndQuery(); return false; } - for (int j = 0; j < mFieldCount; j++) { mCurrentRow[j].SetValue(PQgetvalue(mResult, mTableIndex, j)); + printf ("j= %d , value = %s\n",j,mCurrentRow[j].GetString()); } - + ++mTableIndex; return true; } Index: src/shared/Database/QueryResultPostgre.h =================================================================== --- src/shared/Database/QueryResultPostgre.h (revision 5277) +++ src/shared/Database/QueryResultPostgre.h (working copy) @@ -22,7 +22,7 @@ #ifdef WIN32 #define FD_SETSIZE 1024 #include -#include +#include #else #include #endif Index: win/VC80/game.vcproj =================================================================== --- win/VC80/game.vcproj (revision 5277) +++ win/VC80/game.vcproj (working copy) @@ -44,7 +44,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\shared\vmap" - PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_LIB;" + PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_LIB;DO_POSTGRESQL" StringPooling="false" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -124,7 +124,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\shared\vmap" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;DO_POSTGRESQL" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" Index: win/VC80/mangosd.vcproj =================================================================== --- win/VC80/mangosd.vcproj (revision 5277) +++ win/VC80/mangosd.vcproj (working copy) @@ -45,7 +45,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd" - PreprocessorDefinitions="VERSION="0.10.0-SVN";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.10.0-SVN";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI;DO_POSTGRESQL" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -145,7 +145,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd" - PreprocessorDefinitions="VERSION="0.10.0-SVN";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.10.0-SVN";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI;DO_POSTGRESQL" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="1" Index: win/VC80/realmd.vcproj =================================================================== --- win/VC80/realmd.vcproj (revision 5277) +++ win/VC80/realmd.vcproj (working copy) @@ -45,7 +45,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd" - PreprocessorDefinitions="VERSION="0.2-SVN",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="DO_POSTGRESQL" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -75,7 +75,7 @@ + + + + @@ -236,6 +244,14 @@ > + + + +