This is an automated email from the ASF dual-hosted git repository.

oppenheimer01 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit dce30d3839d6a02d3fdd79f5802cc973f85c22d4
Author: Jianghua Yang <[email protected]>
AuthorDate: Mon Apr 27 21:44:56 2026 +0800

    Fix: set FRAMEOPTION_BETWEEN for ORCA window frames
    
    ORCA's window frame translation always emits a BETWEEN frame
    (start + end bound), so include FRAMEOPTION_BETWEEN alongside
    FRAMEOPTION_NONDEFAULT to match the executor's expectations.
---
 src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp 
b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
index 42d3487a925..b020c4eb21d 100644
--- a/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
+++ b/src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp
@@ -3323,7 +3323,7 @@ CTranslatorDXLToPlStmt::TranslateDXLWindowAgg(
                // translate the window frame specified in the window key
                if (nullptr != window_key->GetWindowFrame())
                {
-                       window->frameOptions = FRAMEOPTION_NONDEFAULT;
+                       window->frameOptions = FRAMEOPTION_NONDEFAULT | 
FRAMEOPTION_BETWEEN;
                        window->frameOptions |= 
WindowFrameSpecToOptions(window_frame->ParseDXLFrameSpec());
                        window->frameOptions |= 
WindowFrameExclusionStrategyToOptions(
                                window_frame->ParseFrameExclusionStrategy());
@@ -3527,7 +3527,7 @@ CTranslatorDXLToPlStmt::TranslateDXLWindowHashAgg(
                // translate the window frame specified in the window key
                if (nullptr != window_key->GetWindowFrame())
                {
-                       window->frameOptions = FRAMEOPTION_NONDEFAULT;
+                       window->frameOptions = FRAMEOPTION_NONDEFAULT | 
FRAMEOPTION_BETWEEN;
                        window->frameOptions |= 
WindowFrameSpecToOptions(window_frame->ParseDXLFrameSpec());
                        window->frameOptions |= 
WindowFrameExclusionStrategyToOptions(
                                window_frame->ParseFrameExclusionStrategy());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to