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

Request : cmd(assert relvar,relvar(tuple(relvarname(dbcroext1a)relvarpredicate(integers int1, int2, int3, int4.))tuple(relvarname(dbcroext1b)relvarpredicate(integers  int1, int2 and intervals ii1, ii2.))))cmd(assert relvarattribute,relvarattribute(tuple(relvarname(dbcroext1a)attributename(int1))tuple(relvarname(dbcroext1a)attributename(int2))tuple(relvarname(dbcroext1a)attributename(int3))tuple(relvarname(dbcroext1a)attributename(int4))tuple(relvarname(dbcroext1b)attributename(int1))tuple(relvarname(dbcroext1b)attributename(int2))tuple(relvarname(dbcroext1b)attributename(ii1))tuple(relvarname(dbcroext1b)attributename(ii2))))
Reply   : 

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

Request : cmd(assert recordtype,recordtype(tuple(filename(dbcroext.spdb)storagespaceid(1)recordtypename(rec)indexname(loc)relvarname(dbcroext1a))tuple(filename(dbcroext.spdb)storagespaceid(1)recordtypename(rec)indexname(loc)relvarname(dbcroext1b))))cmd(assert index,index(tuple(filename(dbcroext.spdb)storagespaceid(2)recordtypename(rec)relvarname(dbcroext1a)indexname(loc))tuple(filename(dbcroext.spdb)storagespaceid(2)recordtypename(rec)relvarname(dbcroext1b)indexname(loc))))cmd(assert recordattribute,recordattribute(tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int1)ordinal(10))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int2)ordinal(20))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int3)ordinal(30))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int4)ordinal(40))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(int1)ordinal(10))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(int2)ordinal(20))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(ii1)ordinal(30))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(ii2)ordinal(40))))cmd(assert indexcomponent,indexcomponent(tuple(relvarname(dbcroext1a)indexname(loc)ordinal(10)sp_expression(int1))tuple(relvarname(dbcroext1b)indexname(loc)ordinal(10)sp_expression(int2))))
Reply   : 

Comment : tests on the usage of extend in database constraints where interval types are in play

Request : delete dbcroext1a,dbcroext1a
Reply   : 
Request : commit
Reply   : 

Comment : the lengths of the intervals [int1-int2] and [int3-int4] of tuples joined over int4-int1 should be equal
Request : assert databaseconstraint,databaseconstraint(tuple(constraintlabel(pretty insane, but i need a test case)errorcode(121105)sp_expression(restrict\(join\(rename\(extend\(dbcroext1a,\(ii1\(intinterval\(begin\(int1\)end\(int2\)\)\)\)\),\(int4,int\)\),rename\(extend\(dbcroext1a,\(ii2\(intinterval\(begin\(int3\)end\(int4\)\)\)\)\),\(int1,int,int2,int5,int3,int6\)\)\),not\(eq\(length\(ii1\),length\(ii2\)\)\)\))))
Reply   : 

Comment : should fail
Request : assert dbcroext1a,dbcroext1a(tuple(int1(1)int2(5)int3(-1)int4(1)))
Reply   : 201806116:121105:The violating tuple's meaning is 'Integers 1, 5, -1, 1. AND Integers 1, 5, -1, 1.and it holds that 'NOT(EQ(LENGTH(II1),LENGTH(II2)))''.

Comment : should pass
Request : assert dbcroext1a,dbcroext1a(tuple(int1(1)int2(5)int3(-3)int4(1)))
Reply   : 
Request : commit
Reply   : 

Comment : using distinct tuples in the join - should pass
Request : assert dbcroext1a,dbcroext1a(tuple(int1(2)int2(5)int3(8)int4(9)))
Reply   : 
Request : commit
Reply   : 

Comment : should fail on [2-5] vs. [9-19]
Request : assert dbcroext1a,dbcroext1a(tuple(int1(9)int2(9)int3(9)int4(19)))
Reply   : 201806116:121105:The violating tuple's meaning is 'Integers 2, 5, 8, 9. AND Integers 9, 9, 9, 19.and it holds that 'NOT(EQ(LENGTH(II1),LENGTH(II2)))''.
Comment : should pass
Request : assert dbcroext1a,dbcroext1a(tuple(int1(9)int2(9)int3(10)int4(13)))
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(121105)))))
Reply   : 

Request : delete dbcroext1a,dbcroext1a
Reply   : 
Request : commit
Reply   : 

Request : cmd(unassert recordtype,recordtype(tuple(filename(dbcroext.spdb)storagespaceid(1)recordtypename(rec)indexname(loc)relvarname(dbcroext1a))tuple(filename(dbcroext.spdb)storagespaceid(1)recordtypename(rec)indexname(loc)relvarname(dbcroext1b))))cmd(unassert index,index(tuple(filename(dbcroext.spdb)storagespaceid(2)recordtypename(rec)relvarname(dbcroext1a)indexname(loc))tuple(filename(dbcroext.spdb)storagespaceid(2)recordtypename(rec)relvarname(dbcroext1b)indexname(loc))))cmd(unassert recordattribute,recordattribute(tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int1)ordinal(10))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int2)ordinal(20))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int3)ordinal(30))tuple(recordtypename(rec)relvarname(dbcroext1a)attributename(int4)ordinal(40))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(int1)ordinal(10))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(int2)ordinal(20))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(ii1)ordinal(30))tuple(recordtypename(rec)relvarname(dbcroext1b)attributename(ii2)ordinal(40))))cmd(unassert indexcomponent,indexcomponent(tuple(relvarname(dbcroext1a)indexname(loc)ordinal(10)sp_expression(int1))tuple(relvarname(dbcroext1b)indexname(loc)ordinal(10)sp_expression(int2))))
Reply   : 

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

Request : cmd(unassert relvar,relvar(tuple(relvarname(dbcroext1a)relvarpredicate(integers int1, int2, int3, int4.))tuple(relvarname(dbcroext1b)relvarpredicate(integers  int1, int2 and intervals ii1, ii2.))))cmd(unassert relvarattribute,relvarattribute(tuple(relvarname(dbcroext1a)attributename(int1))tuple(relvarname(dbcroext1a)attributename(int2))tuple(relvarname(dbcroext1a)attributename(int3))tuple(relvarname(dbcroext1a)attributename(int4))tuple(relvarname(dbcroext1b)attributename(int1))tuple(relvarname(dbcroext1b)attributename(int2))tuple(relvarname(dbcroext1b)attributename(ii1))tuple(relvarname(dbcroext1b)attributename(ii2))))
Reply   : 

Request : unassert attribute,semiminus(attribute(tuple(attributename(int1)typename(int))tuple(attributename(int2)typename(int))tuple(attributename(int3)typename(int))tuple(attributename(int4)typename(int))tuple(attributename(ii1)typename(intinterval))tuple(attributename(ii2)typename(intinterval))),relvarattribute)
Reply   : 

END
