diff options
-rw-r--r-- | src/testbed/generate-underlay-topology.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/testbed/generate-underlay-topology.c b/src/testbed/generate-underlay-topology.c index 985c8e32e..33c52ae35 100644 --- a/src/testbed/generate-underlay-topology.c +++ b/src/testbed/generate-underlay-topology.c | |||
@@ -135,7 +135,12 @@ setup_db (const char *dbfile) | |||
135 | "oid INTEGER," | 135 | "oid INTEGER," |
136 | "bandwidth INTEGER DEFAULT NULL," | 136 | "bandwidth INTEGER DEFAULT NULL," |
137 | "latency INTEGER DEFAULT NULL," | 137 | "latency INTEGER DEFAULT NULL," |
138 | "loss INTEGER DEFAULT NULL);"; | 138 | "loss INTEGER DEFAULT NULL," |
139 | " UNIQUE (" | ||
140 | " id," | ||
141 | " oid" | ||
142 | " ) ON CONFLICT IGNORE" | ||
143 | ");"; | ||
139 | const char *query_insert = | 144 | const char *query_insert = |
140 | "INSERT INTO whitelist(" | 145 | "INSERT INTO whitelist(" |
141 | " id," | 146 | " id," |
@@ -151,7 +156,8 @@ setup_db (const char *dbfile) | |||
151 | " ?5);"; | 156 | " ?5);"; |
152 | int ret; | 157 | int ret; |
153 | 158 | ||
154 | if (SQLITE_OK != (ret = sqlite3_open (dbfile, &db))) | 159 | ret = GNUNET_SYSERR; |
160 | if (SQLITE_OK != sqlite3_open (dbfile, &db)) | ||
155 | { | 161 | { |
156 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_open"); | 162 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_open"); |
157 | goto err_ret; | 163 | goto err_ret; |
@@ -159,22 +165,20 @@ setup_db (const char *dbfile) | |||
159 | if (0 != sqlite3_exec (db, query_create, NULL, NULL, NULL)) | 165 | if (0 != sqlite3_exec (db, query_create, NULL, NULL, NULL)) |
160 | { | 166 | { |
161 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_exec"); | 167 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_exec"); |
168 | FPRINTF (stderr, "Perhaps the database `%s' already exits.\n", dbfile); | ||
162 | goto err_ret; | 169 | goto err_ret; |
163 | } | 170 | } |
164 | if (0 != sqlite3_exec (db, "PRAGMA synchronous = 0;", NULL, NULL, NULL)) | 171 | GNUNET_break (0 == sqlite3_exec (db, "PRAGMA synchronous = 0;", NULL, NULL, NULL)); |
165 | { | 172 | if (SQLITE_OK != sqlite3_prepare_v2 (db, query_insert, -1, |
166 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_exec"); | 173 | &stmt_insert, NULL)) |
167 | goto err_ret; | ||
168 | } | ||
169 | if (SQLITE_OK != (ret = sqlite3_prepare_v2 (db, query_insert, -1, | ||
170 | &stmt_insert, NULL))) | ||
171 | { | 174 | { |
172 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_prepare_v2"); | 175 | LOG_SQLITE (db, NULL, GNUNET_ERROR_TYPE_ERROR, "sqlite3_prepare_v2"); |
173 | goto err_ret; | 176 | goto err_ret; |
174 | } | 177 | } |
175 | 178 | ret = GNUNET_OK; | |
179 | |||
176 | err_ret: | 180 | err_ret: |
177 | return (SQLITE_OK != ret) ? GNUNET_SYSERR : GNUNET_OK; | 181 | return ret; |
178 | } | 182 | } |
179 | 183 | ||
180 | 184 | ||