Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge commit '773869c4c90aa9c59d66a052a5e3f91192792304' into pg15-mas…
…ter-merge Merge YB master commit 773869c titled [#21141,21036] YSQL: Enable remote filters for Bitmap Scans and committed 2024-04-11T00:27:43+00:00 into YB pg15. Since there is only one commit being merged in from YB master since the last merge, I will refer to it simply as "YB master". YB pg15 initial merge refers to 55782d5. - executor/Makefile: - OBJS: YB master adds nodeYbBitmapIndexscan.o; upstream PG changes style. - execAmi.c: - includes: YB master adds nodeYbBitmapIndexscan.h include in same location upstream PG fa2cf164aaf91e074be653c28e035f65d80eb666 adds extensible.h include. YB pg15 initial merge creates a new Yugabyte includes section, so move this there. - nodeYbBitmapIndexscan.c: - ExecEndYbBitmapIndexScan: YB master adds this new file with ExecCloseScanRelation. As before in YB pg15 ad2fedc, upstream PG 9ddef36278a9f676c07d0b4d9f33fa22e48ce3b5 removes ExecCloseScanRelation, so get rid of the logic introduced by YB master. - nodeYbBitmapTablescan.c: - function declarations: YB master removes param currentRelation from CreateYbBitmapTableScanDesc. YB pg15 b728fbd never had that param to begin with. Ignore the incoming master change. - YbBitmapTableNext: YB master moves some lines lower; YB pg15 ad2fedc and b728fbd make adjustments to those lines. Tricky merge. - CreateYbBitmapTableScanDesc: major merge with YB pg15 b728fbd. Of particular note is - local variable "plan" is typed YbBitmapTableScan. - is_internal_scan changes from false to true. - rs_temp_snap and rs_cblock are not set since they are not part of TableScanDesc. - switch SO_TYPE_SEQSCAN to SO_TYPE_BITMAPSCAN. - ExecReScanYbBitmapTableScan: YB master expands a comment for why old scan is set to null and sets it to null. YB pg15 ad2fedc already set it to null. Bring in the comment from master since it seems useful, but besides that, stick with YB pg15's version. - indxpath.c: - includes: YB master adds two includes interleaved with PG includes, and this causes conflict with YB pg15 changes to the PG includes. Move those includes down to the Yugabyte includes section which was added by YB pg15 initial merge. - function declarations: YB master adds new parameter yb_bitmap_idx_pushdowns to four functions. YB pg15 changes indentation of those functions. Trivial merge. - build_index_paths - top comment: adjacent lines conflict between upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf and YB master. - create_index_path calls (x4): upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf removes indexclausecols parameter from create_index_path, conflicting with YB master which adds a parameter in the same location. - build_paths_for_OR: both YB master and 74dfe58a5927b22c744b29534e67bfdd203ac028 change signature of match_clauses_to_index. Merge for two calls. - match_restriction_clauses_to_index: (same as build_paths_for_OR) - match_join_clauses_to_index: (same as build_paths_for_OR) - match_eclass_clauses_to_index: (same as build_paths_for_OR) - match_clauses_to_index: (same as build_paths_for_OR) - match_clause_to_index: (same as build_paths_for_OR) - createplan.c: - function declarations: YB master adds parameters (mistakenly without YB prefix) to some PG functions. YB pg15 changes indentation. - create_bitmap_subplan: YB master adds indexpushdownquals setting after indexqual setting, and upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf moves the setting lower. Move the YB setting lower as well. Take the opportunity to detach it from PG code better. - planner.c: - plan_cluster_use_sort: YB master adds NIL argument to create_index_path_call. Adjust to the change in parameters by YB pg15. - setrefs.c: - set_plan_refs: - T_YbBitmapIndexScan: YB pg15 ad2fedc adds extra parameter to fix_scan_list, so do so accordingly on top of code added by YB master. Upstream PG 41efb8340877e8ffd0023bb6b2ef22ffd1ca014d adds extra parameter to fix_upper_expr, so add the extra argument like other places in the same file. - T_YbBitmapTableScan: YB master significantly changes this. YB pg15 ad2fedc adds extra parameter to fix_scan_list, so do so accordingly on top of master. - pathnode.c: - create_index_path: - top comment: adjacent lines conflict between upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf and YB master. - signature: (same) - body: same upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf removes indexquals and indexqualcols settings. YB master adds yb_bitmap_idx_pushdowns setting in the same location. - ruleutils.c: - set_deparse_planstate: upstream PG 6ef77cf46e81f45716ec981cb08781d426181378 changes "ps->plan" to "plan". YB master adds new code with "ps->plan". Change it to "plan". - find_param_referent: YB master removes trailing whitespace on code which no longer has trailing whitespace in YB pg15. Ignore the incoming YB master change. - execnodes.h: - BitmapIndexScanState: adjacent line conflict between YB master modifying biss_result line and YB pg15 modifying biss_ScanKeys line. - YbBitmapIndexScanState: change type of biss_ScanKeys and biss_ScanDesc according to how it was changed in BitmapIndexScanState by upstream PG 0944ec54de389b4b8a471ca1f40f1b9d81de1f30. - pathnodes.h: - IndexPath: upstream PG 1a8d5afb0dfc5d0dcc6eda0656a34cb1f0cf0bdf changes indexclauses and removes indexquals and indexqualcols. YB master adds yb_bitmap_idx_pushdowns in the same area. - pathnode.h: - create_index_path: (same as pathnode.c create_index_path signature) - pg_dml.cc: - PgDml::AppendTargetPB: YB pg15 5e6edbf removes has_system_targets_ and is_system logic. YB master adds logic to set has_regular_targets_ using is_system. Bring back is_system but not has_system_targets_ from 5e6edbf, then use it for this merge. - pggate.cc: - PgApiImpl::DmlHasRegularTargets: again, adjacent lines conflict with YB pg15 5e6edbf that removes PgApiImpl::DmlHasSystemTargets. - pggate.h: - DmlHasRegularTargets: (same) - ybc_pggate.cc: - YBCPgDmlHasRegularTargets: (same) - ybc_pggate.h: - YBCPgDmlHasRegularTargets: (same) - pg_expr.cc: - PgColumnRef::is_system: (same as pg_dml.cc) - pg_expr.h: - is_system: (same as pg_dml.cc) - pg15_tests/test_yb_bitmap_scans.sh: - Update diff line numbers since YB master changes content in the file. - Only check up to line 786 of the file since, after that, the output is quite wrong.
- Loading branch information