@ Override public void insert ( SearchKey key , RecordId dataRecordId , boolean doLogicalLogging ) { // search the position beforeFirst ( new SearchRange ( key ) ) ; // log the logical operation starts if ( doLogicalLogging ) tx . recoveryMgr ( ) . logLogicalStart ( ) ; // insert the data rf . insert ( ) ; for ( int i = 0 ; i < keyType . length ( ) ; i ++ ) rf . setVal ( keyFieldName ( i ) , key . get ( i ) ) ; rf . setVal ( SCHEMA_RID_BLOCK , new BigIntConstant ( dataRecordId . block ( ) . number ( ) ) ) ; rf . setVal ( SCHEMA_RID_ID , new IntegerConstant ( dataRecordId . id ( ) ) ) ; // log the logical operation ends if ( doLogicalLogging ) tx . recoveryMgr ( ) . logIndexInsertionEnd ( ii . indexName ( ) , key , dataRecordId . block ( ) . number ( ) , dataRecordId . id ( ) ) ; }
Inserts a new index record into this index .