File tree 1 file changed +10
-5
lines changed
1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -269,20 +269,23 @@ void
269
269
sfs_checkpoint (void )
270
270
{
271
271
int flags = CHECKPOINT_IMMEDIATE | CHECKPOINT_FORCE | CHECKPOINT_WAIT | CHECKPOINT_FLUSH_ALL ;
272
- /*
273
- if (InRecovery)
274
- CreateRestartPoint(flags);
275
- else
276
- */
277
272
RequestCheckpoint (flags );
278
273
}
279
274
275
+ static void
276
+ sfs_not_at_replica (void )
277
+ {
278
+ if (RecoveryInProgress ())
279
+ elog (ERROR , "Operation is not possible at replica" );
280
+ }
281
+
280
282
/*
281
283
* SQL interface to snapshots
282
284
*/
283
285
284
286
Datum pg_make_snapshot (PG_FUNCTION_ARGS )
285
287
{
288
+ sfs_not_at_replica ();
286
289
PG_RETURN_INT32 (sfs_make_snapshot ());
287
290
}
288
291
@@ -296,13 +299,15 @@ Datum pg_remove_snapshot(PG_FUNCTION_ARGS)
296
299
Datum pg_recover_to_snapshot (PG_FUNCTION_ARGS )
297
300
{
298
301
SnapshotId snap_id = PG_GETARG_INT32 (0 );
302
+ sfs_not_at_replica ();
299
303
sfs_recover_to_snapshot (snap_id );
300
304
PG_RETURN_VOID ();
301
305
}
302
306
303
307
Datum pg_switch_to_snapshot (PG_FUNCTION_ARGS )
304
308
{
305
309
SnapshotId snap_id = PG_GETARG_INT32 (0 );
310
+ sfs_not_at_replica ();
306
311
sfs_switch_to_snapshot (snap_id );
307
312
PG_RETURN_VOID ();
308
313
}
You can’t perform that action at this time.
0 commit comments