Comment : Charset=windows-1252
Comment : test-cases for currentdate-related assignment constraints
Comment : define the attributes used in the test
Request : assert attribute,attribute(tuple(attributename(trdate)typename(date)))
Reply   : 

Comment : define the logical design of the relvars used in the test
Request : cmd(assert relvar,relvar(tuple(relvarname(dbm_asscd)relvarpredicate(entered on trdate.))))cmd(assert relvarattribute,relvarattribute(tuple(relvarname(dbm_asscd)attributename(trdate))))
Reply   : 

Comment : define the storage resources used in the test
Request : cmd(assert dbmsfile,dbmsfile(tuple(filename(dbm_asscd.spdb)pagesize(8192))))cmd(assert storagespace,storagespace(tuple(filename(dbm_asscd.spdb)extentscount(2)pagecount(20)storagespaceid(1))tuple(filename(dbm_asscd.spdb)extentscount(2)pagecount(20)storagespaceid(2))))cmd(assert dataspace,dataspace(tuple(filename(dbm_asscd.spdb)storagespaceid(1)gapcompressionthreshold(5)maximumgaps(9))))cmd(assert multihashingindexspace,multihashingindexspace(tuple(filename(dbm_asscd.spdb)storagespaceid(2)gapcompressionthreshold(5)maximumgaps(9))))
Reply   : 

Comment : define the physical design of the relvars used in the test
Request : cmd(assert recordtype,recordtype(tuple(indexname(l_r_dbm_asscd)filename(dbm_asscd.spdb)storagespaceid(1)recordtypename(r_dbm_asscd)relvarname(dbm_asscd))))cmd(assert index,index(tuple(filename(dbm_asscd.spdb)storagespaceid(2)recordtypename(r_dbm_asscd)relvarname(dbm_asscd)indexname(l_r_dbm_asscd))))cmd(assert recordattribute,recordattribute(tuple(recordtypename(r_dbm_asscd)relvarname(dbm_asscd)attributename(trdate)ordinal(10))))cmd(assert indexcomponent,indexcomponent(tuple(relvarname(dbm_asscd)indexname(l_r_dbm_asscd)ordinal(10)sp_expression(trdate))))
Reply   : 

Request : delete dbm_asscd,dbm_asscd
Reply   : 
Request : commit
Reply   : 

Comment : add an insert-assignment constraint
Request : cmd(assert assignmentconstraint,assignmentconstraint(tuple(constraintlabel(not future-dated)errorcode(181001)sp_expression(restrict\(join\(currentdate,inserts\(dbm_asscd\)\),gt\(trdate,currentdate\)\)))))cmd(assert assignmentconstraintcheck,assignmentconstraintcheck(tuple(relvarname(dbm_asscd)operationtype(2)errorcode(181001))))
Reply   : 
Request : commit
Reply   : 

Comment : must fail
Request : assert dbm_asscd,transform(currentdate,trdate(dateshift(currentdate,int(1),int(0),int(0))))
Reply   : 201806116:181001:The violating tuple's meaning is 'The current system date is 2009-09-23. AND Entered on 2010-09-23.and it holds that 'gt(trdate,currentdate)''.
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY())

Comment : must fail
Request : assert dbm_asscd,transform(currentdate,trdate(dateshift(currentdate,int(0),int(1),int(0))))
Reply   : 201806116:181001:The violating tuple's meaning is 'The current system date is 2009-09-23. AND Entered on 2009-10-23.and it holds that 'gt(trdate,currentdate)''.
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY())

Comment : must fail
Request : assert dbm_asscd,transform(currentdate,trdate(dateshift(currentdate,int(0),int(0),int(1))))
Reply   : 201806116:181001:The violating tuple's meaning is 'The current system date is 2009-09-23. AND Entered on 2009-09-24.and it holds that 'gt(trdate,currentdate)''.
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY())

Comment : must fail
Request : assert dbm_asscd,union(dbm_asscd(tuple(trdate(2007-09-05))),transform(currentdate,trdate(dateshift(currentdate,int(0),int(0),int(1)))))
Reply   : 201806116:181001:The violating tuple's meaning is 'The current system date is 2009-09-23. AND Entered on 2009-09-24.and it holds that 'gt(trdate,currentdate)''.
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY())

Comment : must pass
Request : assert dbm_asscd,dbm_asscd(tuple(trdate(2007-09-05)))
Reply   : 
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY(TUPLE(TRDATE(2007-09-05))))

Comment : must pass
Request : assert dbm_asscd,transform(currentdate,trdate(currentdate))
Reply   : 
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY(TUPLE(TRDATE(2009-09-23))TUPLE(TRDATE(2007-09-05))))

Comment : must pass
Request : assert dbm_asscd,union(dbm_asscd(),transform(currentdate,trdate(dateshift(currentdate,int(0),int(0),int(-1)))))
Reply   : 
Request : inquire dbm_asscd
Reply   : RELATION(HEADING(TRDATE(DATE))BODY(TUPLE(TRDATE(2009-09-22))TUPLE(TRDATE(2009-09-23))TUPLE(TRDATE(2007-09-05))))

Request : commit
Reply   : 

Comment : remove for purposes of clean-up and rerunnability
Request : cmd(unassert assignmentconstraint,assignmentconstraint(tuple(constraintlabel(not future-dated)errorcode(181001)sp_expression(restrict\(join\(currentdate,inserts\(dbm_asscd\)\),gt\(trdate,currentdate\)\)))))cmd(unassert assignmentconstraintcheck,assignmentconstraintcheck(tuple(relvarname(dbm_asscd)operationtype(2)errorcode(181001))))
Reply   : 
Request : commit
Reply   : 

Request : delete dbm_asscd,dbm_asscd
Reply   : 
Request : commit
Reply   : 

Comment : remove the physical design of the relvars used in the test
Request : cmd(unassert recordtype,recordtype(tuple(indexname(l_r_dbm_asscd)filename(dbm_asscd.spdb)storagespaceid(1)recordtypename(r_dbm_asscd)relvarname(dbm_asscd))))cmd(unassert index,index(tuple(filename(dbm_asscd.spdb)storagespaceid(2)recordtypename(r_dbm_asscd)relvarname(dbm_asscd)indexname(l_r_dbm_asscd))))cmd(unassert recordattribute,recordattribute(tuple(recordtypename(r_dbm_asscd)relvarname(dbm_asscd)attributename(trdate)ordinal(10))))cmd(unassert indexcomponent,indexcomponent(tuple(relvarname(dbm_asscd)indexname(l_r_dbm_asscd)ordinal(10)sp_expression(trdate))))
Reply   : 

Comment : remove the storage resources used in the test
Request : cmd(unassert dbmsfile,dbmsfile(tuple(filename(dbm_asscd.spdb)pagesize(8192))))cmd(unassert storagespace,storagespace(tuple(filename(dbm_asscd.spdb)extentscount(2)pagecount(20)storagespaceid(1))tuple(filename(dbm_asscd.spdb)extentscount(2)pagecount(20)storagespaceid(2))))cmd(unassert dataspace,dataspace(tuple(filename(dbm_asscd.spdb)storagespaceid(1)gapcompressionthreshold(5)maximumgaps(9))))cmd(unassert multihashingindexspace,multihashingindexspace(tuple(filename(dbm_asscd.spdb)storagespaceid(2)gapcompressionthreshold(5)maximumgaps(9))))
Reply   : 

Comment : remove the logical design of the relvars used in the test
Request : cmd(unassert relvar,relvar(tuple(relvarname(dbm_asscd)relvarpredicate(entered on trdate.))))cmd(unassert relvarattribute,relvarattribute(tuple(relvarname(dbm_asscd)attributename(trdate))))
Reply   : 

Comment : remove the attributes used in the test
Request : unassert attribute,semiminus(attribute(tuple(attributename(trdate)typename(date))),relvarattribute)
Reply   : 

END
