boolean checkHasMainRef ( Session session , Object [ ] row ) { if ( ArrayUtil . hasNull ( row , core . refCols ) ) { return false ; } PersistentStore store = session . sessionData . getRowStore ( core . mainTable ) ; boolean exists = core . mainIndex . exists ( session , store , row , core . refCols ) ; if ( ! exists ) { String [ ] info = new String [ ] { core . refName . name , core . mainTable . getName ( ) . name } ; throw Error . error ( ErrorCode . X_23502 , ErrorCode . CONSTRAINT , info ) ; } return exists ; }
For the candidate table row finds any referring node in the main table . This is used to check referential integrity when updating a node . We have to make sure that the main table still holds a valid main record . returns true If a valid row is found false if there are null in the data Otherwise a INTEGRITY VIOLATION Exception gets thrown .