Files
2026-07-13 12:32:25 +08:00

56 lines
1.7 KiB
Bash

#!/usr/bin/env bats
load $BATS_TEST_DIRNAME/setup/common.bash
setup() {
setup_common
start_sql_server
query_server <<SQL
CREATE TABLE test1 (pk BIGINT PRIMARY KEY, v1 SMALLINT);
INSERT INTO test1 VALUES (1, 2), (6, 7);
SQL
}
teardown() {
teardown_common
}
@test 'pgcatalog: tables do not include data from other databases' {
run query_server --csv -c "SELECT current_database();"
[ "$status" -eq 0 ]
[[ "$output" =~ "current_database" ]] || false
[[ "$output" =~ "postgres" ]] || false
[ "${#lines[@]}" -eq 2 ]
run query_server --csv -c "SELECT attname FROM pg_catalog.pg_attribute WHERE attname = 'pk' and attrelid not in (select oid from pg_catalog.pg_class where left(relname, 5) = 'dolt_');"
[ "$status" -eq 0 ]
[[ "$output" =~ "attname" ]] || false
[[ "$output" =~ "pk" ]] || false
[ "${#lines[@]}" -eq 2 ]
run query_server --csv -c "SELECT relname FROM pg_catalog.pg_class WHERE relname = 'test1';"
[ "$status" -eq 0 ]
[[ "$output" =~ "relname" ]] || false
[[ "$output" =~ "test1" ]] || false
[ "${#lines[@]}" -eq 2 ]
run query_server -c "CREATE DATABASE newdb;"
[ "$status" -eq 0 ]
run query_server_for_db newdb --csv -c "SELECT current_database();"
[ "$status" -eq 0 ]
[[ "$output" =~ "current_database" ]] || false
[[ "$output" =~ "newdb" ]] || false
[ "${#lines[@]}" -eq 2 ]
run query_server_for_db newdb --csv -c "SELECT attname FROM pg_catalog.pg_attribute WHERE attname = 'pk';"
[ "$status" -eq 0 ]
[[ "$output" =~ "attname" ]] || false
[ "${#lines[@]}" -eq 1 ]
run query_server_for_db newdb --csv -c "SELECT relname FROM pg_catalog.pg_class WHERE relname = 'test1';"
[ "$status" -eq 0 ]
[[ "$output" =~ "relname" ]] || false
[ "${#lines[@]}" -eq 1 ]
}