Files
dolt/integration-tests/bats/sql-show.bats

66 lines
2.0 KiB
Bash

#!/usr/bin/env bats
load $BATS_TEST_DIRNAME/helper/common.bash
setup() {
setup_common
}
teardown() {
assert_feature_version
teardown_common
}
@test "sql-show: show table status on auto-increment table" {
dolt sql -q "CREATE TABLE test(pk int NOT NULL AUTO_INCREMENT, c1 int, PRIMARY KEY (pk))"
run dolt sql -q "show table status;"
[ "$status" -eq 0 ]
[[ "$output" =~ "test" ]] || false
dolt sql -q "INSERT INTO test (c1) VALUES (0)"
run dolt sql -q "show table status;"
[ "$status" -eq 0 ]
[[ "$output" =~ "test" ]] || false
}
@test "sql-show: show table status has null auto-increment column when table does not auto-increment" {
dolt sql -q "CREATE TABLE test(pk int NOT NULL, c1 int, PRIMARY KEY (pk))"
run dolt sql -q "show table status where \`Auto_increment\`=1;"
[ "$status" -eq 0 ]
! [[ "$output" = "test" ]] || false
dolt sql -q "INSERT INTO test VALUES (1, 0)"
run dolt sql -q "show table status where \`Auto_increment\`=2;"
[ "$status" -eq 0 ]
! [[ "$output" =~ "test" ]] || false
}
@test "sql-show: show table status has number of rows correct" {
dolt sql -q "CREATE TABLE test(pk int NOT NULL AUTO_INCREMENT, c1 int, PRIMARY KEY (pk))"
run dolt sql -q 'show table status where `Rows`=0'
[ "$status" -eq 0 ]
[[ "$output" =~ "test" ]] || false
dolt sql -q "INSERT INTO test (c1) VALUES (0)"
run dolt sql -q 'show table status where `Rows`=1;'
[ "$status" -eq 0 ]
[[ "$output" =~ "test" ]] || false
}
@test "sql-show: show table status shows a data length > 0" {
dolt sql -q "CREATE TABLE test(pk int NOT NULL AUTO_INCREMENT, c1 int, PRIMARY KEY (pk))"
run dolt sql -q "show table status where \`Data_length\`=0"
[ "$status" -eq 0 ]
[[ "$output" =~ "test" ]] || false
dolt sql -q "INSERT INTO test (c1) VALUES (0),(1)"
run dolt sql -q "show table status where \`Data_length\`>0"
[ "$status" -eq 0 ]
# Looking for 32 bytes (2 cols * 2 * rows * 8 int bytes)
[[ "$output" =~ "32" ]] || false
}