| 105 | | |
|---|
| 106 | | |
|---|
| 107 | | string sConnect; |
|---|
| 108 | | // sConnect = "hostaddr = '" + m_PGServer + "' dbname = '" + m_PGTable + "' user = '" + m_PGUser + "' password = '" + m_PGPass +"'"; |
|---|
| 109 | | sConnect = "hostaddr = 'fixthisstaticcraptoconfig' dbname = 'library' user = 'foobar' password = 'steelmycredentials'"; |
|---|
| 110 | | |
|---|
| 111 | | m_PGConnection = PQconnectdb(sConnect.c_str()); |
|---|
| | 105 | try |
|---|
| | 106 | { |
|---|
| | 107 | m_PGServer= g_Library->getConfig()->getValString("library.database.server"); |
|---|
| | 108 | m_PGTable= g_Library->getConfig()->getValString("library.database.table"); |
|---|
| | 109 | m_PGUser= g_Library->getConfig()->getValString("library.database.user"); |
|---|
| | 110 | m_PGPass= g_Library->getConfig()->getValString("library.database.pass"); |
|---|
| | 111 | }catch (...) |
|---|
| | 112 | { |
|---|
| | 113 | logCrit("%s","Error setting needed vars, check your config\n"); |
|---|
| | 114 | return false; |
|---|
| | 115 | } |
|---|
| | 116 | |
|---|
| | 117 | string ConnectString; |
|---|
| | 118 | ConnectString = "hostaddr = '" + m_PGServer + "' dbname = '" + m_PGTable + "' user = '" + m_PGUser + "' password = '" + m_PGPass +"'"; |
|---|
| | 119 | |
|---|
| | 120 | m_PGConnection = PQconnectdb(ConnectString.c_str()); |
|---|
| 179 | | sqlresult = new PGSQLResult(res,m_Queries.front()->getQuery(),m_Queries.front()->getObject()); |
|---|
| 180 | | printf("status %s\n",PQresStatus(PQresultStatus(res))); |
|---|
| 181 | | printf("error %s\n",PQresultErrorMessage(res)); |
|---|
| 182 | | |
|---|
| 183 | | int i,j; |
|---|
| 184 | | unsigned int k; |
|---|
| 185 | | int *maxflen; |
|---|
| 186 | | |
|---|
| 187 | | maxflen=(int *)malloc(PQnfields(res)*sizeof(int)); |
|---|
| 188 | | memset(maxflen,0,PQnfields(res)*sizeof(int)); |
|---|
| 189 | | |
|---|
| 190 | | for ( i=0;i<PQnfields(res);i++ ) |
|---|
| | 187 | switch (PQresultStatus(res)) |
|---|
| 192 | | if ((int)strlen(PQfname(res,i)) > maxflen[i]) |
|---|
| | 189 | case PGRES_COMMAND_OK: |
|---|
| | 190 | case PGRES_TUPLES_OK: |
|---|
| | 191 | break; |
|---|
| | 192 | |
|---|
| | 193 | default: |
|---|
| | 194 | logCrit("Query failure. Query'%s' Error '%s' ('%s')\n", |
|---|
| | 195 | m_Queries.front()->getQuery().c_str(), |
|---|
| | 196 | PQresStatus(PQresultStatus(res)), |
|---|
| | 197 | PQresultErrorMessage(res)); |
|---|
| | 198 | } |
|---|
| | 199 | |
|---|
| | 200 | |
|---|
| | 201 | if ( m_Queries.front()->getCallback() != NULL ) |
|---|
| | 202 | { |
|---|
| | 203 | |
|---|
| | 204 | sqlresult = new PGSQLResult(res,m_Queries.front()->getQuery(),m_Queries.front()->getObject()); |
|---|
| | 205 | |
|---|
| | 206 | switch (PQresultStatus(res)) |
|---|
| 208 | | |
|---|
| 209 | | |
|---|
| 210 | | printf("fields %i, tuples %i\n",PQnfields(res),PQntuples(res)); |
|---|
| 211 | | for ( i=0;i<PQnfields(res);i++ ) |
|---|
| 212 | | { |
|---|
| 213 | | printf(" %s ",PQfname(res,i)); |
|---|
| 214 | | for (k=0;k<maxflen[i]-strlen(PQfname(res,i));k++) |
|---|
| 215 | | { |
|---|
| 216 | | printf(" "); |
|---|
| 217 | | } |
|---|
| 218 | | printf(" |"); |
|---|
| 219 | | } |
|---|
| 220 | | printf("\n"); |
|---|
| 221 | | |
|---|
| 222 | | for ( j = 0; j < PQntuples(res); j++ ) |
|---|
| 223 | | { |
|---|
| 224 | | |
|---|
| 225 | | for ( i=0;i<PQnfields(res);i++ ) |
|---|
| 226 | | { |
|---|
| 227 | | char *result = PQgetvalue(res, j, i); |
|---|
| 228 | | printf(" %s ",result); |
|---|
| 229 | | for (k=0;k<maxflen[i]-strlen(result);k++) |
|---|
| 230 | | { |
|---|
| 231 | | printf(" "); |
|---|
| 232 | | } |
|---|
| 233 | | printf(" |"); |
|---|
| 234 | | |
|---|
| 235 | | |
|---|
| 236 | | } |
|---|
| 237 | | printf("\n"); |
|---|
| 238 | | |
|---|
| 239 | | } |
|---|
| 240 | | printf("\n"); |
|---|
| 241 | | |
|---|
| 242 | | |
|---|