All pastes #913941 Raw Edit

Stuff

public text v1 · immutable
·published 2008-02-22 14:03 UTC
rendered paste body
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 <winsock2.h>
-#include <postgre/libpq/libpq-fe.h>
+#include <postgre/libpq-fe.h>
 #else
 #include <libpq-fe.h>
 #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 <winsock2.h>
-#include <postgre/libpq/libpq-fe.h>
+#include <postgre/libpq-fe.h>
 #else
 #include <libpq-fe.h>
 #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=&quot;0.10.0-SVN&quot;;WIN32;NDEBUG;_CONSOLE;ENABLE_CLI"
+				PreprocessorDefinitions="VERSION=&quot;0.10.0-SVN&quot;;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=&quot;0.10.0-SVN&quot;;WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI"
+				PreprocessorDefinitions="VERSION=&quot;0.10.0-SVN&quot;;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=&quot;0.2-SVN&quot;,WIN32,NDEBUG,_CONSOLE"
+				PreprocessorDefinitions="DO_POSTGRESQL"
 				StringPooling="true"
 				RuntimeLibrary="0"
 				EnableFunctionLevelLinking="true"
@@ -75,7 +75,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="zthread.lib libmySQL.lib libeay32.lib ws2_32.lib winmm.lib odbc32.lib odbccp32.lib advapi32.lib dbghelp.lib"
+				AdditionalDependencies="zthread.lib libmySQL.lib libeay32.lib ws2_32.lib winmm.lib odbc32.lib odbccp32.lib advapi32.lib dbghelp.lib libpq.lib"
 				OutputFile="..\..\bin\release\realmd.exe"
 				LinkIncremental="1"
 				SuppressStartupBanner="true"
@@ -142,7 +142,7 @@
 				AdditionalOptions="/MP"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd"
-				PreprocessorDefinitions="VERSION=&quot;0.2-SVN&quot;;WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE"
+				PreprocessorDefinitions="VERSION=&amp;quot;0.2-SVN&amp;quot;,WIN32,NDEBUG,_CONSOLE;DO_POSTGRESQL;"
 				IgnoreStandardIncludePath="false"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="1"
@@ -162,7 +162,7 @@
 			/>
 			<Tool
 				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
+				PreprocessorDefinitions="_DEBUG;DO_POSTGRESQL"
 				Culture="1033"
 			/>
 			<Tool
@@ -171,7 +171,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalOptions="/MACHINE:I386"
-				AdditionalDependencies="zthread.lib libmySQL.lib libeay32.lib ws2_32.lib winmm.lib odbc32.lib odbccp32.lib advapi32.lib dbghelp.lib"
+				AdditionalDependencies="zthread.lib libmySQL.lib libeay32.lib ws2_32.lib winmm.lib odbc32.lib odbccp32.lib advapi32.lib dbghelp.lib libpq.lib"
 				OutputFile="..\..\bin\debug\realmd.exe"
 				LinkIncremental="2"
 				SuppressStartupBanner="true"
Index: win/VC80/shared.vcproj
===================================================================
--- win/VC80/shared.vcproj	(revision 5277)
+++ win/VC80/shared.vcproj	(working copy)
@@ -44,7 +44,7 @@
 				AdditionalOptions="/MP"
 				InlineFunctionExpansion="1"
 				AdditionalIncludeDirectories="..\..\dep\include;..\..\dep\include\g3dlite;..\..\src\framework;..\..\src\shared"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;DO_POSTGRESQL"
 				StringPooling="true"
 				RuntimeLibrary="0"
 				EnableFunctionLevelLinking="true"
@@ -66,7 +66,7 @@
 			/>
 			<Tool
 				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
+				PreprocessorDefinitions="NDEBUG;DO_POSTGRESQL"
 				Culture="1033"
 			/>
 			<Tool
@@ -124,7 +124,7 @@
 				AdditionalOptions="/MP"
 				Optimization="0"
 				AdditionalIncludeDirectories="..\..\dep\include;..\..\dep\include\g3dlite;..\..\src\framework;..\..\src\shared"
-				PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
+				PreprocessorDefinitions="WIN32;_DEBUG;MANGOS_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;DO_POSTGRESQL"
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="1"
 				RuntimeTypeInfo="true"
@@ -204,6 +204,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\src\shared\Database\DatabasePostgre.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\shared\Database\DatabasePostgre.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\src\shared\Database\DatabaseSqlite.cpp"
 				>
 			</File>
@@ -236,6 +244,14 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\src\shared\Database\QueryResultPostgre.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\..\src\shared\Database\QueryResultPostgre.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\src\shared\Database\QueryResultSqlite.cpp"
 				>
 			</File>