Summary:
ybIsClauseEligibleSaop does not account for RelabelType nodes wrapping
the LHS of SAOP clauses. This causes the planner to miss
merge-scan-eligible clauses for columns with binary-compatible coercions
(e.g. varchar, which gets coerced to text). Strip the RelabelType
wrapper at the three points in yb_merge_scan.c.
Merge:
- Commit d258233f964b5743dc59c46e4fa59fc0dab3b9ce adds
parameterized_query framework while 2025.2 branch uses older
explainrun framework.
- Commit 782dedfa03981eba69772f4eb6de67ce4c3e2d9f moves files from data
to new yb_commands directory. explainrun files were added to the data
directory due to this in backport commit
9e807fdaa178353f278619b6a5a0cc8c2947ec02. Reference this location in
the relabel test file.
Test Plan:
On Almalinux 8:
./yb_build.sh fastdebug --gcc13 daemons initdb \
--no-ybc --skip-pg-parquet --no-odyssey \
--java-test TestPgRegressMergeScan
And test that the new test cases fail without the code changes.
Backport-through: 2025.2
Original commit: 301312c2d724b743b78756bec9940fdfd6e3e85c / D52513
Close: #31200
Reviewers: aagrawal, #db-approvers
Reviewed By: aagrawal, #db-approvers
Subscribers: svc_phabricator
Differential Revision: https://phorge.dev.yugabyte.com/D54295