This is an automated email from the ASF dual-hosted git repository.
airborne pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
from 6d213967ae9 [Chore](sort) remove nullability changed flags (#53712)
add 08a9dbb739e [feat] Virtual Slot Ref (#52701)
No new revisions were added by this update.
Summary of changes:
be/src/common/consts.h | 1 +
be/src/olap/iterators.h | 4 +
be/src/olap/rowset/beta_rowset_reader.cpp | 3 +
be/src/olap/rowset/rowset_reader_context.h | 4 +
be/src/olap/rowset/segment_v2/segment_iterator.cpp | 331 ++++++++--
be/src/olap/rowset/segment_v2/segment_iterator.h | 31 +-
.../rowset/segment_v2/virtual_column_iterator.cpp | 168 ++++++
.../rowset/segment_v2/virtual_column_iterator.h | 64 ++
be/src/olap/tablet_reader.cpp | 4 +
be/src/olap/tablet_reader.h | 12 +-
be/src/olap/tablet_schema.cpp | 22 +-
be/src/olap/tablet_schema.h | 5 +
be/src/pipeline/exec/olap_scan_operator.cpp | 31 +
be/src/pipeline/exec/olap_scan_operator.h | 7 +
be/src/pipeline/exec/scan_operator.cpp | 21 +-
be/src/pipeline/exec/scan_operator.h | 4 +-
be/src/runtime/descriptors.cpp | 40 +-
be/src/runtime/descriptors.h | 8 +
be/src/runtime/runtime_predicate.h | 5 +-
be/src/vec/core/block.cpp | 7 +
be/src/vec/data_types/data_type.h | 5 +-
be/src/vec/exec/scan/olap_scanner.cpp | 45 +-
be/src/vec/exec/scan/olap_scanner.h | 20 +-
be/src/vec/exec/scan/scanner.cpp | 7 +-
be/src/vec/exec/scan/scanner_scheduler.cpp | 41 ++
be/src/vec/exec/scan/scanner_scheduler.h | 5 +-
be/src/vec/exprs/vexpr.cpp | 13 +-
be/src/vec/exprs/virtual_slot_ref.cpp | 221 +++++++
.../vec/exprs/{vslot_ref.h => virtual_slot_ref.h} | 46 +-
be/src/vec/functions/function.h | 4 -
be/test/exprs/virtual_slot_ref_test.cpp | 373 ++++++++++++
.../vector_index/virtual_column_iterator_test.cpp | 670 +++++++++++++++++++++
be/test/runtime/descriptor_test.cpp | 201 +++++++
.../org/apache/doris/analysis/SlotDescriptor.java | 16 +-
.../java/org/apache/doris/analysis/SlotRef.java | 1 +
.../glue/translator/PhysicalPlanTranslator.java | 91 ++-
.../glue/translator/PlanTranslatorContext.java | 6 +
.../doris/nereids/jobs/executor/Rewriter.java | 2 +
.../org/apache/doris/nereids/rules/RuleType.java | 1 +
.../doris/nereids/rules/analysis/BindRelation.java | 15 +-
.../LogicalOlapScanToPhysicalOlapScan.java | 6 +-
.../rules/rewrite/OperativeColumnDerive.java | 9 +
.../PushDownVirtualColumnsIntoOlapScan.java | 452 ++++++++++++++
.../trees/copier/LogicalPlanDeepCopier.java | 30 +-
.../plans/logical/LogicalCatalogRelation.java | 69 ++-
.../nereids/trees/plans/logical/LogicalEsScan.java | 22 +-
.../trees/plans/logical/LogicalFileScan.java | 61 +-
.../trees/plans/logical/LogicalHudiScan.java | 60 +-
.../trees/plans/logical/LogicalJdbcScan.java | 22 +-
.../trees/plans/logical/LogicalOlapScan.java | 103 +++-
.../trees/plans/logical/LogicalSchemaScan.java | 59 +-
.../physical/PhysicalLazyMaterializeOlapScan.java | 20 +-
.../trees/plans/physical/PhysicalOlapScan.java | 44 +-
.../org/apache/doris/planner/OlapScanNode.java | 42 +-
.../translator/PhysicalPlanTranslatorTest.java | 2 +-
.../postprocess/MergeProjectPostProcessTest.java | 3 +-
.../PushDownFilterThroughProjectTest.java | 4 +-
.../PushDownVirtualColumnsIntoOlapScanTest.java | 594 ++++++++++++++++++
.../doris/nereids/trees/plans/PlanEqualsTest.java | 6 +-
gensrc/thrift/Descriptors.thrift | 1 +
gensrc/thrift/Exprs.thrift | 2 +
.../constant_propagation/constant_propagation.out | Bin 18354 -> 18315 bytes
.../virtual_slot_ref/virtual_slot_ref_basic.out | Bin 0 -> 590 bytes
.../mv_p0/contain_cast/mv_contains_cast.groovy | 2 +
.../mv_p0/where/k123_nereids/k123_nereids.groovy | 3 +-
.../mv/date_trunc/mv_with_date_trunc.groovy | 2 +
.../single_table_without_aggregate.groovy | 2 +
.../suites/nereids_syntax_p0/explain.groovy | 2 +-
.../virtual_slot_ref/virtual_slot_ref_basic.groovy | 244 ++++++++
69 files changed, 4085 insertions(+), 336 deletions(-)
create mode 100644 be/src/olap/rowset/segment_v2/virtual_column_iterator.cpp
create mode 100644 be/src/olap/rowset/segment_v2/virtual_column_iterator.h
create mode 100644 be/src/vec/exprs/virtual_slot_ref.cpp
copy be/src/vec/exprs/{vslot_ref.h => virtual_slot_ref.h} (73%)
create mode 100644 be/test/exprs/virtual_slot_ref_test.cpp
create mode 100644 be/test/olap/vector_index/virtual_column_iterator_test.cpp
create mode 100644 be/test/runtime/descriptor_test.cpp
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownVirtualColumnsIntoOlapScan.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownVirtualColumnsIntoOlapScanTest.java
create mode 100644
regression-test/data/query_p0/virtual_slot_ref/virtual_slot_ref_basic.out
create mode 100644
regression-test/suites/query_p0/virtual_slot_ref/virtual_slot_ref_basic.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]