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

exposes schema addInclusion and addDoubeInclusion constraint

parent dabe9b9b
No related branches found
No related tags found
No related merge requests found
......@@ -138,6 +138,18 @@ class Schema () {
return addMultivalued(tableName,setExpression)
}
fun addInclusion(commandArgs:String): Schema {
val tableName:String = commandArgs.split(":")[0]
val setExpression: String= commandArgs.split(":")[1]
return addInclusion(tableName,setExpression)
}
fun addDoubleInclusion(commandArgs:String): Schema {
val tableName:String = commandArgs.split(":")[0]
val setExpression: String= commandArgs.split(":")[1]
return addDoubleInclusion(tableName,setExpression)
}
fun addTable(commandArgs:String) : Schema {
val table = SchemaCmdParser.parseTable(commandArgs)
tables().add(table)
......@@ -194,6 +206,30 @@ class Schema () {
return this
}
fun addInclusion(tableName:String, setExpression: String): Schema {
val constraintsToAdd = Constraint.set(setExpression)
for (constraint in constraintsToAdd) {
constraint.name=tableName+".included"
constraint.type=Constraint.TYPE.MULTIVALUED.name
constraint.source.table=tableName
constraint.target.table=tableName
}
constraints().addAll(constraintsToAdd)
return this
}
fun addDoubleInclusion(tableName:String, setExpression: String): Schema {
val constraintsToAdd = Constraint.set(setExpression)
for (constraint in constraintsToAdd) {
constraint.name=tableName+".doubleinc"
constraint.type=Constraint.TYPE.MULTIVALUED.name
constraint.source.table=tableName
constraint.target.table=tableName
}
constraints().addAll(constraintsToAdd)
return this
}
fun addKey(commandArgs:String):Schema {
val tableName:String = commandArgs.split(":")[0]
val attributeNames = commandArgs.split(":")[1]
......
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