@@ -67,7 +67,8 @@ struct PaimonScanBindData : public TableFunctionData {
6767 string table_schema_json;
6868};
6969
70- static std::shared_ptr<paimon::Predicate> TryConvertComparison (const BoundComparisonExpression &comp, LogicalGet &get) {
70+ static std::shared_ptr<paimon::Predicate> TryConvertComparison (const BoundComparisonExpression &comp,
71+ const LogicalGet &get) {
7172 // early exit: only handle comparison types supported by paimon-cpp
7273 switch (comp.type ) {
7374 case ExpressionType::COMPARE_EQUAL :
@@ -130,7 +131,8 @@ static std::shared_ptr<paimon::Predicate> TryConvertComparison(const BoundCompar
130131 }
131132}
132133
133- static std::shared_ptr<paimon::Predicate> TryConvertBetween (const BoundBetweenExpression &between, LogicalGet &get) {
134+ static std::shared_ptr<paimon::Predicate> TryConvertBetween (const BoundBetweenExpression &between,
135+ const LogicalGet &get) {
134136 if (between.input ->GetExpressionClass () != ExpressionClass::BOUND_COLUMN_REF ||
135137 between.lower ->GetExpressionClass () != ExpressionClass::BOUND_CONSTANT ||
136138 between.upper ->GetExpressionClass () != ExpressionClass::BOUND_CONSTANT ) {
@@ -169,9 +171,9 @@ static std::shared_ptr<paimon::Predicate> TryConvertBetween(const BoundBetweenEx
169171}
170172
171173// Forward declaration for mutual recursion with TryConvertOperator.
172- static std::shared_ptr<paimon::Predicate> TryConvertExpression (const Expression &expr, LogicalGet &get);
174+ static std::shared_ptr<paimon::Predicate> TryConvertExpression (const Expression &expr, const LogicalGet &get);
173175
174- static std::shared_ptr<paimon::Predicate> TryConvertOperator (const BoundOperatorExpression &op, LogicalGet &get) {
176+ static std::shared_ptr<paimon::Predicate> TryConvertOperator (const BoundOperatorExpression &op, const LogicalGet &get) {
175177 // Validate children count per operator type.
176178 switch (op.type ) {
177179 case ExpressionType::COMPARE_IN :
@@ -257,7 +259,7 @@ static std::shared_ptr<paimon::Predicate> TryConvertOperator(const BoundOperator
257259}
258260
259261static std::shared_ptr<paimon::Predicate> TryConvertConjunction (const BoundConjunctionExpression &conj,
260- LogicalGet &get) {
262+ const LogicalGet &get) {
261263 std::vector<std::shared_ptr<paimon::Predicate>> predicates;
262264
263265 for (auto &child : conj.children ) {
@@ -314,7 +316,8 @@ static PushdownFunction ClassifyFunction(const string &name) {
314316 return PushdownFunction::UNSUPPORTED ;
315317}
316318
317- static std::shared_ptr<paimon::Predicate> TryConvertFunction (const BoundFunctionExpression &func, LogicalGet &get) {
319+ static std::shared_ptr<paimon::Predicate> TryConvertFunction (const BoundFunctionExpression &func,
320+ const LogicalGet &get) {
318321 // Gate: reject unsupported functions early.
319322 auto func_type = ClassifyFunction (func.function .name );
320323 if (func_type == PushdownFunction::UNSUPPORTED ) {
@@ -386,7 +389,7 @@ static std::shared_ptr<paimon::Predicate> TryConvertFunction(const BoundFunction
386389 }
387390}
388391
389- static std::shared_ptr<paimon::Predicate> TryConvertExpression (const Expression &expr, LogicalGet &get) {
392+ static std::shared_ptr<paimon::Predicate> TryConvertExpression (const Expression &expr, const LogicalGet &get) {
390393 switch (expr.GetExpressionClass ()) {
391394 case ExpressionClass::BOUND_COMPARISON :
392395 return TryConvertComparison (expr.Cast <BoundComparisonExpression>(), get);
@@ -403,8 +406,8 @@ static std::shared_ptr<paimon::Predicate> TryConvertExpression(const Expression
403406 }
404407}
405408
406- static bool TryExtractPartitionFilter (const Expression &expr, LogicalGet &get, const unordered_set<string> &part_keys ,
407- map<string, string> &part_filter) {
409+ static bool TryExtractPartitionFilter (const Expression &expr, const LogicalGet &get ,
410+ const unordered_set<string> &part_keys, map<string, string> &part_filter) {
408411 switch (expr.GetExpressionClass ()) {
409412 case ExpressionClass::BOUND_COMPARISON : {
410413 auto &comp = expr.Cast <BoundComparisonExpression>();
@@ -467,7 +470,7 @@ static bool TryExtractPartitionFilter(const Expression &expr, LogicalGet &get, c
467470 return false ;
468471}
469472
470- static vector<map<string, string>> TryExtractPartitionFilters (const Expression &filter, LogicalGet &get,
473+ static vector<map<string, string>> TryExtractPartitionFilters (const Expression &filter, const LogicalGet &get,
471474 const unordered_set<string> &part_keys) {
472475 switch (filter.GetExpressionClass ()) {
473476 // Single comparison: extract as one partition filter.
0 commit comments