public void remove ( SchemaObject object , Right right ) { if ( right . isFull ) { clear ( ) ; return ; } if ( isFull ) { isFull = false ; isFullSelect = isFullInsert = isFullUpdate = isFullReferences = isFullDelete = true ; } if ( right . isFullDelete ) { isFullDelete = false ; } if ( ! isFullSelect && selectColumnSet == null ) { } else if ( right . isFullSelect ) { isFullSelect = false ; selectColumnSet = null ; } else if ( right . selectColumnSet != null ) { if ( isFullSelect ) { isFullSelect = false ; selectColumnSet = ( ( Table ) object ) . getColumnNameSet ( ) ; } selectColumnSet . removeAll ( right . selectColumnSet ) ; if ( selectColumnSet . isEmpty ( ) ) { selectColumnSet = null ; } } if ( ! isFullInsert && insertColumnSet == null ) { } else if ( right . isFullInsert ) { isFullInsert = false ; insertColumnSet = null ; } else if ( right . insertColumnSet != null ) { if ( isFullInsert ) { isFullInsert = false ; insertColumnSet = ( ( Table ) object ) . getColumnNameSet ( ) ; } insertColumnSet . removeAll ( right . insertColumnSet ) ; if ( insertColumnSet . isEmpty ( ) ) { insertColumnSet = null ; } } if ( ! isFullUpdate && updateColumnSet == null ) { } else if ( right . isFullUpdate ) { isFullUpdate = false ; updateColumnSet = null ; } else if ( right . updateColumnSet != null ) { if ( isFullUpdate ) { isFullUpdate = false ; updateColumnSet = ( ( Table ) object ) . getColumnNameSet ( ) ; } updateColumnSet . removeAll ( right . updateColumnSet ) ; if ( updateColumnSet . isEmpty ( ) ) { updateColumnSet = null ; } } if ( ! isFullReferences && referencesColumnSet == null ) { } else if ( right . isFullReferences ) { isFullReferences = false ; referencesColumnSet = null ; } else if ( right . referencesColumnSet != null ) { if ( isFullReferences ) { isFullReferences = false ; referencesColumnSet = ( ( Table ) object ) . getColumnNameSet ( ) ; } referencesColumnSet . removeAll ( right . referencesColumnSet ) ; if ( referencesColumnSet . isEmpty ( ) ) { referencesColumnSet = null ; } } if ( ! isFullTrigger && triggerColumnSet == null ) { } else if ( right . isFullTrigger ) { isFullTrigger = false ; triggerColumnSet = null ; } else if ( right . triggerColumnSet != null ) { if ( isFullTrigger ) { isFullTrigger = false ; triggerColumnSet = ( ( Table ) object ) . getColumnNameSet ( ) ; } triggerColumnSet . removeAll ( right . triggerColumnSet ) ; if ( triggerColumnSet . isEmpty ( ) ) { triggerColumnSet = null ; } } }
supports column level REVOKE