/// <summary>
 /// Restores a database from disk.
 /// </summary>
 /// <param name="snapshotReference">Key <see cref="SnapshotReference"/> for the snapshot to restore, providing
 /// the path and unique ID.</param>
 /// <returns>Detailed status information on the initiated restore operation.</returns>
 public Response <Table[]> SnapshotRestore(SnapshotReference snapshotReference)
 {
     return(this.Executor.Execute <Table[]>(
                Timeout.Infinite
                , "@SnapshotRestore"
                , snapshotReference.DirectoryPath
                , snapshotReference.UniqueId
                ));
 }
 /// <summary>
 /// Saves the current database contents to disk.
 /// </summary>
 /// <param name="snapshotReference">Key <see cref="SnapshotReference"/> for the snapshot to save, providing
 /// the path and unique ID.</param>
 /// <param name="blocking">Whether all client transactions should be paused on the server while the snapshot is
 /// being saved (to provide a perfect 'point in time' snapshot), or whether they may run concurrently.</param>
 /// <returns>Detailed status information on the initiated save operation.</returns>
 public Response <Table> SnapshotSave(SnapshotReference snapshotReference, bool blocking)
 {
     return(this.Executor.Execute <Table>(
                Timeout.Infinite
                , "@SnapshotSave"
                , snapshotReference.DirectoryPath
                , snapshotReference.UniqueId
                , blocking ? 1 : 0
                ));
 }
 /// <summary>
 /// Saves the current database contents to disk.
 /// </summary>
 /// <param name="snapshotReference">Key <see cref="SnapshotReference"/> for the snapshot to save, providing
 /// the path and unique ID.</param>
 /// <param name="blocking">Whether all client transactions should be paused on the server while the snapshot is
 /// being saved (to provide a perfect 'point in time' snapshot), or whether they may run concurrently.</param>
 /// <returns>Detailed status information on the initiated save operation.</returns>
 public Response<Table> SnapshotSave(SnapshotReference snapshotReference, bool blocking)
 {
     return this.Executor.Execute<Table>(
                                          Timeout.Infinite
                                        , "@SnapshotSave"
                                        , snapshotReference.DirectoryPath
                                        , snapshotReference.UniqueId
                                        , blocking ? 1 : 0
                                        );
 }
 /// <summary>
 /// Restores a database from disk.
 /// </summary>
 /// <param name="snapshotReference">Key <see cref="SnapshotReference"/> for the snapshot to restore, providing
 /// the path and unique ID.</param>
 /// <returns>Detailed status information on the initiated restore operation.</returns>
 public Response<Table[]> SnapshotRestore(SnapshotReference snapshotReference)
 {
     return this.Executor.Execute<Table[]>(
                                            Timeout.Infinite
                                          , "@SnapshotRestore"
                                          , snapshotReference.DirectoryPath
                                          , snapshotReference.UniqueId
                                          );
 }