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

adds contraint remove with table remove, and apply change use schema exposed methods dropTable

parent 581d6fcc
No related branches found
No related tags found
No related merge requests found
......@@ -123,8 +123,16 @@ class Schema () {
fun dropTable(commandArgs:String) : Schema {
var tableNames = commandArgs.split(" ")
for (tableName in tableNames) {
var table = table(tableName)
tables().remove(table)
val t= table(tableName)
if (t!=null){ tables().remove(t)}
val toRemove = mutableListOf<Constraint>()
for (constr in constraints()) {
if (constr.source.table.equals(tableName))
toRemove.add(constr)
if (constr.target.table.equals(tableName))
toRemove.add(constr)
}
constraints().removeAll(toRemove)
}
return this
}
......
package unibz.cs.semint.kprime.usecase.common
import unibz.cs.semint.kprime.domain.ddl.Constraint
import unibz.cs.semint.kprime.domain.ddl.Database
import unibz.cs.semint.kprime.domain.dml.*
import unibz.cs.semint.kprime.usecase.service.IXMLSerializerService
......@@ -32,15 +33,16 @@ class ApplyChangeSetUseCase(serializer : IXMLSerializerService) {
db.schema.tables().add(createTable)
return db
}
fun createConstraint(db:Database, createConstraint: CreateConstraint): Database {
db.schema.constraints().add(createConstraint)
return db
}
fun dropTable(db:Database, dropTable: DropTable):Database {
if (db.schema.tables().isEmpty()) return db
if (db.schema==null) return db
val t= db.schema.table(dropTable.tableName)
if (t!=null){ db.schema.tables().remove(t)}
db.schema.dropTable(dropTable.tableName)
return db
}
......
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