Line data Source code
1 : /*
2 : This file is part of TALER
3 : (C) 2014--2025 Taler Systems SA
4 :
5 : TALER is free software; you can redistribute it and/or modify it under the
6 : terms of the GNU Lesser General Public License as published by the Free Software
7 : Foundation; either version 3, or (at your option) any later version.
8 :
9 : TALER is distributed in the hope that it will be useful, but WITHOUT ANY
10 : WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 : A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 :
13 : You should have received a copy of the GNU General Public License along with
14 : TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
15 : */
16 : /**
17 : * @file src/backenddb/create_tables.c
18 : * @brief implementation of the create_tables function
19 : * @author Christian Grothoff
20 : */
21 : #include <gnunet/gnunet_util_lib.h>
22 : #include "merchantdb_lib.h"
23 : #include "merchant-database/create_tables.h"
24 : #include "helper.h"
25 :
26 :
27 : enum GNUNET_GenericReturnValue
28 20 : TALER_MERCHANTDB_create_tables (
29 : struct TALER_MERCHANTDB_PostgresContext *pg)
30 : {
31 20 : struct GNUNET_PQ_QueryParam params[] = {
32 : GNUNET_PQ_query_param_end
33 : };
34 :
35 20 : if (GNUNET_SYSERR ==
36 20 : GNUNET_PQ_load_versioning (pg->conn))
37 : {
38 0 : GNUNET_break (0);
39 0 : return GNUNET_SYSERR;
40 : }
41 20 : if (GNUNET_OK !=
42 20 : GNUNET_PQ_run_sql (pg->conn,
43 : "merchant-"))
44 : {
45 0 : GNUNET_break (0);
46 0 : return GNUNET_SYSERR;
47 : }
48 20 : if (GNUNET_OK !=
49 20 : GNUNET_PQ_exec_sql (pg->conn,
50 : "global_procedures"))
51 : {
52 0 : GNUNET_break (0);
53 0 : return GNUNET_SYSERR;
54 : }
55 20 : if (GNUNET_OK !=
56 20 : GNUNET_PQ_exec_sql (pg->conn,
57 : "instance_procedures"))
58 : {
59 0 : GNUNET_break (0);
60 0 : return GNUNET_SYSERR;
61 : }
62 :
63 20 : if (GNUNET_OK !=
64 20 : GNUNET_PQ_prepare_anon (
65 : pg->conn,
66 : "CALL merchant.sync_all_instance_procedures()"))
67 : {
68 0 : GNUNET_break (0);
69 0 : return GNUNET_SYSERR;
70 : }
71 20 : if (0 >
72 20 : GNUNET_PQ_eval_prepared_non_select (pg->conn,
73 : "",
74 : params))
75 : {
76 0 : GNUNET_break (0);
77 0 : return GNUNET_SYSERR;
78 : }
79 20 : return GNUNET_OK;
80 : }
|