filip
Version:
Manage differential snapshots for zfs pools
21 lines (16 loc) • 1.39 kB
JavaScript
exports.createSnapshot = "SELECT snapshot_create($1) as snapshot_uuid;";
exports.fetchSnapshot = "SELECT pools.pool, snapshots.uuid, snapshots.parent_uuid " +
"FROM snapshots LEFT JOIN pools ON pools.uuid=snapshots.pool_uuid " +
"WHERE pools.uuid=$1 AND snapshots.uuid=$2";
exports.updateSnapshot = "UPDATE snapshots SET snapshotted=true, snapshotted_on=NOW() " +
"WHERE snapshots.pool_uuid=$1 AND snapshots.uuid=$2";
exports.sendSnapshot = "SELECT pools.pool, snapshots.uuid, snapshots.parent_uuid FROM snapshots " +
"LEFT JOIN pools ON pools.uuid=snapshots.pool_uuid " +
"WHERE snapshots.snapshotted=true AND snapshots.synced=false " +
"AND snapshots.pool_uuid=$1 AND snapshots.uuid=$2";
exports.sendSnapshots = "SELECT pools.pool, snapshots.uuid, snapshots.parent_uuid FROM snapshots " +
"LEFT JOIN pools ON pools.uuid=snapshots.pool_uuid " +
"WHERE snapshots.snapshotted=true AND snapshots.synced=false " +
"AND snapshots.pool_uuid=$1 ORDER BY snapshots.created_on ASC";
exports.syncedSnapshot = "UPDATE snapshots SET synced=true, synced_on=NOW(), synced_bytes=$1 " +
"WHERE snapshots.pool_uuid=$2 AND snapshots.uuid=$3";