extern void bdr_sequencer_fill_sequences(void);
extern void bdr_sequencer_wakeup(void);
+extern void bdr_schedule_eoxact_sequencer_wakeup(void);
extern void bdr_sequence_alloc(PG_FUNCTION_ARGS);
extern void bdr_sequence_setval(PG_FUNCTION_ARGS);
static void do_log_update(RepNodeId local_node_id, bool apply_update, TimestampTz ts, Relation idxrel, HeapTuple old_key);
static void do_apply_update(Relation rel, ItemPointerData oldtid, HeapTuple old_tuple, BDRTupleData new_tuple);
-bool request_sequencer_wakeup = false;
bool started_transaction = false;
Oid QueuedDDLCommandsRelid = InvalidOid;
pg_usleep(usec + (sec * USECS_PER_SEC));
}
}
-
- request_sequencer_wakeup = false;
}
void
CurrentResourceOwner = bdr_saved_resowner;
bdr_count_commit();
-
- if (request_sequencer_wakeup)
- {
- request_sequencer_wakeup = false;
- bdr_sequencer_wakeup();
- }
}
static void
if (reloid == BdrSequenceValuesRelid ||
reloid == BdrSequenceElectionsRelid ||
reloid == BdrVotesRelid)
- request_sequencer_wakeup = true;
+ bdr_schedule_eoxact_sequencer_wakeup();
}
void
int64 end_value;
} BdrSequenceValues;
-static void bdr_schedule_eoxact_sequencer_wakeup(void);
-
/* cached relids */
Oid BdrSequenceValuesRelid; /* bdr_sequence_values */
Oid BdrSequenceElectionsRelid; /* bdr_sequence_elections */
}
}
-
static void
bdr_sequence_xact_callback(XactEvent event, void *arg)
{
* backend could die without causing a cluster wide restart. So we need to
* periodically check whether we've missed wakeups.
*/
-static void bdr_schedule_eoxact_sequencer_wakeup(void)
+void
+bdr_schedule_eoxact_sequencer_wakeup(void)
{
static bool registered = false;