mirror of
https://github.com/dolthub/dolt.git
synced 2026-05-21 03:24:13 -05:00
fixing test and throwing rror for multi db dir flag
This commit is contained in:
@@ -149,6 +149,7 @@ func (cmd SqlCmd) ArgParser() *argparser.ArgParser {
|
||||
ap.SupportsString(messageFlag, "m", "saved query description", "Used with --query and --save, saves the query with the descriptive message given. See also --name")
|
||||
ap.SupportsFlag(BatchFlag, "b", "Use to enable more efficient batch processing for large SQL import scripts consisting of only INSERT statements. Other statements types are not guaranteed to work in this mode.")
|
||||
ap.SupportsString(DataDirFlag, "", "directory", "Defines a directory whose subdirectories should all be dolt data repositories accessible as independent databases within. Defaults the the current directory.")
|
||||
ap.SupportsString(MultiDBDirFlag, "", "directory", "Defines a directory whose subdirectories should all be dolt data repositories accessible as independent databases within. Defaults the the current directory.")
|
||||
ap.SupportsString(CfgDirFlag, "", "directory", "Defines a directory that contains configuration files for dolt. Defaults to $data-dir/.doltcfg.")
|
||||
ap.SupportsFlag(continueFlag, "c", "Continue running queries on an error. Used for batch mode only.")
|
||||
ap.SupportsString(fileInputFlag, "", "input file", "Execute statements from the file given")
|
||||
@@ -194,7 +195,6 @@ func (cmd SqlCmd) Exec(ctx context.Context, commandStr string, args []string, dE
|
||||
var dataDir string
|
||||
dataDirSpecified := false
|
||||
if multiDbDir, ok := apr.GetValue(MultiDBDirFlag); ok {
|
||||
cli.PrintErrln("WARNING: --multi-db-dir is deprecated, use --data-dir instead")
|
||||
dataDir = multiDbDir
|
||||
dataDirSpecified = true
|
||||
}
|
||||
@@ -750,7 +750,7 @@ func validateSqlArgs(apr *argparser.ArgParseResults) error {
|
||||
}
|
||||
}
|
||||
|
||||
if save && dataDir || multiDbDir {
|
||||
if save && (dataDir || multiDbDir) {
|
||||
return errhand.BuildDError("Invalid Argument: --data-dir queries cannot be saved").Build()
|
||||
}
|
||||
|
||||
@@ -773,6 +773,10 @@ func validateSqlArgs(apr *argparser.ArgParseResults) error {
|
||||
}
|
||||
}
|
||||
|
||||
if multiDbDir {
|
||||
cli.PrintErrln("WARNING: --multi-db-dir is deprecated, use --data-dir instead")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -173,6 +173,14 @@ func (cmd SqlServerCmd) Exec(ctx context.Context, commandStr string, args []stri
|
||||
return startServer(newCtx, cmd.VersionStr, commandStr, args, dEnv, controller)
|
||||
}
|
||||
|
||||
func validateSqlServerArgs(apr *argparser.ArgParseResults) error {
|
||||
_, multiDbDir := apr.GetValue(commands.MultiDBDirFlag)
|
||||
if multiDbDir {
|
||||
cli.PrintErrln("WARNING: --multi-db-dir is deprecated, use --data-dir instead")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func startServer(ctx context.Context, versionStr, commandStr string, args []string, dEnv *env.DoltEnv, serverController *ServerController) int {
|
||||
ap := SqlServerCmd{}.ArgParser()
|
||||
help, _ := cli.HelpAndUsagePrinters(cli.CommandDocsForCommandString(commandStr, sqlServerDocs, ap))
|
||||
@@ -181,6 +189,9 @@ func startServer(ctx context.Context, versionStr, commandStr string, args []stri
|
||||
dEnv.Config.SetFailsafes(env.DefaultFailsafeConfig)
|
||||
|
||||
apr := cli.ParseArgsOrDie(ap, args, help)
|
||||
if err := validateSqlServerArgs(apr); err != nil {
|
||||
return 1
|
||||
}
|
||||
serverConfig, err := GetServerConfig(dEnv, apr)
|
||||
|
||||
if err != nil {
|
||||
@@ -273,7 +284,6 @@ func getCommandLineServerConfig(dEnv *env.DoltEnv, apr *argparser.ArgParseResult
|
||||
dataDirSpecified := false
|
||||
if dataDir, ok := apr.GetValue(commands.MultiDBDirFlag); ok {
|
||||
dbNamesAndPaths, err := env.DBNamesAndPathsFromDir(dEnv.FS, dataDir)
|
||||
cli.PrintErrln("WARNING: --multi-db-dir is deprecated, use --data-dir instead")
|
||||
|
||||
if err != nil {
|
||||
return nil, errors.New("failed to read databases in path specified by --data-dir. error: " + err.Error())
|
||||
|
||||
@@ -207,9 +207,10 @@ teardown() {
|
||||
rm -rf inner_db
|
||||
}
|
||||
|
||||
@test "sql: dolt sql -q specify data directory dolt repo" {
|
||||
@test "sql: dolt sql -q specify data directory outside of dolt repo" {
|
||||
# remove files
|
||||
rm -rf datadir
|
||||
rm -rf .doltcfg
|
||||
rm -rf new_repo
|
||||
|
||||
# initialize data directory and inner dbs
|
||||
@@ -231,30 +232,33 @@ teardown() {
|
||||
dolt init
|
||||
cd ..
|
||||
|
||||
# save data path
|
||||
DATADIR=$(pwd)
|
||||
|
||||
cd ..
|
||||
|
||||
# initialize new repo
|
||||
mkdir new_repo
|
||||
cd new_repo
|
||||
|
||||
run dolt sql --data-dir=$BATS_TEST_DIRNAME/datadir -q "show databases"
|
||||
run dolt sql --data-dir=$DATADIR -q "show databases"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "db1" ]] || false
|
||||
[[ $output =~ "db2" ]] || false
|
||||
[[ $output =~ "db3" ]] || false
|
||||
|
||||
run dolt sql --data-dir=$BATS_TEST_DIRNAME/datadir -q "create user new_user"
|
||||
run dolt sql --data-dir=$DATADIR -q "create user new_user"
|
||||
[ $status -eq 0 ]
|
||||
|
||||
run dolt sql --data-dir=$BATS_TEST_DIRNAME/datadir -q "use db1; select user from mysql.user"
|
||||
run dolt sql --data-dir=$DATADIR -q "use db1; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
run dolt sql --data-dir=$BATS_TEST_DIRNAME/datadir -q "use db2; select user from mysql.user"
|
||||
run dolt sql --data-dir=$DATADIR -q "use db2; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
run dolt sql --data-dir=$BATS_TEST_DIRNAME/datadir -q "use db3; select user from mysql.user"
|
||||
run dolt sql --data-dir=$DATADIR -q "use db3; select user from mysql.user"
|
||||
[ $status -eq 0 ]
|
||||
[[ $output =~ "new_user" ]] || false
|
||||
|
||||
@@ -266,10 +270,10 @@ teardown() {
|
||||
[[ $output =~ "new_repo" ]] || false
|
||||
! [[ $output =~ ".doltcfg" ]] || false
|
||||
|
||||
run ls datadir
|
||||
run ls -a datadir
|
||||
[[ $output =~ ".doltcfg" ]] || false
|
||||
|
||||
run ls datadir/.doltcfg
|
||||
run ls -a datadir/.doltcfg
|
||||
[[ $output =~ "privileges.db" ]] || false
|
||||
|
||||
# remove files
|
||||
|
||||
Reference in New Issue
Block a user