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

adds multivalued dependency to schema

parent a5f54af8
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,7 @@ class Constraint(): Labelled { ...@@ -24,6 +24,7 @@ class Constraint(): Labelled {
CANDIDATE_KEY, CANDIDATE_KEY,
SURROGATE_KEY, SURROGATE_KEY,
FUNCTIONAL, FUNCTIONAL,
MULTIVALUED,
DOUBLE_INCLUSION, DOUBLE_INCLUSION,
INCLUSION, INCLUSION,
PARTITION, PARTITION,
......
...@@ -132,6 +132,12 @@ class Schema () { ...@@ -132,6 +132,12 @@ class Schema () {
return addFunctional(tableName,setExpression) return addFunctional(tableName,setExpression)
} }
fun addMultivalued(commandArgs:String): Schema {
val tableName:String = commandArgs.split(":")[0]
val setExpression: String= commandArgs.split(":")[1]
return addMultivalued(tableName,setExpression)
}
fun addTable(commandArgs:String) : Schema { fun addTable(commandArgs:String) : Schema {
val table = SchemaCmdParser.parseTable(commandArgs) val table = SchemaCmdParser.parseTable(commandArgs)
tables().add(table) tables().add(table)
...@@ -176,6 +182,18 @@ class Schema () { ...@@ -176,6 +182,18 @@ class Schema () {
return this return this
} }
fun addMultivalued(tableName:String, setExpression: String): Schema {
val constraintsToAdd = Constraint.set(setExpression)
for (constraint in constraintsToAdd) {
constraint.name=tableName+".multivalued"
constraint.type=Constraint.TYPE.MULTIVALUED.name
constraint.source.table=tableName
constraint.target.table=tableName
}
constraints().addAll(constraintsToAdd)
return this
}
fun addKey(commandArgs:String):Schema { fun addKey(commandArgs:String):Schema {
val tableName:String = commandArgs.split(":")[0] val tableName:String = commandArgs.split(":")[0]
val attributeNames = commandArgs.split(":")[1] 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