Skip to content

Commit

Permalink
Merge pull request #901 from wonk1132/alterDb
Browse files Browse the repository at this point in the history
add ALTER DATABASE to completion/commandcomplete
  • Loading branch information
mpilquist authored Jun 30, 2023
2 parents 800d304 + fb74951 commit 9ac10b7
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 1 deletion.
1 change: 1 addition & 0 deletions modules/core/shared/src/main/scala/data/Completion.scala
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ object Completion {
case object DropSequence extends Completion
case object CreateDatabase extends Completion
case object DropDatabase extends Completion
case object AlterDatabase extends Completion
case object CreateRole extends Completion
case object DropRole extends Completion
case object CreateMaterializedView extends Completion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ object CommandComplete {
case "DROP SEQUENCE" => apply(Completion.DropSequence)
case "CREATE DATABASE" => apply(Completion.CreateDatabase)
case "DROP DATABASE" => apply(Completion.DropDatabase)
case "ALTER DATABASE" => apply(Completion.AlterDatabase)
case "CREATE ROLE" => apply(Completion.CreateRole)
case "DROP ROLE" => apply(Completion.DropRole)
case "CREATE MATERIALIZED VIEW" => apply(Completion.CreateMaterializedView)
Expand Down
19 changes: 18 additions & 1 deletion modules/tests/shared/src/test/scala/CommandTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,16 @@ class CommandTest extends SkunkTest {
CREATE DATABASE skunk_database
""".command

val alterDatabaseTemplateOn: Command[Void] =
sql"""
ALTER DATABASE skunk_database WITH is_template = TRUE
""".command

val alterDatabaseTemplateOff: Command[Void] =
sql"""
ALTER DATABASE skunk_database WITH is_template = FALSE
""".command

val dropDatabase: Command[Void] =
sql"""
DROP DATABASE IF EXISTS skunk_database
Expand Down Expand Up @@ -421,10 +431,17 @@ class CommandTest extends SkunkTest {
} yield "ok"
}

sessionTest("create database, drop database"){ s=>
sessionTest("create database, alter database, drop database"){ s=>
for{
c <- s.execute(createDatabase)
_ <- assert("completion", c == Completion.CreateDatabase)
acOn <- s.execute(alterDatabaseTemplateOn)
_ <- assert("completion", acOn == Completion.AlterDatabase)

// in order to drop a database, it must not be a template, so flip template = false again
acOff <- s.execute(alterDatabaseTemplateOff)

_ <- assert("completion", acOff == Completion.AlterDatabase)
c <- s.execute(dropDatabase)
_ <- assert("completion", c == Completion.DropDatabase)
} yield "ok"
Expand Down

0 comments on commit 9ac10b7

Please sign in to comment.