Skip to content

Conversation

@feiniaofeiafei
Copy link
Contributor

@feiniaofeiafei feiniaofeiafei commented Dec 8, 2025

picked from #58031

feiniaofeiafei and others added 2 commits December 8, 2025 17:58
…mns, and alias functions to persist session variables (apache#58031)

Problem Summary:
When creating views, generated columns, materialized views, or alias
functions, session variables that affect query results (e.g.,
`enable_decimal256`) are not persisted. This causes inconsistent query
results when session variables differ between creation and query time.

This PR persists session variables marked with `affectQueryResult()`
annotation for:
- Views
- Generated Columns
- Materialized Views
- Alias Functions

When querying these objects, the system automatically uses the persisted
session variables from creation time, ensuring consistent results.

- Added `sessionVariables` field to `View`, `Column`, `MTMV`, and
`AliasFunction` classes
- Created `AutoCloseSessionVariable` utility to temporarily apply
persisted variables during query processing
- Modified view/column/MV/function parsing logic to use persisted
session variables
- Added `SessionVarGuardExpr` to protect expressions that depend on
session variables

---------

Co-authored-by: jacktengg <tengjianping@selectdb.com>
@feiniaofeiafei
Copy link
Contributor Author

run buildall

@feiniaofeiafei
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 31.18% (169/542) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 53.12% (18353/34550)
Line Coverage 38.75% (168811/435668)
Region Coverage 33.53% (130526/389288)
Branch Coverage 34.43% (56288/163491)

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 66.92% (439/656) 🎉
Increment coverage report
Complete coverage report

@feiniaofeiafei
Copy link
Contributor Author

run nonConcurrent

1 similar comment
@feiniaofeiafei
Copy link
Contributor Author

run nonConcurrent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants