eldenmoon commented on code in PR #63970:
URL: https://github.com/apache/doris/pull/63970#discussion_r3348365918
##########
be/src/storage/segment/variant/variant_column_writer_impl.cpp:
##########
@@ -254,39 +277,76 @@ void build_sparse_subcolumns(const ColumnVariant&
variant, const DocValuePathSta
}
}
-SubcolumnWritePlan build_subcolumn_write_plan(const ColumnVariant& variant,
size_t num_rows,
- int64_t
variant_doc_materialization_min_rows) {
- SubcolumnWritePlan plan;
- // Below threshold: skip materialization and let finalize() compute stats
on demand.
- if (num_rows < static_cast<size_t>(variant_doc_materialization_min_rows)) {
- return plan;
+void set_doc_value_stats(const ColumnVariant& variant, const
DocValuePathStats* precomputed_stats,
+ DocValuePathStats* stats) {
+ if (precomputed_stats != nullptr) {
Review Comment:
普通 doc mode 或没有提前选 path 的调用会传 `nullptr`,这里按需 `build_doc_value_stats()`;plain
non-doc staging 会先构建 plan,再把 precomputed stats 传进来复用。这个 helper 是两条路径共用的。
##########
be/src/storage/segment/variant/variant_column_writer_impl.h:
##########
@@ -194,6 +194,8 @@ class VariantColumnWriterImpl {
size_t num_rows, int& column_id);
Status _process_subcolumns(ColumnVariant* ptr, OlapBlockDataConvertor*
converter,
size_t num_rows, int& column_id);
+ Status _process_regular_doc_value_staging(ColumnVariant* ptr,
OlapBlockDataConvertor* converter,
Review Comment:
`_process_regular_doc_value_staging` 只处理普通非 doc variant 的临时 doc-value
staging:先物化选中的 subcolumns,再把剩余写 sparse payload。`_process_subcolumns` 仍用于 parse
阶段已经展开 subcolumns 的路径(nested group/legacy/非 staging),所以还需要保留。
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]