github-actions[bot] commented on code in PR #64773:
URL: https://github.com/apache/doris/pull/64773#discussion_r3504660015
##########
be/src/format/json/new_json_reader.cpp:
##########
@@ -1164,6 +1197,23 @@ Status
NewJsonReader::_simdjson_write_data_to_column(simdjson::ondemand::value&
RETURN_IF_ERROR(data_serde->deserialize_one_cell_from_json(*data_column_ptr,
slice,
_serde_options));
Review Comment:
This branch changes the value stored in the load source block before
`PRECEDING FILTER` predicates run. For JSON loads, the FE creates
non-arrow/native scan slots as `VARCHAR`, puts `LogicalPreFilter` below the
cast project, and BE runs `_pre_filter_src_block()` before
`_convert_to_output_block()`. When a source `VARCHAR` slot is direct-mapped to
a BOOLEAN destination, this code now stores numeric JSON like `1235` as `"1"`
in that source column. A load with `PRECEDING FILTER b = '1235'` (or any filter
meant to inspect the raw source value) will now evaluate against `"1"` instead,
changing which rows are loaded. Please keep the raw source token until
pre-filters have run and apply the boolean normalization in the destination
conversion/load-expression path instead.
--
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]