summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSree Harsha Totakura <sreeharsha@totakura.in>2015-03-05 16:10:42 +0100
committerSree Harsha Totakura <sreeharsha@totakura.in>2015-03-06 10:31:22 +0100
commit39e8dd862bd1b8f1de86ee93e531ba28eb95b92e (patch)
treecab9e668d2c4039b0557b6810690f20535670964
parentc9d48a4a6cda427b68032b9e2064bb28a92e0f7f (diff)
downloadexchange-39e8dd862bd1b8f1de86ee93e531ba28eb95b92e.tar.gz
exchange-39e8dd862bd1b8f1de86ee93e531ba28eb95b92e.tar.bz2
exchange-39e8dd862bd1b8f1de86ee93e531ba28eb95b92e.zip
db: Add temporary flag to DB_get_connection()
-rw-r--r--src/mint/mint_db.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mint/mint_db.c b/src/mint/mint_db.c
index 91d6705c3..354bb7008 100644
--- a/src/mint/mint_db.c
+++ b/src/mint/mint_db.c
@@ -747,18 +747,18 @@ TALER_MINT_DB_init (const char *connection_cfg)
* Get the thread-local database-handle.
* Connect to the db if the connection does not exist yet.
*
+ * @param temporary #GNUNET_YES to use a temporary schema; #GNUNET_NO to use the
+ * database default one
* @return the database connection, or NULL on error
*/
PGconn *
-TALER_MINT_DB_get_connection (void)
+TALER_MINT_DB_get_connection (int temporary)
{
PGconn *db_conn;
if (NULL != (db_conn = pthread_getspecific (db_conn_threadlocal)))
return db_conn;
-
db_conn = PQconnectdb (TALER_MINT_db_connection_cfg_str);
-
if (CONNECTION_OK !=
PQstatus (db_conn))
{
@@ -767,7 +767,12 @@ TALER_MINT_DB_get_connection (void)
GNUNET_break (0);
return NULL;
}
-
+ if ((GNUNET_YES == temporary)
+ && (GNUNET_SYSERR == set_temporary_schema(db_conn)))
+ {
+ GNUNET_break (0);
+ return NULL;
+ }
if (GNUNET_OK !=
TALER_MINT_DB_prepare (db_conn))
{