commit 476ae5380823f287421885bac15871dc970d53e7
parent 80fc8231ade4e8581dc0447f31bd280bb9c41d3d
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 3 Mar 2022 17:48:00 +0100
simply defer all, only way to do well with partitions
Diffstat:
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -8055,22 +8055,7 @@ postgres_start_deferred_wire_out (void *cls)
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_ExecuteStatement es[] = {
GNUNET_PQ_make_execute ("START TRANSACTION ISOLATION LEVEL READ COMMITTED"),
- GNUNET_PQ_make_execute ("DO $$"
- "BEGIN"
- " IF EXISTS ("
- " SELECT 1"
- " FROM information_Schema.constraint_column_usage"
- " WHERE table_name='wire_out'"
- " AND constraint_name='wire_out_ref')"
- " THEN "
- " SET CONSTRAINTS wire_out_ref DEFERRED;"
- " END IF;"
- "END $$"),
- // FIXME: above logic is better as it tests that the constraint
- // is actually applicable; but maybe we want to drop the constraint
- // entirely once do_gc() is fixed to do without it?
- // GNUNET_PQ_make_execute ("CALL defer_wire_out()"),
- // GNUNET_PQ_make_execute ("SET CONSTRAINTS wire_out_ref DEFERRED;"),
+ GNUNET_PQ_make_execute ("SET CONSTRAINTS ALL DEFERRED;"),
GNUNET_PQ_EXECUTE_STATEMENT_END
};