@Override
    public CompiledCondition compileCondition(Expression condition, MatchingMetaInfoHolder matchingMetaInfoHolder,
                                              List<VariableExpressionExecutor> variableExpressionExecutors,
                                              Map<String, Table> tableMap, SiddhiQueryContext siddhiQueryContext) {
        ExpressionExecutor inMemoryCompiledCondition = ExpressionParser.parseExpression(condition,
                matchingMetaInfoHolder.getMetaStateEvent(), matchingMetaInfoHolder.getCurrentState(), tableMap,
                variableExpressionExecutors, false, 0,
                ProcessingMode.BATCH, false, siddhiQueryContext);
        ExpressionBuilder expressionBuilder = new ExpressionBuilder(
                condition, matchingMetaInfoHolder,
                variableExpressionExecutors, tableMap,
                new UpdateOrInsertReducer(inMemoryCompiledCondition, matchingMetaInfoHolder), null,
                siddhiQueryContext);
        CompiledCondition compileCondition = compileCondition(expressionBuilder);
        Map<String, ExpressionExecutor> expressionExecutorMap = expressionBuilder.getVariableExpressionExecutorMap();
        return new RecordStoreCompiledCondition(expressionExecutorMap, compileCondition, siddhiQueryContext);
    }
Try updating the records if they exist else add the records

@param updateCondition              the compiledCondition against which records should be matched for update
@param updateConditionParameterMaps map of matching StreamVariable Ids and their values corresponding to the
                                    compiled condition based on which the records will be updated
@param updateSetExpressions         the set of updates mappings and related complied expressions
@param updateSetParameterMaps       map of matching StreamVariable Ids and their values corresponding to the
                                    update set
@param addingRecords                the values for adding new records if the update condition did not match
@throws ConnectionUnavailableException
modules/siddhi-core/src/main/java/io/siddhi/core/table/record/AbstractRecordTable.java