aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/exchangedb/common-0001.sql7
-rw-r--r--src/exchangedb/drop.sql5
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c28
-rw-r--r--src/exchangedb/procedures.sql2
4 files changed, 33 insertions, 9 deletions
diff --git a/src/exchangedb/common-0001.sql b/src/exchangedb/common-0001.sql
index 5ae67edd1..6c4a60248 100644
--- a/src/exchangedb/common-0001.sql
+++ b/src/exchangedb/common-0001.sql
@@ -17,6 +17,13 @@
-- Everything in one big transaction
BEGIN;
+-------------------- Schema ----------------------------
+
+CREATE SCHEMA exchange;
+COMMENT ON SCHEMA exchange IS 'taler-exchange data';
+
+SET search_path TO exchange;
+
-------------------- Tables ----------------------------
CREATE OR REPLACE FUNCTION create_partitioned_table(
diff --git a/src/exchangedb/drop.sql b/src/exchangedb/drop.sql
index d98f4bd2c..4a4dafb1e 100644
--- a/src/exchangedb/drop.sql
+++ b/src/exchangedb/drop.sql
@@ -20,9 +20,6 @@ BEGIN;
SELECT _v.unregister_patch('exchange-0001');
-DROP SCHEMA public CASCADE;
-CREATE SCHEMA public;
-GRANT ALL ON SCHEMA public TO postgres;
-COMMENT ON SCHEMA public IS 'standard public schema';
+DROP SCHEMA exchange CASCADE;
COMMIT;
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index 127a41048..9fb9192c7 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -222,6 +222,11 @@ postgres_create_shard_tables (void *cls,
GNUNET_PQ_query_param_uint32 (&idx),
GNUNET_PQ_query_param_end
};
+ struct GNUNET_PQ_ExecuteStatement es[] = {
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
+ GNUNET_PQ_EXECUTE_STATEMENT_END
+ };
+
struct GNUNET_PQ_PreparedStatement ps[] = {
GNUNET_PQ_make_prepare ("create_shard_tables",
"SELECT"
@@ -234,7 +239,7 @@ postgres_create_shard_tables (void *cls,
conn = GNUNET_PQ_connect_with_cfg (pg->cfg,
"exchangedb-postgres",
"shard-",
- NULL,
+ es,
ps);
if (NULL == conn)
return GNUNET_SYSERR;
@@ -273,11 +278,15 @@ postgres_setup_partitions (void *cls,
1),
GNUNET_PQ_PREPARED_STATEMENT_END
};
+ struct GNUNET_PQ_ExecuteStatement es[] = {
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
+ GNUNET_PQ_EXECUTE_STATEMENT_END
+ };
conn = GNUNET_PQ_connect_with_cfg (pg->cfg,
"exchangedb-postgres",
NULL,
- NULL,
+ es,
ps);
if (NULL == conn)
return GNUNET_SYSERR;
@@ -353,7 +362,10 @@ postgres_setup_foreign_servers (void *cls,
GNUNET_PQ_query_param_string (remote_user_pw),
GNUNET_PQ_query_param_end
};
-
+ struct GNUNET_PQ_ExecuteStatement es[] = {
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
+ GNUNET_PQ_EXECUTE_STATEMENT_END
+ };
struct GNUNET_PQ_PreparedStatement ps[] = {
GNUNET_PQ_make_prepare ("create_foreign_servers",
"SELECT"
@@ -366,7 +378,7 @@ postgres_setup_foreign_servers (void *cls,
conn = GNUNET_PQ_connect_with_cfg (pg->cfg,
"exchangedb-postgres",
NULL,
- NULL,
+ es,
ps);
if (NULL == conn)
{
@@ -4455,6 +4467,7 @@ internal_setup (struct PostgresClosure *pg,
"SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL SERIALIZABLE;"),
GNUNET_PQ_make_try_execute ("SET enable_sort=OFF;"),
GNUNET_PQ_make_try_execute ("SET enable_seqscan=OFF;"),
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
GNUNET_PQ_EXECUTE_STATEMENT_END
};
#else
@@ -4464,6 +4477,7 @@ internal_setup (struct PostgresClosure *pg,
GNUNET_PQ_make_try_execute ("SET enable_sort=OFF;"),
GNUNET_PQ_make_try_execute ("SET enable_seqscan=OFF;"),
GNUNET_PQ_make_try_execute ("SET autocommit=OFF;"),
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
GNUNET_PQ_EXECUTE_STATEMENT_END
};
#endif
@@ -10501,6 +10515,10 @@ postgres_gc (void *cls)
GNUNET_TIME_UNIT_YEARS,
10));
{
+ struct GNUNET_PQ_ExecuteStatement es[] = {
+ GNUNET_PQ_make_try_execute ("SET search_path TO exchange;"),
+ GNUNET_PQ_EXECUTE_STATEMENT_END
+ };
struct GNUNET_PQ_PreparedStatement ps[] = {
/* Used in #postgres_gc() */
GNUNET_PQ_make_prepare ("run_gc",
@@ -10514,7 +10532,7 @@ postgres_gc (void *cls)
conn = GNUNET_PQ_connect_with_cfg (pg->cfg,
"exchangedb-postgres",
NULL,
- NULL,
+ es,
ps);
}
if (NULL == conn)
diff --git a/src/exchangedb/procedures.sql b/src/exchangedb/procedures.sql
index e2e7c75cc..93685f4f4 100644
--- a/src/exchangedb/procedures.sql
+++ b/src/exchangedb/procedures.sql
@@ -17,6 +17,8 @@
-- Everything in one big transaction
BEGIN;
+SET search_path TO exchange;
+
---------------------------------------------------------------------------
-- Stored procedures
---------------------------------------------------------------------------