simplify connection flags

This commit is contained in:
Stephanie You
2023-11-02 21:15:36 -07:00
parent 111e8f2c5d
commit 7a7a0384f8
12 changed files with 461 additions and 468 deletions
+32 -32
View File
@@ -45,12 +45,12 @@ setup_test_user() {
@test "branch-control: fresh database. branch control tables exist through server interface" {
start_sql_server
run dolt -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql --result-format csv -q "select * from dolt_branch_control"
run dolt sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "%,%,%,%,write" ]
dolt -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "select * from dolt_branch_namespace_control"
dolt sql -q "select * from dolt_branch_namespace_control"
}
@test "branch-control: modify dolt_branch_control from dolt sql then make sure changes are reflected" {
@@ -63,7 +63,7 @@ setup_test_user() {
[ ${lines[1]} = "test-db,test-branch,test,%,write" ]
start_sql_server
run dolt -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql --result-format csv -q "select * from dolt_branch_control"
run dolt sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "test-db,test-branch,test,%,write" ]
@@ -78,13 +78,13 @@ setup_test_user() {
SERVER_PID=$! # will get killed by teardown_common
sleep 5 # not using python wait so this works on windows
run dolt --use-db "dolt_repo_$$" -u root -p "" --port $PORT --host 0.0.0.0 --no-tls sql --result-format csv -q "select * from dolt_branch_control"
run dolt sql --result-format csv -q "select * from dolt_branch_control"
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "%,%,%,%,write" ]
dolt --use-db "dolt_repo_$$" -u root -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "delete from dolt_branch_control where user='%'"
dolt sql -q "delete from dolt_branch_control where user='%'"
run dolt --use-db "dolt_repo_$$" -u root -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "select * from dolt_branch_control"
run dolt sql -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ "$output" == "" ]
}
@@ -97,19 +97,19 @@ setup_test_user() {
start_sql_server
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "create table t (c1 int)"
run dolt sql -q "create table t (c1 int)"
[ $status -ne 0 ]
[[ $output =~ "does not have the correct permissions" ]] || false
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
dolt -u test sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('test-branch'); call dolt_add('t'); call dolt_commit('-m', 'Testing commit');"
dolt -u test sql -q "call dolt_checkout('test-branch'); call dolt_add('t'); call dolt_commit('-m', 'Testing commit');"
# I should also have branch permissions on branches I create
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('-b', 'test-branch-2'); create table t (c1 int)"
dolt sql -q "call dolt_checkout('-b', 'test-branch-2'); create table t (c1 int)"
# Now back to main. Still locked out.
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "create table t (c1 int)"
run dolt sql -q "create table t (c1 int)"
[ $status -ne 0 ]
[[ $output =~ "does not have the correct permissions" ]] || false
}
@@ -126,16 +126,16 @@ setup_test_user() {
start_sql_server
# Admin has no write permission to branch not an admin on
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "create table t (c1 int)"
run dolt -u test sql -q "create table t (c1 int)"
[ $status -ne 0 ]
[[ $output =~ "does not have the correct permissions" ]] || false
# Admin can write
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
dolt -u test sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
# Admin can make other users
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "insert into dolt_branch_control values ('dolt_repo_$$', 'test-branch', 'test2', '%', 'write')"
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql --result-format csv -q "select * from dolt_branch_control"
dolt -u test sql -q "insert into dolt_branch_control values ('dolt_repo_$$', 'test-branch', 'test2', '%', 'write')"
run dolt -u test sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "dolt_repo_$$,test-branch,test,%,admin" ]
@@ -143,7 +143,7 @@ setup_test_user() {
[ ${lines[3]} = "dolt_repo_$$,test-branch,test2,%,write" ]
# test2 can see all branch permissions
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test2 -p "" sql --result-format csv -q "select * from dolt_branch_control"
run dolt -u test2 sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "dolt_repo_$$,test-branch,test,%,admin" ]
@@ -151,18 +151,18 @@ setup_test_user() {
[ ${lines[3]} = "dolt_repo_$$,test-branch,test2,%,write" ]
# test2 now has write permissions on test-branch
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test2 -p "" sql -q "call dolt_checkout('test-branch'); insert into t values(0)"
dolt -u test2 sql -q "call dolt_checkout('test-branch'); insert into t values(0)"
# Remove test2 permissions
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "delete from dolt_branch_control where user='test2'"
dolt -u test sql -q "delete from dolt_branch_control where user='test2'"
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql --result-format csv -q "select * from dolt_branch_control"
run dolt -u test sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "dolt_repo_$$,test-branch,test,%,admin" ]
# test2 cannot write to branch
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test2 -p "" sql -q "call dolt_checkout('test-branch'); insert into t values(1)"
run dolt -u test2 sql -q "call dolt_checkout('test-branch'); insert into t values(1)"
[ $status -ne 0 ]
[[ $output =~ "does not have the correct permissions" ]] || false
}
@@ -174,9 +174,9 @@ setup_test_user() {
start_sql_server
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_branch('test-branch')"
dolt -u test sql -q "call dolt_branch('test-branch')"
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql --result-format csv -q "select * from dolt_branch_control"
run dolt -u test sql --result-format csv -q "select * from dolt_branch_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host,permissions" ]
[ ${lines[1]} = "dolt_repo_$$,main,test,%,write" ]
@@ -195,18 +195,18 @@ branch', 'test', '%', 'admin')"
start_sql_server
run dolt -u test -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql --result-format csv -q "select * from dolt_branch_namespace_control"
run dolt -u test sql --result-format csv -q "select * from dolt_branch_namespace_control"
[ $status -eq 0 ]
[ ${lines[0]} = "database,branch,user,host" ]
[ ${lines[1]} = "dolt_repo_$$,test-%,test2,%" ]
# test cannot create test-branch
run dolt -u test -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test-branch')"
run dolt -u test sql -q "call dolt_branch('test-branch')"
[ $status -ne 0 ]
[[ $output =~ "cannot create a branch" ]] || false
# test2 can create test-branch
dolt -u test2 -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test-branch')"
dolt -u test2 sql -q "call dolt_branch('test-branch')"
}
@test "branch-control: test longest match in branch namespace control" {
@@ -221,13 +221,13 @@ branch', 'test', '%', 'admin')"
start_sql_server
# test can create a branch in its namesapce but not in test2
dolt -u test -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test/branch1')"
run dolt -u test -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test2/branch1')"
dolt -u test sql -q "call dolt_branch('test/branch1')"
run dolt -u test sql -q "call dolt_branch('test2/branch1')"
[ $status -ne 0 ]
[[ $output =~ "cannot create a branch" ]] || false
dolt -u test2 -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test2/branch1')"
run dolt -u test2 -p "" --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "call dolt_branch('test/branch1')"
dolt -u test2 sql -q "call dolt_branch('test2/branch1')"
run dolt -u test2 sql -q "call dolt_branch('test/branch1')"
[ $status -ne 0 ]
[[ $output =~ "cannot create a branch" ]] || false
}
@@ -244,13 +244,13 @@ branch', 'test', '%', 'admin')"
start_sql_server
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
run dolt -u test sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
[ $status -ne 0 ]
[[ $output =~ "does not have the correct permissions" ]] || false
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u admin -p "" sql -q "delete from dolt_branch_control where branch = 'test-branch'"
dolt -u admin sql -q "delete from dolt_branch_control where branch = 'test-branch'"
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" -u test -p "" sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
run dolt -u test sql -q "call dolt_checkout('test-branch'); create table t (c1 int)"
[ $status -eq 0 ]
[[ ! $output =~ "does not have the correct permissions" ]] || false
}
+6 -6
View File
@@ -207,16 +207,16 @@ teardown() {
start_sql_server
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql -q "create database testdb"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql --result-format csv -q "show databases"
dolt sql -q "create database testdb"
run dolt sql --result-format csv -q "show databases"
[ $status -eq 0 ]
[[ "$output" =~ "testdb" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db testdb sql -q "create table a(x int)"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db testdb sql -q "insert into a values (1), (2)"
dolt sql -q "create table a(x int)"
dolt sql -q "insert into a values (1), (2)"
[ -d "testdb" ]
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db testdb sql -q "select * from dolt_log"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db testdb sql -q "select * from dolt_log"
dolt --use-db testdb sql -q "select * from dolt_log"
run dolt --use-db testdb sql -q "select * from dolt_log"
[ "$status" -eq 0 ]
[[ "$output" =~ "Dolt System Account" ]] || false
[[ "$output" =~ "doltuser@dolthub.com" ]] || false
+18 -23
View File
@@ -25,8 +25,7 @@ make_it() {
# branch. It does this by using the hidden variable @dolt_allow_default_branch_deletion to bypass
# the check for deleting a db's default branch.
force_delete_main_branch_on_sqlserver() {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql \
-q "set @dolt_allow_default_branch_deletion=true; call dolt_checkout('to_keep'); call dolt_branch('-D', 'main');"
dolt sql -q "set @dolt_allow_default_branch_deletion=true; call dolt_checkout('to_keep'); call dolt_branch('-D', 'main');"
}
@test "deleted-branches: dolt checkout from CLI works when the db's default branch doesn't exist" {
@@ -55,13 +54,11 @@ force_delete_main_branch_on_sqlserver() {
make_it
start_sql_server "dolt_repo_$$"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql \
-q "call dolt_checkout('to_keep'); show tables;"
run dolt sql -q "call dolt_checkout('to_keep'); show tables;"
force_delete_main_branch_on_sqlserver
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql \
-q "call dolt_checkout('to_keep');"
run dolt sql -q "call dolt_checkout('to_keep');"
[ $status -ne 0 ]
[[ "$output" =~ "cannot resolve default branch head for database 'dolt_repo_$$'" ]] || false
}
@@ -98,12 +95,11 @@ force_delete_main_branch_on_sqlserver() {
make_it
start_sql_server "dolt_repo_$$"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql \
-q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'to_keep'"
dolt sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'to_keep'"
force_delete_main_branch_on_sqlserver
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "describe test"
run dolt sql -q "describe test"
[ $status -eq 0 ]
[[ "$output" =~ "id" ]] || false
}
@@ -115,39 +111,38 @@ force_delete_main_branch_on_sqlserver() {
force_delete_main_branch_on_sqlserver
# Against the default branch it fails
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "SELECT * FROM test"
run dolt sql -q "SELECT * FROM test"
[ $status -ne 0 ]
# Against to_keep it succeeds
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/to_keep" sql -q "SELECT * FROM test"
dolt --use-db "dolt_repo_$$/to_keep" sql -q "SELECT * FROM test"
}
@test "deleted-branches: clients can use revision dbs in sql-server when the global default_branch var is set to an invalid branch" {
make_it
start_sql_server "dolt_repo_$$"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql \
-q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'this_branch_does_not_exist'"
dolt sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'this_branch_does_not_exist'"
# Against the default branch it fails
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "SELECT * FROM test"
run dolt sql -q "SELECT * FROM test"
[ $status -ne 0 ]
# Against main, which exists it succeeds
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/main" sql -q "SELECT * FROM test"
dolt --use-db "dolt_repo_$$/main" sql -q "SELECT * FROM test"
}
@test "deleted-branches: dolt_checkout() from sql-server works when connected to a revision db and the global default_branch var is set to an invalid branch" {
make_it
start_sql_server "dolt_repo_$$"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'this_branch_does_not_exist'"
dolt sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'this_branch_does_not_exist'"
# We are able to use a database branch revision in the connection string
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/main" sql -q "SELECT * FROM test;"
dolt --use-db "dolt_repo_$$/main" sql -q "SELECT * FROM test;"
# Trying to checkout a new branch works
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/main" sql -q "CALL DOLT_CHECKOUT('to_keep');"
dolt --use-db "dolt_repo_$$/main" sql -q "CALL DOLT_CHECKOUT('to_keep');"
# skip this check because of https://github.com/dolthub/dolt/issues/6160
# run dolt branch
@@ -161,10 +156,10 @@ force_delete_main_branch_on_sqlserver() {
force_delete_main_branch_on_sqlserver
# We are able to use a database branch revision in the connection string
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/to_keep" sql -q "SELECT * FROM test;"
dolt --use-db "dolt_repo_$$/to_keep" sql -q "SELECT * FROM test;"
# Trying to checkout a new branch works
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$/to_keep" sql -q "CALL DOLT_CHECKOUT('to_checkout');"
dolt --use-db "dolt_repo_$$/to_keep" sql -q "CALL DOLT_CHECKOUT('to_checkout');"
# skip this check because of https://github.com/dolthub/dolt/issues/6160
# run dolt branch
@@ -176,11 +171,11 @@ force_delete_main_branch_on_sqlserver() {
dolt branch -c to_keep to_checkout
start_sql_server "dolt_repo_$$"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'to_keep'"
dolt sql -q "SET @@GLOBAL.dolt_repo_$$_default_branch = 'to_keep'"
force_delete_main_branch_on_sqlserver
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "SELECT * FROM test"
dolt sql -q "SELECT * FROM test"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db "dolt_repo_$$" sql -q "CALL DOLT_CHECKOUT('to_checkout')"
dolt sql -q "CALL DOLT_CHECKOUT('to_checkout')"
}
+44 -44
View File
@@ -29,123 +29,123 @@ teardown() {
}
@test "events: disabling recurring event should not be dropped" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 1 DAY DO INSERT INTO totals (int_col) VALUES (1);"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "ALTER EVENT insert1 DISABLE; SELECT * FROM information_schema.events;"
dolt sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 1 DAY DO INSERT INTO totals (int_col) VALUES (1);"
run dolt sql -q "ALTER EVENT insert1 DISABLE; SELECT * FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "DISABLED" ]] || false
}
@test "events: disabling current_timestamp one time event after execution" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert9 ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO totals (int_col) VALUES (9);"
dolt sql -q "CREATE EVENT insert9 ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO totals (int_col) VALUES (9);"
# used for debugging
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
dolt sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 0 |" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert8 ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (8);"
dolt sql -q "CREATE EVENT insert8 ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (8);"
# used for debugging
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
dolt sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 2 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SHOW CREATE EVENT insert8;"
run dolt sql -q "SHOW CREATE EVENT insert8;"
[ $status -eq 0 ]
[[ $output =~ "ON COMPLETION PRESERVE DISABLE" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "ALTER EVENT insert8 ON COMPLETION NOT PRESERVE; SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "ALTER EVENT insert8 ON COMPLETION NOT PRESERVE; SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "ALTER EVENT insert8 ENABLE; SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "ALTER EVENT insert8 ENABLE; SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 0 |" ]] || false
}
@test "events: disabling future one time event after execution from the scheduler" {
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert9 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (9); SHOW CREATE EVENT insert9;"
run dolt sql -q "CREATE EVENT insert9 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (9); SHOW CREATE EVENT insert9;"
[ $status -eq 0 ]
[[ $output =~ "ON COMPLETION PRESERVE ENABLE" ]] || false
sleep 4
# used for debugging
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
dolt sql -q "SELECT COUNT(*) FROM totals;"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) >= 1 FROM totals;"
run dolt sql -q "SELECT COUNT(*) >= 1 FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SHOW CREATE EVENT insert9;"
run dolt sql -q "SHOW CREATE EVENT insert9;"
[ $status -eq 0 ]
[[ $output =~ "ON COMPLETION PRESERVE DISABLE" ]] || false
}
@test "events: recurring event with STARTS and ENDS defined" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 5 SECOND DO INSERT INTO totals (int_col) VALUES (1);"
dolt sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 5 SECOND DO INSERT INTO totals (int_col) VALUES (1);"
sleep 10
# used for debugging
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
dolt sql -q "SELECT COUNT(*) FROM totals;"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) >= 2 FROM totals;"
run dolt sql -q "SELECT COUNT(*) >= 2 FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
# should be dropped
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 0 |" ]] || false
}
@test "events: recurring event with ENDS defined" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (1); SELECT SLEEP(5);"
dolt sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (1); SELECT SLEEP(5);"
sleep 3
# used for debugging
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
dolt sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 2 |" ]] || false
# should be disabled
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT * FROM information_schema.events;"
run dolt sql -q "SELECT * FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "DISABLED" ]] || false
}
@test "events: checking out a branch should disable all events leaving the working set dirty" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (1); SELECT SLEEP(5);"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CALL DOLT_COMMIT('-am','commit event changes to totals table')"
dolt sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 2 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO totals (int_col) VALUES (1); SELECT SLEEP(5);"
dolt sql -q "CALL DOLT_COMMIT('-am','commit event changes to totals table')"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CALL DOLT_CHECKOUT('-b','newbranch')"
dolt sql -q "CALL DOLT_CHECKOUT('-b','newbranch')"
# should be disabled
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT * FROM information_schema.events;"
run dolt sql -q "SELECT * FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "DISABLED" ]] || false
}
@test "events: events on default branch still run after switching to non-default branch" {
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 3 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 MINUTE DO INSERT INTO totals (int_col) VALUES (1);"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CALL DOLT_COMMIT('-Am','commit with an event');"
dolt sql -q "CREATE EVENT insert1 ON SCHEDULE EVERY 3 SECOND ENDS CURRENT_TIMESTAMP + INTERVAL 3 MINUTE DO INSERT INTO totals (int_col) VALUES (1);"
dolt sql -q "CALL DOLT_COMMIT('-Am','commit with an event');"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CALL DOLT_CHECKOUT('-b','newbranch');"
dolt sql -q "CALL DOLT_CHECKOUT('-b','newbranch');"
# should be disabled
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 |" ]] || false
# While we are sleeping, the event executor should still be running our event on schedule, on the main branch
sleep 5
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CALL DOLT_CHECKOUT('main'); SELECT COUNT(*) FROM totals;"
run dolt sql -q "CALL DOLT_CHECKOUT('main'); SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ ! $output =~ "| 1 |" ]] || false
}
@@ -171,14 +171,14 @@ delimiter ;
SQL
# Verify that our event ran correctly and inserted three rows
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT * FROM totals;"
run dolt sql -q "SELECT * FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 | 111 |" ]] || false
[[ $output =~ "| 2 | 222 |" ]] || false
[[ $output =~ "| 3 | 333 |" ]] || false
# Verify that the event did not persist after execution
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 0 |" ]] || false
}
@@ -210,15 +210,15 @@ delimiter ;
SQL
# Verify that our event ran correctly and inserted one row
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT * FROM totals;"
run dolt sql -q "SELECT * FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 | 42 |" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 1 " ]] || false
# Verify that the event did not persist after execution
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM information_schema.events;"
run dolt sql -q "SELECT COUNT(*) FROM information_schema.events;"
[ $status -eq 0 ]
[[ $output =~ "| 0 |" ]] || false
}
@@ -237,7 +237,7 @@ SQL
# Verify that our event IS NOT executing (on a non-main branch)
sleep 1
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT COUNT(*) FROM totals;"
run dolt sql -q "SELECT COUNT(*) FROM totals;"
[ $status -eq 0 ]
[[ $output =~ "| 0 " ]] || false
@@ -251,16 +251,16 @@ SQL
# Verify that the new event starts executing on main after we merge it over
sleep 2
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
run dolt sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
[ $status -eq 0 ]
[[ $output =~ "| 1 " ]] || false
}
@test "events: restarting a sql-server correctly schedules existing events" {
# Create the recurring event and make sure it runs at least once
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "CREATE EVENT eventTest1 ON SCHEDULE EVERY 1 SECOND STARTS CURRENT_TIMESTAMP DO INSERT INTO totals (int_col) VALUES (111);"
dolt sql -q "CREATE EVENT eventTest1 ON SCHEDULE EVERY 1 SECOND STARTS CURRENT_TIMESTAMP DO INSERT INTO totals (int_col) VALUES (111);"
sleep 1
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
run dolt sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
[ $status -eq 0 ]
[[ $output =~ "| 1 " ]] || false
@@ -274,7 +274,7 @@ SQL
# Restart the server and assert that the event gets scheduled and executed again
start_sql_server
sleep 1
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
run dolt sql -q "SELECT (SELECT COUNT(*) FROM totals) > 0;"
[ $status -eq 0 ]
[[ $output =~ "| 1 " ]] || false
}
+2 -2
View File
@@ -30,14 +30,14 @@ teardown() {
@test "multidb: database default branches" {
cd dbs1
start_multi_db_server repo1
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "create database new;
dolt sql -q "create database new;
use new;
call dcheckout('-b', 'feat');
create table t (x int);
call dolt_add('.');
call dcommit('-am', 'cm');
set @@global.new_default_branch='feat'"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 sql -q "use repo1"
dolt sql -q "use repo1"
}
@test "multidb: incompatible BIN FORMATs" {
+38 -38
View File
@@ -49,14 +49,14 @@ teardown() {
dolt checkout -b other
start_sql_server repo1
run dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "call dolt_push()"
run dolt sql -q "call dolt_push()"
[ $status -ne 0 ]
[[ "$output" =~ "The current branch other has no upstream branch" ]] || false
dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "call dolt_push('--set-upstream', 'origin', 'other')"
dolt sql -q "call dolt_push('--set-upstream', 'origin', 'other')"
skip "In-memory branch doesn't track upstream"
dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "call dolt_push()"
dolt sql -q "call dolt_push()"
}
@test "remotes-sql-server: push on sql-session commit" {
@@ -66,7 +66,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_to_remote remote1
start_sql_server repo1
dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "CALL DOLT_COMMIT('-am', 'Step 1');"
dolt sql -q "CALL DOLT_COMMIT('-am', 'Step 1');"
stop_sql_server 1 && sleep 0.5
cd ../repo2
@@ -89,7 +89,7 @@ teardown() {
start_sql_server repo1
dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "CALL DOLT_COMMIT('-am', 'Step 1');"
dolt sql -q "CALL DOLT_COMMIT('-am', 'Step 1');"
# wait for the process to exit after we stop it
stop_sql_server 1
@@ -117,7 +117,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2 && sleep 1
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables" --result-format csv
run dolt sql -q "show tables" --result-format csv
[ $status -eq 0 ]
[[ "$output" =~ "Tables_in_repo2" ]] || false
[[ "$output" =~ "test" ]] || false
@@ -132,7 +132,7 @@ teardown() {
start_sql_server repo1 ./server-log.txt
run dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ "Table" ]] || false
@@ -150,7 +150,7 @@ teardown() {
start_sql_server repo1 ./server-log.txt
run dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ "Table" ]] || false
@@ -166,7 +166,7 @@ teardown() {
start_sql_server repo1 ./server-log.txt
run dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[[ "$output" =~ "Table" ]] || false
run grep 'replication disabled' ./server-log.txt
@@ -181,7 +181,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_to_remote unknown
start_sql_server repo1
run dolt --use-db repo1 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ "Tables_in_repo1" ]] || false
[[ "$output" =~ "test" ]] || false
@@ -200,11 +200,11 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main,new_feature
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "call dolt_checkout('new_feature')"
run dolt sql -q "call dolt_checkout('new_feature')"
[ $status -eq 0 ]
[[ "$output" =~ "0" ]] || false
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "select name from dolt_branches order by name"
run dolt sql -q "select name from dolt_branches order by name"
[ $status -eq 0 ]
[[ "$output" =~ "name" ]] || false
[[ "$output" =~ "main" ]] || false
@@ -231,14 +231,14 @@ teardown() {
start_sql_server repo2
# No data on main
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[ "$output" = "" ]
# Connecting to heads that exist only on the remote should work fine (they get fetched)
dolt --use-db "repo2/b1" -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "show tables"
dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q 'use `repo2/b2`'
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q 'select * from `repo2/b2`.test'
dolt --use-db "repo2/b1" sql -q "show tables"
dolt sql -q 'use `repo2/b2`'
run dolt sql -q 'select * from `repo2/b2`.test'
[ $status -eq 0 ]
[[ "$output" =~ "pk" ]] || false
[[ "$output" =~ " 0 " ]] || false
@@ -246,7 +246,7 @@ teardown() {
[[ "$output" =~ " 2 " ]] || false
# Remote branch we have never USEd before
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q 'select * from `repo2/b3`.test'
run dolt sql -q 'select * from `repo2/b3`.test'
[ $status -eq 0 ]
[[ "$output" =~ "pk" ]] || false
[[ "$output" =~ " 0 " ]] || false
@@ -254,11 +254,11 @@ teardown() {
[[ "$output" =~ " 2 " ]] || false
# Connecting to heads that don't exist should error out
run dolt --use-db "repo2/notexist" -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q 'use `repo2/b2`'
run dolt --use-db "repo2/notexist" sql -q 'use `repo2/b2`'
[ $status -ne 0 ]
[[ $output =~ "database not found" ]] || false
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q 'use `repo2/notexist`'
run dolt sql -q 'use `repo2/notexist`'
[ $status -ne 0 ]
[[ $output =~ "database not found" ]] || false
}
@@ -275,7 +275,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ $output =~ "Tables_in_repo2" ]] || false
[[ $output =~ "test" ]] || false
@@ -290,7 +290,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads unknown
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -ne 0 ]
[[ "$output" =~ "remote not found: 'unknown'" ]] || false
}
@@ -304,7 +304,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -ne 0 ]
[[ "$output" =~ "remote not found: 'unknown'" ]] || false
}
@@ -322,7 +322,7 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "SHOW tables"
run dolt sql -q "SHOW tables"
[ $status -eq 0 ]
[ "$output" = "" ]
}
@@ -341,11 +341,11 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "SHOW tables"
run dolt sql -q "SHOW tables"
[ $status -eq 0 ]
[ "$output" = "" ]
run dolt --use-db "repo2/feature-branch" -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "SHOW Tables"
run dolt --use-db "repo2/feature-branch" sql -q "SHOW Tables"
[ $status -eq 0 ]
[[ $output =~ "newTable" ]] || false
}
@@ -363,13 +363,13 @@ teardown() {
dolt config --local --add sqlserver.global.dolt_replicate_heads main
start_sql_server repo2
dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
dolt sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ $output =~ "Tables_in_repo2" ]] || false
[[ $output =~ "test" ]] || false
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "use \`repo2/$head_hash\`"
run dolt sql -q "use \`repo2/$head_hash\`"
[ $status -eq 0 ]
[ "$output" = "Database changed" ]
}
@@ -388,13 +388,13 @@ teardown() {
dolt tag v1
start_sql_server repo2
dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
dolt sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ $output =~ "Tables_in_repo2" ]] || false
[[ $output =~ "test" ]] || false
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "use \`repo2/v1\`"
run dolt sql -q "use \`repo2/v1\`"
[ $status -eq 0 ]
[ "$output" = "Database changed" ]
}
@@ -420,16 +420,16 @@ teardown() {
start_sql_server repo2
# No data on main
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[ "$output" = "" ]
run dolt --use-db repo2/feature --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "select active_branch()"
run dolt --use-db repo2/feature sql -q "select active_branch()"
[ $status -eq 0 ]
[[ "$output" =~ "feature" ]] || false
[[ ! "$output" =~ "main" ]] || false
run dolt --use-db repo2/feature --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt --use-db repo2/feature sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ "Tables_in_repo2/feature" ]] || false
[[ "$output" =~ "test" ]] || false
@@ -462,11 +462,11 @@ teardown() {
dolt branch newbranch
dolt push remote1 newbranch
run dolt --use-db repo2/feature --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "select active_branch()"
run dolt --use-db repo2/feature --port $PORT --host 0.0.0.0 --no-tls -u dolt sql -q "select active_branch()"
[ $status -eq 0 ]
[[ "$output" =~ "feature" ]] || false
run dolt --use-db repo2/newbranch --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "select active_branch()"
run dolt --use-db repo2/newbranch --port $PORT --host 0.0.0.0 --no-tls -u dolt sql -q "select active_branch()"
[ $status -eq 0 ]
[[ "$output" =~ "newbranch" ]] || false
@@ -495,11 +495,11 @@ teardown() {
start_sql_server repo2 >> server_log.txt 2>&1
# No data on main
run dolt --use-db repo2 --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[ "$output" = "" ]
run dolt --use-db repo2/feature --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "select active_branch()"
run dolt --use-db repo2/feature sql -q "select active_branch()"
[ $status -eq 1 ]
[[ "$output" =~ "'feature' matched multiple remote tracking branches" ]] || false
+16 -16
View File
@@ -294,15 +294,15 @@ SQL
start_multi_db_server repo1
cd ..
dolt --use-db repo1 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t1 (a int primary key)"
dolt --use-db repo1 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo1 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
dolt --use-db repo2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t2 (a int primary key)"
dolt --use-db repo2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
dolt --use-db repo3 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t3 (a int primary key)"
dolt --use-db repo3 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo3 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
dolt --use-db repo1 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t1 (a int primary key)"
dolt --use-db repo1 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo1 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
dolt --use-db repo2 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t2 (a int primary key)"
dolt --use-db repo2 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo2 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
dolt --use-db repo3 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "create table t3 (a int primary key)"
dolt --use-db repo3 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_add('.')"
dolt --use-db repo3 -u dolt --port $PORT --host 0.0.0.0 --no-tls sql -q "call dolt_commit('-am', 'cm')"
clone_helper $TMPDIRS
@@ -348,17 +348,17 @@ SQL
cd dbs1
start_multi_db_server repo1
run dolt --use-db repo1 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "show tables"
run dolt --use-db repo1 sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ Tables_in_repo1 ]] || false
[[ "$output" =~ t1 ]] || false
run dolt --use-db repo2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "show tables"
run dolt --use-db repo2 sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ Tables_in_repo2 ]] || false
[[ "$output" =~ t2 ]] || false
run dolt --use-db repo3 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "show tables"
run dolt --use-db repo3 sql -q "show tables"
[ $status -eq 0 ]
[[ "$output" =~ Tables_in_repo3 ]] || false
[[ "$output" =~ t3 ]] || false
@@ -386,12 +386,12 @@ SQL
cd dbs1
start_multi_db_server repo1
run dolt --use-db repo1/b2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "select * from t1"
run dolt --use-db repo1/b2 sql -q "select * from t1"
[ $status -eq 0 ]
[[ "$output" =~ 2 ]] || false
[[ ! "$output" =~ 1 ]] || false
run dolt --use-db repo1/b2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "select count(*) from dolt_status"
run dolt --use-db repo1/b2 sql -q "select count(*) from dolt_status"
[ $status -eq 0 ]
[[ "$output" =~ 0 ]] || false
@@ -408,11 +408,11 @@ SQL
cd dbs1
start_multi_db_server repo1
run dolt --use-db repo1/b2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "select * from t1"
run dolt --use-db repo1/b2 sql -q "select * from t1"
[ $status -eq 0 ]
[[ "$output" =~ 3 ]] || false
run dolt --use-db repo1/b2 -u dolt -p "" --port $PORT --host 0.0.0.0 --no-tls sql -q "select count(*) from dolt_status"
run dolt --use-db repo1/b2 sql -q "select count(*) from dolt_status"
[ $status -eq 0 ]
[[ "$output" =~ 0 ]] || false
}
@@ -45,9 +45,9 @@ teardown() {
@test "sql-charsets-collations: define charset and collation on a database" {
start_sql_server
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql -q "CREATE DATABASE test CHARACTER SET latin1 COLLATE latin1_swedish_ci;"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test sql -q "SELECT @@character_set_database; set @@SESSION.character_set_database=latin1"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test sql -q "SELECT @@character_set_database; set @@SESSION.collation_database=latin1_swedish_ci"
dolt sql -q "CREATE DATABASE test CHARACTER SET latin1 COLLATE latin1_swedish_ci;"
dolt sql -q "SELECT @@character_set_database; set @@SESSION.character_set_database=latin1"
dolt sql -q "SELECT @@character_set_database; set @@SESSION.collation_database=latin1_swedish_ci"
stop_sql_server
sleep 0.5
}
+4 -4
View File
@@ -578,7 +578,7 @@ SQL
start_sql_server
run dolt --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "
run dolt sql -q "
load data local infile 'in.csv' into table t
fields terminated by ','
lines terminated by '\n'
@@ -588,7 +588,7 @@ lines terminated by '\n'
# This should work but does not because of dolt sql
# mysql -e works locally
run dolt --port $PORT --host 0.0.0.0 --no-tls -u dolt -p "" sql -q "
run dolt sql -q "
set global local_infile=1;
load data local infile 'in.csv' into table t
fields terminated by ','
@@ -621,11 +621,11 @@ CSV
start_sql_server
# File not found errors
run dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 -u dolt -p "" sql -q "load data infile 'foo.csv' into table t"
run dolt sql -q "load data infile 'foo.csv' into table t"
[ $status -ne 0 ]
[[ $output =~ "no such file or directory" ]] || false
dolt --port $PORT --host 0.0.0.0 --no-tls --use-db repo1 -u dolt -p "" sql -q "
dolt sql -q "
load data infile 'in.csv' into table t
fields terminated by ','
lines terminated by '\n'
+59 -59
View File
@@ -61,12 +61,12 @@ teardown() {
SQL_USER='root'
wait_for_connection $PORT 5000
run dolt -u root --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user order by user"
run dolt sql -q "select user from mysql.user order by user"
[ $status -eq 0 ]
[[ $output =~ "root" ]] || false
dolt -u root --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
run dolt -u root --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user order by user"
dolt sql -q "create user new_user"
run dolt sql -q "select user from mysql.user order by user"
[ $status -eq 0 ]
[[ $output =~ "root" ]] || false
[[ $output =~ "new_user" ]] || false
@@ -81,7 +81,7 @@ teardown() {
SQL_USER='new_user'
wait_for_connection $PORT 5000
run dolt -u root --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user order by user"
run dolt -u root sql -q "select user from mysql.user order by user"
[ $status -ne 0 ]
}
@@ -91,12 +91,12 @@ teardown() {
start_sql_server_with_config test_db server.yaml
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user order by user"
run dolt sql -q "select user from mysql.user order by user"
[ $status -eq 0 ]
[[ $output =~ "dolt" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user order by user"
dolt sql -q "create user new_user"
run dolt sql -q "select user from mysql.user order by user"
[ $status -eq 0 ]
[[ $output =~ "dolt" ]] || false
[[ $output =~ "new_user" ]] || false
@@ -129,7 +129,7 @@ behavior:
sleep 5
run dolt -u cmddolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt -u cmddolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ "cmddolt" ]] || false
}
@@ -156,7 +156,7 @@ behavior:
SERVER_PID=$!
sleep 5
run dolt -u cmddolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt -u cmddolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ "cmddolt" ]] || false
}
@@ -168,13 +168,13 @@ behavior:
start_sql_server_with_config test_db server.yaml
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -194,13 +194,13 @@ behavior:
start_sql_server_with_config test_db server.yaml
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -220,14 +220,14 @@ behavior:
start_sql_server_with_args --host 0.0.0.0 --user=dolt --privilege-file=privs.json
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ privs_user ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -242,7 +242,7 @@ behavior:
stop_sql_server
start_sql_server_with_args --host 0.0.0.0 --user=dolt --privilege-file=privs.json
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -267,13 +267,13 @@ behavior:
run ls -a
! [[ "$output" =~ ".doltcfg" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -289,7 +289,7 @@ behavior:
make_test_repo
start_sql_server_with_args --host 127.0.0.1 --user=dolt
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql --result-format csv -q "select user, host from mysql.user order by user"
run dolt sql --result-format csv -q "select user, host from mysql.user order by user"
[ $status -eq 0 ]
[[ "$output" =~ "dolt,%" ]] || false
}
@@ -366,13 +366,13 @@ behavior:
! [[ "$output" =~ ".doltcfg" ]] || false
! [[ "$output" =~ "doltcfgdir" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -394,13 +394,13 @@ behavior:
! [[ "$output" =~ ".doltcfg" ]] || false
! [[ "$output" =~ "privs.db" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -510,13 +510,13 @@ behavior:
! [[ "$output" =~ "doltcfgdir" ]] || false
! [[ "$output" =~ "privs.db" ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -583,7 +583,7 @@ behavior:
dolt init
start_sql_server_with_args --host 0.0.0.0 --user=dolt
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user new_user"
dolt sql -q "create user new_user"
stop_sql_server
sleep 1
run ls -a
@@ -593,7 +593,7 @@ behavior:
cd db_dir
start_sql_server_with_args --host 0.0.0.0 --user=dolt
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db db1 sql -q "select user from mysql.user"
run dolt sql -q "select user from mysql.user"
[ $status -eq 0 ]
[[ $output =~ dolt ]] || false
[[ $output =~ new_user ]] || false
@@ -604,54 +604,54 @@ behavior:
SQL_USER='dolt'
start_sql_server
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create table t1(c1 int)"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user test"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "grant select on test_db.* to test"
dolt sql -q "create table t1(c1 int)"
dolt sql -q "create user test"
dolt sql -q "grant select on test_db.* to test"
# Should only see test_db database
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql -q "show databases"
run dolt sql -q "show databases"
[ $status -eq 0 ]
[[ $output =~ test_db ]] || false
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "show tables"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ $output =~ t1 ]] || false
# check information_schema.SCHEMA_PRIVILEGES table
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select * from information_schema.SCHEMA_PRIVILEGES;"
run dolt sql -q "select * from information_schema.SCHEMA_PRIVILEGES;"
[[ "$output" =~ "| 'test'@'%' | def | test_db | SELECT | NO |" ]] || false
# Revoke works as expected
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "revoke select on test_db.* from test"
run dolt -u test --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "show tables"
dolt sql -q "revoke select on test_db.* from test"
run dolt -u test sql -q "show tables"
[ $status -ne 0 ]
# Host in privileges is respected
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "drop user test"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user test@'127.0.0.1'"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "grant select on test_db.* to test@'127.0.0.1'"
run dolt -u dolt --port $PORT --host 127.0.0.1 --no-tls --use-db test_db sql -q "show tables"
dolt sql -q "drop user test"
dolt sql -q "create user test@'127.0.0.1'"
dolt sql -q "grant select on test_db.* to test@'127.0.0.1'"
run dolt sql -q "show tables"
[ $status -eq 0 ]
[[ $output =~ t1 ]] || false
# check information_schema.SCHEMA_PRIVILEGES table
run dolt -u dolt --port $PORT --host 127.0.0.1 --no-tls --use-db test_db sql -q "select * from information_schema.SCHEMA_PRIVILEGES;"
run dolt sql -q "select * from information_schema.SCHEMA_PRIVILEGES;"
[[ "$output" =~ "| 'test'@'127.0.0.1' | def | test_db | SELECT | NO |" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "grant update on test_db.t1 to test@'127.0.0.1'"
dolt sql -q "grant update on test_db.t1 to test@'127.0.0.1'"
# check information_schema.TABLE_PRIVILEGES table
run dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select * from information_schema.TABLE_PRIVILEGES;"
run dolt sql -q "select * from information_schema.TABLE_PRIVILEGES;"
[[ "$output" =~ "| 'test'@'127.0.0.1' | def | test_db | t1 | UPDATE | NO |" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "grant insert on *.* to test@'127.0.0.1'"
dolt sql -q "grant insert on *.* to test@'127.0.0.1'"
# check information_schema.USER_PRIVILEGES table
run dolt -u test --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "select * from information_schema.USER_PRIVILEGES;"
run dolt -u test sql -q "select * from information_schema.USER_PRIVILEGES;"
[[ "$output" =~ "| 'test'@'127.0.0.1' | def | INSERT | NO |" ]] || false
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "drop user test@'127.0.0.1'"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "create user test@'10.10.10.10'"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db test_db sql -q "grant select on test_db.* to test@'10.10.10.10'"
run dolt -u test --port $PORT --host 127.0.0.1 --no-tls --use-db test_db sql -q "show tables"
dolt sql -q "drop user test@'127.0.0.1'"
dolt sql -q "create user test@'10.10.10.10'"
dolt sql -q "grant select on test_db.* to test@'10.10.10.10'"
run dolt -u test sql -q "show tables"
[ $status -ne 0 ]
}
@@ -659,11 +659,11 @@ behavior:
make_test_repo
start_sql_server
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql -q "create user test identified by 'test'"
dolt -u dolt --port $PORT --host 0.0.0.0 --no-tls --use-db '' sql -q "grant select on mysql.user to test"
dolt sql -q "create user test identified by 'test'"
dolt sql -q "grant select on mysql.user to test"
# Should not be able to connect to test_db
run dolt --port $PORT --host 0.0.0.0 --no-tls -u test -p test --use-db test_db sql -q "select user from mysql.user order by user"
run dolt -u test -p test --use-db test_db sql -q "select user from mysql.user order by user"
[ $status -ne 0 ]
run dolt --port $PORT --host 0.0.0.0 --no-tls -u test -p test --use-db '' sql -q "select user from mysql.user"
@@ -672,7 +672,7 @@ behavior:
[[ $output =~ test ]] || false
# Bad password can't connect
run dolt --port $PORT --host 0.0.0.0 --no-tls -u test -p bad --use-db '' sql -q "select user from mysql.user order by user"
run dolt -u test -p bad --use-db '' sql -q "select user from mysql.user order by user"
[ $status -ne 0 ]
# Should only see mysql database
@@ -43,7 +43,7 @@ teardown() {
run dolt sql -q 'select count(*) from vals'
[[ "$output" =~ "5" ]] || false
dolt -u root -p "" sql -q "
dolt -u root --port 3306 --host localhost --no-tls sql -q "
use remote;
insert into vals (i) values (6), (7), (8), (9), (10);
call dolt_commit('-am', 'add some vals');
@@ -66,7 +66,7 @@ call dolt_commit('-am', 'add some vals');
# By cloning here, we have a near-at-hand way to wait for the server to be ready.
dolt clone http://localhost:50051/remote cloned_remote
dolt -u root -p "" sql -q "
dolt -u root --port 3306 --host localhost --no-tls sql -q "
create database created;
use created;
create table vals (i int);
@@ -148,13 +148,13 @@ SQL
# move CWD to make sure we don't lock ".../read_replica/db"
mkdir tmp && cd tmp
dolt -u root -p "" sql -q "
dolt -u root --port 3307 --host 127.0.0.1 --no-tls sql -q "
use db;
insert into vals values (1), (2), (3), (4), (5);
call dolt_commit('-am', 'insert 1-5.');
"
run dolt --port 3307 --host 127.0.0.1 -u root -p "" sql -q "
run dolt --port 3307 --host 127.0.0.1 --no-tls -u root sql -q "
use db;
select count(*) from vals;
"
File diff suppressed because it is too large Load Diff