Skip to content
Snippets Groups Projects
Commit a6cad567 authored by npedot's avatar npedot
Browse files

adds drop table, drop constraint

parent 4fbbb10e
No related branches found
No related tags found
No related merge requests found
...@@ -120,6 +120,24 @@ class Schema () { ...@@ -120,6 +120,24 @@ class Schema () {
return this return this
} }
fun dropTable(commandArgs:String) : Schema {
var tableNames = commandArgs.split(" ")
for (tableName in tableNames) {
var table = table(tableName)
tables().remove(table)
}
return this
}
fun dropConstraint(commnadArgs:String) : Schema {
var constraintNames = commnadArgs.split(" ")
for (constraintName in constraintNames) {
var constraint = constraint(constraintName)
constraints().remove(constraint)
}
return this
}
fun addFunctional(tableName:String, setExpression: String): Schema { fun addFunctional(tableName:String, setExpression: String): Schema {
val constraintsToAdd = Constraint.set(setExpression) val constraintsToAdd = Constraint.set(setExpression)
for (constraint in constraintsToAdd) { for (constraint in constraintsToAdd) {
......
...@@ -3,9 +3,7 @@ package unibz.cs.semint.kprime.domain ...@@ -3,9 +3,7 @@ package unibz.cs.semint.kprime.domain
import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertEquals
import junit.framework.TestCase.assertTrue import junit.framework.TestCase.assertTrue
import org.junit.Test import org.junit.Test
import unibz.cs.semint.kprime.domain.ddl.Column import unibz.cs.semint.kprime.domain.ddl.*
import unibz.cs.semint.kprime.domain.ddl.Constraint
import unibz.cs.semint.kprime.domain.ddl.Schema
class SchemaTest { class SchemaTest {
...@@ -221,4 +219,30 @@ class SchemaTest { ...@@ -221,4 +219,30 @@ class SchemaTest {
assertEquals(1,schema.doubleIncs().size) assertEquals(1,schema.doubleIncs().size)
} }
@Test
fun test_dropTable() {
// given
var schema = Schema()
schema.addTable("person:name,surname")
assertEquals(1,schema.tables().size)
// when
schema.dropTable("person")
// then
assertEquals(0, schema.tables().size)
}
@Test
fun test_dropConstraint() {
// given
var schema = Schema()
schema.addKey("person:id")
schema.addForeignKey("person:id-->employee:id")
assertEquals(2,schema.constraints().size)
// when
schema.dropConstraint("person.primaryKey")
schema.dropConstraint("person_employee.foreignKey")
// then
assertEquals(0,schema.constraints().size)
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment