mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-12 19:39:32 -05:00
simplify connection flags
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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')"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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" {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user