Code review comment: what's this meaning？ what's iceberg predicate

Code under review:
public PlanFragment visitPhysicalIcebergMetadataScan(OptExpression optExpression, ExecPlan context) {
            PhysicalIcebergMetadataScanOperator node = (PhysicalIcebergMetadataScanOperator) optExpression.getOp();

            LogicalIcebergMetadataTable table = (LogicalIcebergMetadataTable) node.getTable();
            context.getDescTbl().addReferencedTable(table);
            TupleDescriptor tupleDescriptor = context.getDescTbl().createTupleDescriptor();
            tupleDescriptor.setTable(table);

            Column phCol = table.getPlaceHolderColumns().stream().findFirst().get();
            for (Map.Entry<ColumnRefOperator, Column> entry : node.getColRefToColumnMetaMap().entrySet()) {
                if (entry.getValue().getName().equalsIgnoreCase(phCol.getName())) {
                    continue;
                }
                SlotDescriptor slotDescriptor =
                        context.getDescTbl().addSlotDescriptor(tupleDescriptor, new SlotId(entry.getKey().getId()));
                slotDescriptor.setColumn(entry.getValue());
                slotDescriptor.setIsNullable(entry.getValue().isAllowNull());
                slotDescriptor.setIsMaterialized(true);
                slotDescriptor.setIsOutputColumn(node.getOutputColumns().contains(entry.getKey()));
                if (slotDescriptor.getOriginType().isComplexType()) {
                    slotDescriptor.setOriginType(entry.getKey().getType());
                    slotDescriptor.setType(entry.getKey().getType());
                }
                context.getColRefToExpr().put(entry.getKey(), new SlotRef(entry.getKey().toString(), slotDescriptor));
            }

            IcebergMetadataScanNode metadataScanNode =
                    new IcebergMetadataScanNode(context.getNextNodeId(), tupleDescriptor,
                            "IcebergMetadataScanNode", node.getTemporalClause());
            try {
                ScalarOperatorToExpr.FormatterContext formatterContext =
                        new ScalarOperatorToExpr.FormatterContext(context.getColRefToExpr());
                List<ScalarOperator> predicates = Utils.extractConjuncts(node.getPredicate());

                ColumnRefOperator placeHolderOp = new ColumnRefOperator(
                        phCol.getUniqueId(), phCol.getType(), phCol.getName(), phCol.isAllowNull());
                String icebergPredicate = "";

                for (ScalarOperator predicate : predicates) {
                    
                    if (isColumnEqualConstant(predicate) && predicate.getChild(0).equivalent(placeHolderOp)) {
                        icebergPredicate = ((ConstantOperator) predicate.getChild(1)).getVarchar();
                    } else {
                        metadataScanNode.getConjuncts().add(
                                ScalarOperatorToExpr.buildExecExpression(predicate, formatterContext));
                    }
                }

                metadataScanNode.preProcessIcebergPredicate(icebergPredicate);
                metadataScanNode.setupScanRangeLocations();

            } catch (Exception e) {
                LOG.warn("Iceberg metadata scan node get scan range locations failed", e);
                throw new StarRocksPlannerException(e.getMessage(), INTERNAL_ERROR);
            }

            metadataScanNode.setLimit(node.getLimit());

            tupleDescriptor.computeMemLayout();
            context.getScanNodes().add(metadataScanNode);

            PlanFragment fragment =
                    new PlanFragment(context.getNextFragmentId(), metadataScanNode, DataPartition.RANDOM);
            context.getFragments().add(fragment);
            return fragment;
        }


Revised code:
public PlanFragment visitPhysicalIcebergMetadataScan(OptExpression optExpression, ExecPlan context) {
            PhysicalIcebergMetadataScanOperator node = (PhysicalIcebergMetadataScanOperator) optExpression.getOp();

            LogicalIcebergMetadataTable table = (LogicalIcebergMetadataTable) node.getTable();
            context.getDescTbl().addReferencedTable(table);
            TupleDescriptor tupleDescriptor = context.getDescTbl().createTupleDescriptor();
            tupleDescriptor.setTable(table);

            Column phCol = table.getPlaceHolderColumns().stream().findFirst().get();
            for (Map.Entry<ColumnRefOperator, Column> entry : node.getColRefToColumnMetaMap().entrySet()) {
                if (entry.getValue().getName().equalsIgnoreCase(phCol.getName())) {
                    continue;
                }
                SlotDescriptor slotDescriptor =
                        context.getDescTbl().addSlotDescriptor(tupleDescriptor, new SlotId(entry.getKey().getId()));
                slotDescriptor.setColumn(entry.getValue());
                slotDescriptor.setIsNullable(entry.getValue().isAllowNull());
                slotDescriptor.setIsMaterialized(true);
                slotDescriptor.setIsOutputColumn(node.getOutputColumns().contains(entry.getKey()));
                if (slotDescriptor.getOriginType().isComplexType()) {
                    slotDescriptor.setOriginType(entry.getKey().getType());
                    slotDescriptor.setType(entry.getKey().getType());
                }
                context.getColRefToExpr().put(entry.getKey(), new SlotRef(entry.getKey().toString(), slotDescriptor));
            }

            IcebergMetadataScanNode metadataScanNode =
                    new IcebergMetadataScanNode(context.getNextNodeId(), tupleDescriptor,
                            "IcebergMetadataScanNode", node.getTemporalClause());
            try {
                ScalarOperatorToExpr.FormatterContext formatterContext =
                        new ScalarOperatorToExpr.FormatterContext(context.getColRefToExpr());
                List<ScalarOperator> predicates = Utils.extractConjuncts(node.getPredicate());

                ColumnRefOperator placeHolderOp = new ColumnRefOperator(
                        phCol.getUniqueId(), phCol.getType(), phCol.getName(), phCol.isAllowNull());
                String icebergPredicate = "";

                for (ScalarOperator predicate : predicates) {
                    
                    if (isColumnEqualConstant(predicate) && predicate.getChild(0).equivalent(placeHolderOp)) {
                        icebergPredicate = ((ConstantOperator) predicate.getChild(1)).getVarchar();
                    } else {
                        metadataScanNode.getConjuncts().add(
                                ScalarOperatorToExpr.buildExecExpression(predicate, formatterContext));
                    }
                }

                metadataScanNode.preProcessIcebergPredicate(icebergPredicate);
                metadataScanNode.setupScanRangeLocations();

            } catch (Exception e) {
                LOG.warn("Iceberg metadata scan node get scan range locations failed", e);
                throw new StarRocksPlannerException(e.getMessage(), INTERNAL_ERROR);
            }

            metadataScanNode.setLimit(node.getLimit());

            tupleDescriptor.computeMemLayout();
            context.getScanNodes().add(metadataScanNode);

            PlanFragment fragment =
                    new PlanFragment(context.getNextFragmentId(), metadataScanNode, DataPartition.RANDOM);
            context.getFragments().add(fragment);
            return fragment;
        }