Comment : Charset=windows-1252
Request : assert attribute,attribute(tuple(attributename(int1)typename(int))tuple(attributename(int2)typename(int)))
Reply   : 

Request : cmd(assert relvar,relvar(tuple(relvarname(tcldbc1a)relvarpredicate(from int1 to int2.))tuple(relvarname(tcldbc1b)relvarpredicate(from int1 to int2.))))cmd(assert relvarattribute,relvarattribute(tuple(relvarname(tcldbc1a)attributename(int1))tuple(relvarname(tcldbc1a)attributename(int2))tuple(relvarname(tcldbc1b)attributename(int1))tuple(relvarname(tcldbc1b)attributename(int2))))
Reply   : 

Request : cmd(assert dbmsfile,dbmsfile(tuple(filename(tcldbc1a.spdb)pagesize(8192))))cmd(assert storagespace,storagespace(tuple(filename(tcldbc1a.spdb)extentscount(2)pagecount(20)storagespaceid(1))tuple(filename(tcldbc1a.spdb)extentscount(2)pagecount(20)storagespaceid(2))))cmd(assert dataspace,dataspace(tuple(filename(tcldbc1a.spdb)storagespaceid(1)gapcompressionthreshold(5)maximumgaps(9))))cmd(assert multihashingindexspace,multihashingindexspace(tuple(filename(tcldbc1a.spdb)storagespaceid(2)gapcompressionthreshold(5)maximumgaps(9))))
Reply   : 

Request : cmd(assert recordtype,recordtype(tuple(filename(tcldbc1a.spdb)storagespaceid(1)recordtypename(r_tcldbc1)indexname(l_r_tcldbc1)relvarname(tcldbc1a))tuple(filename(tcldbc1a.spdb)storagespaceid(1)recordtypename(r_tcldbc1)indexname(l_r_tcldbc1)relvarname(tcldbc1b))))cmd(assert index,index(tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1a)indexname(l_r_tcldbc1))tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1a)indexname(ix2a))tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1b)indexname(l_r_tcldbc1))))cmd(assert recordattribute,recordattribute(tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1a)attributename(int1)ordinal(10))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1a)attributename(int2)ordinal(20))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1b)attributename(int1)ordinal(10))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1b)attributename(int2)ordinal(20))))cmd(assert indexcomponent,indexcomponent(tuple(relvarname(tcldbc1a)indexname(l_r_tcldbc1)ordinal(10)sp_expression(int1))tuple(relvarname(tcldbc1a)indexname(ix2a)ordinal(10)sp_expression(int2))tuple(relvarname(tcldbc1b)indexname(l_r_tcldbc1)ordinal(10)sp_expression(int2))))
Reply   : 

Request : assert databaseconstraint,databaseconstraint(tuple(constraintlabel(no circular paths)errorcode(121101)sp_expression(restrict\(tclose\(tcldbc1a,\(int1,int2\)\),eq\(int1,int2\)\)))tuple(constraintlabel(no circular paths)errorcode(121102)sp_expression(restrict\(tclose\(tcldbc1b,\(int1,int2\)\),eq\(int1,int2\)\))))
Reply   : 

Request : delete tcldbc1a,tcldbc1a
Reply   : 
Request : delete tcldbc1b,tcldbc1b
Reply   : 
Request : commit
Reply   : 
Request : assert tcldbc1a,tcldbc1a(tuple(int1(1)int2(5))tuple(int1(5)int2(9)))
Reply   : 
Request : assert tcldbc1b,tcldbc1b(tuple(int1(1)int2(5))tuple(int1(5)int2(9)))
Reply   : 
Request : commit
Reply   : 

Comment : should fail
Request : assert tcldbc1a,tcldbc1a(tuple(int1(9)int2(1)))
Reply   : 201806116:121101:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.
Request : assert tcldbc1b,tcldbc1b(tuple(int1(9)int2(1)))
Reply   : 201806116:121102:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.
Request : assert tcldbc1a,tcldbc1a(tuple(int1(9)int2(7))tuple(int1(7)int2(1)))
Reply   : 201806116:121101:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.
Request : assert tcldbc1b,tcldbc1b(tuple(int1(9)int2(7))tuple(int1(7)int2(1)))
Reply   : 201806116:121102:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.
Request : assert tcldbc1a,tcldbc1a(tuple(int1(9)int2(7))tuple(int1(7)int2(3))tuple(int1(3)int2(1)))
Reply   : 201806116:121101:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.
Request : assert tcldbc1b,tcldbc1b(tuple(int1(9)int2(7))tuple(int1(7)int2(3))tuple(int1(3)int2(1)))
Reply   : 201806116:121102:The violating tuple's meaning is 'Closure for "From 9 to 9."and it holds that 'EQ(INT1,INT2)''.

Comment : should be ok
Request : cmd(unassert tcldbc1a,tcldbc1a(tuple(int1(5)int2(9))))cmd(assert tcldbc1a,tcldbc1a(tuple(int1(9)int2(1))))cmd(unassert tcldbc1b,tcldbc1b(tuple(int1(5)int2(9))))cmd(assert tcldbc1b,tcldbc1b(tuple(int1(9)int2(1))))
Reply   : 
Request : commit
Reply   : 

Comment : there should always be some path from 9 to 5
Request : assert databaseconstraint,databaseconstraint(tuple(constraintlabel(there should always be some path from 9 to 5)errorcode(121103)sp_expression(minus\(tcldbc1a\(tuple\(int1\(9\)int2\(5\)\)\),tclose\(tcldbc1a,\(int1,int2\)\)\)))tuple(constraintlabel(there should always be some path from 9 to 5)errorcode(121104)sp_expression(minus\(tcldbc1b\(tuple\(int1\(9\)int2\(5\)\)\),tclose\(tcldbc1b,\(int1,int2\)\)\))))
Reply   : 

Comment : should now fail
Request : unassert tcldbc1a,tcldbc1a(tuple(int1(9)int2(1)))
Reply   : 201806116:121103:The violating tuple's meaning is 'From 9 to 5.,and it is not the case that : Closure for "From 9 to 5."'.
Request : unassert tcldbc1b,tcldbc1b(tuple(int1(9)int2(1)))
Reply   : 201806116:121104:The violating tuple's meaning is 'From 9 to 5.,and it is not the case that : Closure for "From 9 to 5."'.

Comment : should pass
Request : cmd(unassert tcldbc1a,tcldbc1a(tuple(int1(9)int2(1))))cmd(assert tcldbc1a,tcldbc1a(tuple(int1(9)int2(2))tuple(int1(2)int2(5))))
Reply   : 
Request : cmd(unassert tcldbc1b,tcldbc1b(tuple(int1(9)int2(1))))cmd(assert tcldbc1b,tcldbc1b(tuple(int1(9)int2(2))tuple(int1(2)int2(5))))
Reply   : 
Request : commit
Reply   : 

Comment : undo this particular databaseconstraint so the script can be run again and again
Request : unassert databaseconstraint,semijoin(databaseconstraint,relation(heading(errorcode(long))body(tuple(errorcode(121103))tuple(errorcode(121104)))))
Reply   : 

Request : delete tcldbc1a,tcldbc1a
Reply   : 
Request : delete tcldbc1b,tcldbc1b
Reply   : 
Request : commit
Reply   : 

Request : unassert databaseconstraint,databaseconstraint(tuple(constraintlabel(no circular paths)errorcode(121101)sp_expression(restrict\(tclose\(tcldbc1a,\(int1,int2\)\),eq\(int1,int2\)\)))tuple(constraintlabel(no circular paths)errorcode(121102)sp_expression(restrict\(tclose\(tcldbc1b,\(int1,int2\)\),eq\(int1,int2\)\))))
Reply   : 

Request : cmd(unassert recordtype,recordtype(tuple(filename(tcldbc1a.spdb)storagespaceid(1)recordtypename(r_tcldbc1)indexname(l_r_tcldbc1)relvarname(tcldbc1a))tuple(filename(tcldbc1a.spdb)storagespaceid(1)recordtypename(r_tcldbc1)indexname(l_r_tcldbc1)relvarname(tcldbc1b))))cmd(unassert index,index(tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1a)indexname(l_r_tcldbc1))tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1a)indexname(ix2a))tuple(filename(tcldbc1a.spdb)storagespaceid(2)recordtypename(r_tcldbc1)relvarname(tcldbc1b)indexname(l_r_tcldbc1))))cmd(unassert recordattribute,recordattribute(tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1a)attributename(int1)ordinal(10))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1a)attributename(int2)ordinal(20))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1b)attributename(int1)ordinal(10))tuple(recordtypename(r_tcldbc1)relvarname(tcldbc1b)attributename(int2)ordinal(20))))cmd(unassert indexcomponent,indexcomponent(tuple(relvarname(tcldbc1a)indexname(l_r_tcldbc1)ordinal(10)sp_expression(int1))tuple(relvarname(tcldbc1a)indexname(ix2a)ordinal(10)sp_expression(int2))tuple(relvarname(tcldbc1b)indexname(l_r_tcldbc1)ordinal(10)sp_expression(int2))))
Reply   : 

Request : cmd(unassert dbmsfile,dbmsfile(tuple(filename(tcldbc1a.spdb)pagesize(8192))))cmd(unassert storagespace,storagespace(tuple(filename(tcldbc1a.spdb)extentscount(2)pagecount(20)storagespaceid(1))tuple(filename(tcldbc1a.spdb)extentscount(2)pagecount(20)storagespaceid(2))))cmd(unassert dataspace,dataspace(tuple(filename(tcldbc1a.spdb)storagespaceid(1)gapcompressionthreshold(5)maximumgaps(9))))cmd(unassert multihashingindexspace,multihashingindexspace(tuple(filename(tcldbc1a.spdb)storagespaceid(2)gapcompressionthreshold(5)maximumgaps(9))))
Reply   : 

Request : cmd(unassert relvar,relvar(tuple(relvarname(tcldbc1a)relvarpredicate(from int1 to int2.))tuple(relvarname(tcldbc1b)relvarpredicate(from int1 to int2.))))cmd(unassert relvarattribute,relvarattribute(tuple(relvarname(tcldbc1a)attributename(int1))tuple(relvarname(tcldbc1a)attributename(int2))tuple(relvarname(tcldbc1b)attributename(int1))tuple(relvarname(tcldbc1b)attributename(int2))))
Reply   : 

Request : unassert attribute,semiminus(attribute(tuple(attributename(int1)typename(int))tuple(attributename(int2)typename(int))),relvarattribute)
Reply   : 

END
