Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00034 #ifndef KM_PG_CON_H
00035 #define KM_PG_CON_H
00036
00037 #include "../../lib/srdb1/db_pool.h"
00038 #include "../../lib/srdb1/db_id.h"
00039
00040 #include <time.h>
00041 #include <libpq-fe.h>
00042
00043
00045 struct pg_con {
00046 struct db_id* id;
00047 unsigned int ref;
00048 struct pool_con* next;
00050 int connected;
00051 char *sqlurl;
00052 PGconn *con;
00053 PGresult *res;
00054 char** row;
00055 time_t timestamp;
00056 int affected_rows;
00057 int transaction;
00058 };
00059
00060 #define CON_SQLURL(db_con) (((struct pg_con*)((db_con)->tail))->sqlurl)
00061 #define CON_RESULT(db_con) (((struct pg_con*)((db_con)->tail))->res)
00062 #define CON_CONNECTION(db_con) (((struct pg_con*)((db_con)->tail))->con)
00063 #define CON_CONNECTED(db_con) (((struct pg_con*)((db_con)->tail))->connected)
00064 #define CON_ROW(db_con) (((struct pg_con*)((db_con)->tail))->row)
00065 #define CON_TIMESTAMP(db_con) (((struct pg_con*)((db_con)->tail))->timestamp)
00066 #define CON_ID(db_con) (((struct pg_con*)((db_con)->tail))->id)
00067 #define CON_AFFECTED(db_con) (((struct pg_con*)((db_con)->tail))->affected_rows)
00068 #define CON_TRANSACTION(db_con) (((struct pg_con*)((db_con)->tail))->transaction)
00069
00070
00071
00072
00073
00074 struct pg_con* db_postgres_new_connection(struct db_id* id);
00075
00076
00077
00078
00079 void db_postgres_free_connection(struct pool_con* con);
00080
00081 #endif