private boolean updateMVScalar ( String currentValue ) { boolean bUpdated = false ; Set < String > currentValues = Utils . split ( currentValue , CommonDefs . MV_SCALAR_SEP_CHAR ) ; Set < String > newValueSet = mergeMVFieldValues ( currentValues , m_dbObj . getRemoveValues ( m_fieldName ) , m_dbObj . getFieldValues ( m_fieldName ) ) ; String newValue = Utils . concatenate ( newValueSet , CommonDefs . MV_SCALAR_SEP_CHAR ) ; if ( ! newValue . equals ( currentValue ) ) { if ( newValue . length ( ) == 0 ) { m_dbTran . deleteScalarValueColumn ( m_tableDef , m_dbObj . getObjectID ( ) , m_fieldName ) ; unindexTerms ( currentValue ) ; } else { updateScalarReplaceValue ( currentValue , newValue ) ; } bUpdated = true ; } return bUpdated ; }
where ~ is the MV value separator .