Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions modules/core/shared/src/main/scala/data/Completion.scala
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ object Completion {
case object Show extends Completion
case object Do extends Completion
case object CreateView extends Completion
case object AlterView extends Completion
case object DropView extends Completion
case object CreateProcedure extends Completion
case object DropProcedure extends Completion
Expand All @@ -55,6 +56,7 @@ object Completion {
case object DropRole extends Completion
case object AlterRole extends Completion
case object CreateMaterializedView extends Completion
case object AlterMaterializedView extends Completion
case object RefreshMaterializedView extends Completion
case object DropMaterializedView extends Completion
case object CreateExtension extends Completion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ object CommandComplete {
case "DROP PROCEDURE" => apply(Completion.DropProcedure)
case "CALL" => apply(Completion.Call)
case "CREATE VIEW" => apply(Completion.CreateView)
case "ALTER VIEW" => apply(Completion.AlterView)
case "DROP VIEW" => apply(Completion.DropView)
case "CREATE DOMAIN" => apply(Completion.CreateDomain)
case "DROP DOMAIN" => apply(Completion.DropDomain)
Expand All @@ -89,6 +90,7 @@ object CommandComplete {
case "DROP ROLE" => apply(Completion.DropRole)
case "ALTER ROLE" => apply(Completion.AlterRole)
case "CREATE MATERIALIZED VIEW" => apply(Completion.CreateMaterializedView)
case "ALTER MATERIALIZED VIEW" => apply(Completion.AlterMaterializedView)
case "REFRESH MATERIALIZED VIEW" => apply(Completion.RefreshMaterializedView)
case "DROP MATERIALIZED VIEW" => apply(Completion.DropMaterializedView)
case "CREATE EXTENSION" => apply(Completion.CreateExtension)
Expand Down
14 changes: 12 additions & 2 deletions modules/tests/shared/src/test/scala/CommandTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,9 @@ class CommandTest extends SkunkTest {
SELECT * FROM city
""".command

val alterView: Command[Void] =
sql"ALTER VIEW city_view SET (security_barrier = true)".command

val dropView: Command[Void] =
sql"""
DROP VIEW city_view
Expand Down Expand Up @@ -278,6 +281,9 @@ class CommandTest extends SkunkTest {
SELECT now()
""".command

val alterMaterializedView: Command[Void] =
sql"ALTER MATERIALIZED VIEW my_foo_mv SET (fillfactor = 90)".command

val createUniqueIndexForMaterializedView: Command[Void] =
sql"""
CREATE UNIQUE INDEX IF NOT exists my_foo_mv_unique ON my_foo_mv(now)
Expand Down Expand Up @@ -469,22 +475,26 @@ class CommandTest extends SkunkTest {
} yield "ok"
}

sessionTest("create view, drop view"){ s=>
sessionTest("create view, alter view, drop view"){ s=>
for{
c <- s.execute(createView)
_ <- assertEqual("completion", c, Completion.CreateView)
c <- s.execute(alterView)
_ <- assertEqual("completion", c, Completion.AlterView)
c <- s.execute(dropView)
_ <- assertEqual("completion", c, Completion.DropView)
_ <- s.assertHealthy
} yield "ok"
}

sessionTest("refresh materialized view, refresh materialized view concurrently") { s =>
sessionTest("alter materialized view, refresh materialized view, refresh materialized view concurrently") { s =>
for {
c <- s.execute(createMaterializedView)
_ <- assertEqual("completion", c, Completion.Select(1))
c <- s.execute(createMaterializedView)
_ <- assertEqual("completion", c, Completion.CreateMaterializedView)
c <- s.execute(alterMaterializedView)
_ <- assertEqual("completion", c, Completion.AlterMaterializedView)
c <- s.execute(refreshMaterializedView)
_ <- assertEqual("completion", c, Completion.RefreshMaterializedView)
c <- s.execute(createUniqueIndexForMaterializedView)
Expand Down
Loading