#!/bin/bash
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"

../ci-pg-restore \
  --cache-name="a" \
  --cache-db-max-age=60 \
  --restore-db-max-age=60 \
  --dbname=ci_mydb1 \
  psql -tA -f fixtures/dump1.sql 2>&1 | prefix_tee 1 /tmp/ci_mydb1.log

psql -c 'CREATE DATABASE "ci_mydb1~1"'
psql -d "ci_mydb1~1" -c "
  SELECT pg_create_logical_replication_slot('slot1', 'pgoutput');
"
psql -d "ci_mydb1~1" -c "
  CREATE SUBSCRIPTION sub1 CONNECTION 'host=$PGHOST' PUBLICATION pub1 WITH (connect=false);
"
psql -d "ci_mydb1~1" -c "
  BEGIN; PREPARE TRANSACTION 'xact1';
"

sleep 1

../ci-pg-restore \
  --cache-name="b" \
  --cache-db-max-age=1 \
  --restore-db-max-age=1 \
  --dbname=ci_mydb2 \
  psql -tA -f fixtures/dump1.sql 2>&1 | prefix_tee 1 /tmp/ci_mydb2.log

grep -qE "Removing old database ci_mydb1" /tmp/ci_mydb2.log
grep -qE "Removing old database ci_pg_restore_cache_a" /tmp/ci_mydb2.log

psql -tA -c "SELECT count(1) FROM pg_database WHERE datname = 'ci_mydb1~1'" | grep 0
