This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a change to branch branch-2.0-beta
in repository https://gitbox.apache.org/repos/asf/doris.git
omit ee97899deb [bugfix](s3 fs) fix s3 uri parsing for http/https uri
(#20656)
omit 237a4837e7 [enhancement](stats) ignore view by default when analyze
whole DB #20630
omit de0bbc3d3c [fix](memory) Fix runtime state default mem tracker (#20615)
omit 05877f555c [regression](nereids) check tpch sf1T and sf500 plan shape
on 3 BE environment #20610
omit 8ec410794a [opt](Nereids) remove running in OptimizeGroup to avoid
recompute on it parent (#20608)
omit cbfaec4c9c [minor](Nereids) remove some invasive code of minidump in
cascades framework (#20606)
omit 4a33b956e6 [enhancement](index) Nereids support no need to read raw
data for index column that only in filter conditions (#20605)
omit 0be6785858 [performance](executor) remove repeated call within the
loop in validate_column
omit 46e2277a30 [Improvement](column) reduce cache miss for data copy
(#20583)
omit 99615e31cb [improvement](exception-safe) create and prepare node/sink
support exception safe (#20551)
omit 2121aa6460 [enhancement](stats) Forbid unknown stats check for
internal_column (#20535)
omit 56a6d566d9 [fix](regression) unique_with_mow_p2/test_pk_uk_case
(#20497)
omit c43dcb222e [fix](stats) set analysis job status to finished when be
crashed by mistake (#20485)
omit 35f438ec74 [opt](planner)(Nereids) add switch to determine if some
unfixed functions will be folded on fe. (#20270)
omit 3dc9aa05ae [feature-wip](duplicate_no_keys) Add some test cases of all
the duplicate tables in test case tpcds_sf100_dup_without_key_p2 and make them
duplicate tables without keys (#20431)
omit a630d520de [feature](Nereids): push down alias into union outputs.
(#20543)
omit 6df711bcbb [chore](proto) make some `required` fields `optional` for
compability (#20609)
omit 7cd44d496e [Bug](mutil-catalog) PaimonColumnValue always null (#20592)
omit 13927140a6 [Fix](external scan node)Use consistent hash to collect BE
only when the file cache is enabled. #20560
omit ff68730d3c [enhancement](heartbeat) print a warning log for long
running heartbeat (#20559)
omit 66e2d9c877 [fix](nereids) add push down filter and project through cte
anchor rules (#20547)
omit e625826e20 [Fix](multi-catalog) Fix be crashed when query hive table
after schema changed(new column added). (#20537)
omit 000f2d663a [Opt](performance) opt the outer join for nested loop join
(#20524)
omit 9a89ab0228 [Fix](dyncmic-partition) Check bucket size before find
tablet. (#20488)
omit c9e203e6cb [improvement](config)update FE config
max_running_txn_num_per_db default value (#20478)
omit 2a0f3a474d [fix](load) fix unified load redirect status delegate error
(#20467)
omit 5e51389083 [conf](pipeline) turn pipeline on by default (#20458)
omit 82cb2e06f6 [fix](memory) Fix crash at `bthread_setspecific` in
`brpc::Socket::CheckHealth()` (#20450)
omit f60d7d2429 [feature-wip](MTMV) Sync finish status only for tasks
(#20441)
omit 56f0010a3b [Fix](2PC) fix timeout config is not avaible for commit
phase in 2pc (#20423)
omit 0014794fb4 [Fix](orc-reader) Fix some bugs of orc lazy
materialization. (#20410)
omit 22d8779377 [fix](pipeline) Comment unstable p1 tests #20407
omit ea0517a97f [Fix](orc-reader) Fix the inner reader of
`MergeRangeFileReader` is not correct when creating `MergeRangeFileReader` in
orc reader. (#20393)
omit 30b520eae4 [refactor](profile) refactor the join profile when its
shared hash table (#20391)
omit 166fc4f134 [Bug](row-store) Fix row store with materialize index
(#20356)
omit 1bb04b8bab [fix](MTMV) Support star expressions in select list (#20355)
omit 35831e5313 [fix](DECIMALV3)fix cumulative precision when literal and
DECIMALV3 operations in Legacy (#20354)
omit d09de3bece [fix](multi-catalog)fix hive catalog docs, obs impl, dlf
properties (#20342)
omit f3dade924d [fix](multicatalog) support read from hive table with
HIVE_UNION_SUBDIR in path location (#20329)
omit f20d3c4ee9 [fix](regression-test) Add lost ddl file for tpcds_sf1_p2
#20288
omit 188f664359 [Fix](hive-catalog) Fallback to refresh catalog when hms
events are missing (#20227)
omit 243d3a5ce9 [fix](replay) fix truncate partition name need case
insensitive (#20098)
omit 2747d2f4c8 [Improvement](planner) expand sql-block-rule to make it can
be used on all kinds of sql stmt (#19540)
omit 7615331e89 [test](p2) Fix p2 output (#20432) (#20620)
omit cbc2dbe555 [test](regression) update some case in p2 (#20436) (#20613)
omit dd9d8fdc7c [bug](cooldown) Fix async_write_cooldown_meta and snapshot
cooldowned version not continuous bug (#20437)
omit ff53e78920 [fix](load tablet) Fix restart slowly due to load deleted
tablet error (#20552)
omit eb72e30f22 [Improvement](multi-catalog) paimon supports projection
push down (#20522)
omit f4f86b07d8 [Feature](multi-catalog)support paimon catalog (#19681)
omit 23e760a0a9 [feature-wip](multi-catalog)(step2)support read max compute
data by JNI (#19819)
omit 2e4ba8252a [fix](lazy_open) fix lazy open null point (#20540)
omit 8b5d439102 [fix](olapscanner) fix coredump caused by concurrent
acccess of olap scan node _conjuncts (#20534)
omit c6a2bc900d [Fix](inverted index) if range query exceeds CLucene
limits, downgrade it from inverted index (#20528)
omit 4654fe0a74 [Bug](memleak) Fix emptyoperator may cause node not close
(#20525)
omit 55698a240d [fix](nereids) filter and project node should be pushed
down through cte (#20508)
omit e0e7e3e4fd [fix](stats) Make alter column stats no forward (#20501)
omit 317685ef79 [bug](table_function) fix table function node forget to
call open function of expr (#20495)
omit b2d47d98da [fix](regex) String with Chinese characters matching failed
(#20493)
omit 053c8c303f [feature](backup-restore) Add local backup/restore not
upload/download by broker (#20492)
omit aff0907778 [improvement](sink) reuse rows buffer in
msyql_result_writer (#20482)
omit 41ec7010d6 [fix](cooldown) fix bug due to tablets info changed (#20465)
omit 5c33dd7a2c [fix](log) publish version log is printed too frequently
(#20507)
omit 193cf917d0 [fix](Nereids) join condition not extract as conjunctions
(#20498)
omit 8e2ae30b20 [Fix](WorkloadGroup)Fix query queue nereids bug #20484
omit 704934c733 [fix](regression) fix export file test cases (#20463)
omit 43f6dbab24 [enhancement](profile) add build get child next time
(#20460)
omit f4d0089888 [improvement](column reader) lazy load indices (#20456)
omit c3ef8e0a29 [fix](executor)Fix duplicate timer and add open timer #20448
omit 6fefe31e48 [fix](load) fix generate delete bitmap in memtable flush
(#20446)
omit 5146a71c4f [bug](jdbc) fix trino date/datetime filter (#20443)
omit e30e986aa5 [fix](Nereids) throw NPE when sql cannot be parsed by all
planner (#20440)
omit 34eca4d692 [fix](execution) result_filter_data should be filled by 0
when can_filter_all is true (#20438)
omit 1f273fd856 Fix query hang when using queue (#20434)
omit 7b0de61f0f [fix](workload-group) fix workload group non-existence
error (#20428)
omit 8c79108d8e [fix](conf) fix fe host in doris-cluster.conf #20422
omit 4889512689 [Fix] (tablet) fix tablet queryable set (#20413) (#20414)
omit 0b16cde515 [fix](sequence) value predicates shouldn't be push down
when has sequence column (#20408)
omit b6a1092d87 [fix][refactor](backend-policy)(compute) refactor the
hierarchy of external scan node and fix compute node bug #20402
omit 2e0ff4f788 [performance](load) improve memtable sort performance
(#20392)
omit b5027ef1ba [fix](nereids) change defaultConcreteType function's return
value for decimal (#20380)
omit b31747a37d [fix](load) in strict mode, return error for insert if
datatype convert fails (#20378)
omit e64ab13b45 [Fix](Nereids) Fix duplicated name in view does not throw
exception (#20374)
omit 98be895a4c [fix](stats) skip forbid_unknown_col_stats check for
invisible column and internal db (#20362)
omit 2d762f6da9 [fix](nereids) avg size of column stats always be 0 (#20341)
omit a92b268810 [improve](nereids)derive analytics node stats (#20340)
omit 1cc61fbf1d [feature](planner)(nereids) support user defined variable
(#20334)
omit a368255baa [feature](profile)Add the filtering info of the in filter
in profile #20321
omit d8c6dfbf09 [Feature](Nereids) support update unique table statement
(#20313)
omit 31bd9ba03c [fix](Nereids): fix filter can't be pushdown unionAll
(#20310)
omit a01fb11972 [Enchancement](Agg State) storage function name and result
is nullable in agg state type (#20298)
omit 9e44e20be5 [Optimize](function) Optimize locate function by compare
across strings (#20290)
omit 5c4c653aac [fix](nereids) select with specified partition name is not
work as expected (#20269)
omit 4ebf48b437 [fix](memory) Fix query memory tracking #20253
omit b79fd59c7d [fix](dynamic partition) partition create failed after
alter distributed column (#20239)
omit 219332211d [opt](Nereids) perfer use datev2 / datetimev2 in date
related functions (#20224)
omit 8edb297534 [fix](Nereids) give clean error message when there are
subquery in the on clause (#20211)
omit eb044d8b75 [Fix](Planner)fix cast date/datev2/datetime to float/double
return null. (#20008)
omit fcc73625a5 [build](scripts) modify build-for-release.sh (#20398)
omit e96a230c65 [Fix](lazy_open) fix lazy open commit info lose (#20404)
omit f70d5f63ba [pipeline](opt) Opt fragment instance prepare performance
by thread pool (#20399)
omit c9acb47808 [fix](community) fix PR template (#20400)
add efb3b0f3ef [fix](community) fix PR template (#20400)
add e1dbee5e90 [pipeline](opt) Opt fragment instance prepare performance
by thread pool (#20399)
add 34a1b7599f [Fix](lazy_open) fix lazy open commit info lose (#20404)
add b0bbff0fd1 [performance](load) improve memtable sort performance
(#20392)
add e6f395c9da [build](scripts) modify build-for-release.sh (#20398)
add 8e39f0cf6b [Enchancement](Agg State) storage function name and result
is nullable in agg state type (#20298)
add 50ce237a24 [fix](regression) exclude test_analyze_stats_p1 suite
(#20366)
add 32b0013a35 [fix](memory) Fix query memory tracking #20253
add 92af861481 [Fix] Change open tablet log level #20306
add 26201dfdd1 [typo](doc) Fixed typos in bitmap_subset_limit.md (#19582)
add e90b78d783 [chore](regression) add case in test_delete (#20372)
add 653dc715f6 [fix](pipeline) Comment unstable p1 tests #20407
add 59a0f80233 [Improve](array-function)Improve array function intersect
(#20085)
add 7dc7ed97eb [Chore](build) remove some unused code and remove some wno
(#20326)
add 90a5be913c [enhancement](merge-on-write) avoid unecessary pk index
iteration while memtable flushing (#20244)
add c6387847aa [fix](nereids) change defaultConcreteType function's return
value for decimal (#20380)
add 12f89b879f [fix](stats) Analysis info lost after checkpoint (#20412)
add 660ab34147 [fix](multicatalog) support read from hive table with
HIVE_UNION_SUBDIR in path location (#20329)
add a6d8115cbc [Improvement](planner) expand sql-block-rule to make it can
be used on all kinds of sql stmt (#19540)
add d392791114 [Chore](docs)Remove the Committer-related description in
the contribution guide (#20418)
add 3c28a71378 [fix](dynamic partition) partition create failed after
alter distributed column (#20239)
add d03bb4ba7b [Optimize](function) Optimize locate function by compare
across strings (#20290)
add cd0379df4e [fix](nereids) select with specified partition name is not
work as expected (#20269)
add 0dc6d3a568 [fix](nereids) avg size of column stats always be 0 (#20341)
add fe942eaf44 [Fix](Nereids) Fix minidump using put all of hashmap
(#20268)
add a66d5a6ae0 [fix](workload-group) fix workload group non-existence
error (#20428)
add 1cb4c7bc51 [enhancement](function) Compatible with python 2.6 and
keep the code style consistent (#20429)
add 20bf309ffb [test](p2) Fix p2 output (#20432)
add f0b0bda04a [Fix](Nereids) Fix duplicated name in view does not throw
exception (#20374)
add 9d39fd7aae [fix](Nereids): fix filter can't be pushdown unionAll
(#20310)
add 5b2efd196b [fix](execution) result_filter_data should be filled by 0
when can_filter_all is true (#20438)
add bc65e9b5fb [fix](MTMV) Support star expressions in select list (#20355)
add ae8914d5c8 [fix](memory) Fix meta_tool start failed #20045
add 7d11db0807 [fix](Nereids) throw NPE when sql cannot be parsed by all
planner (#20440)
add c7dd7c2eba Fix query hang when using queue (#20434)
add 92721c84d3 [improve](nereids)derive analytics node stats (#20340)
add fac0b50f56 [Fix](Planner)fix cast date/datev2/datetime to float/double
return null. (#20008)
add 05d497d21e [fix](sequence) value predicates shouldn't be push down
when has sequence column (#20408)
add 25aa86087c [fix](audit) Fix the error of peakMemoryBytes in the audit
log (#20449)
add 0a90a9d507 [feature-wip](duplicate_no_keys) Add some test cases of all
the duplicate tables in test case tpcds_sf100_dup_without_key_p2 and make them
duplicate tables without keys (#20431)
add e576d533b2 [typo](doc)Remove useless hints (#20457)
add b7fc17da68 [feature-wip](multi-catalog)(step2)support read max compute
data by JNI (#19819)
add 6c96e1dc9f [fix](regression) add sync after streamload in
test_stream_load (#20425)
add 4f77578d8a [enhancement](profile) add build get child next time
(#20460)
add 1fc48e83f2 [fix](executor)Fix duplicate timer and add open timer #20448
add 22eec4148b [fix](conf) fix fe host in doris-cluster.conf #20422
add 5f4ccb1f2e [fix](load) fix generate delete bitmap in memtable flush
(#20446)
add 378ffa133e [fix](regression-test) Add lost ddl file for tpcds_sf1_p2
#20288
add c7888f4bfa [feature](profile)Add the filtering info of the in filter
in profile #20321
add f839c90c27 [fix][refactor](backend-policy)(compute) refactor the
hierarchy of external scan node and fix compute node bug #20402
add d02737a293 [feature](struct-type) support struct_element function
(#19045)
add 2fc1141c5f [test](regression) update some case in p2 (#20436)
add c56eddbfa9 [bug](jdbc) fix trino date/datetime filter (#20443)
add e553615a27 [opt](Nereids) perfer use datev2 / datetimev2 in date
related functions (#20224)
add 65100d8083 [improvement](profile)add max/min rpc time (#20339)
add 1b94b6368f [fix](load) in strict mode, return error for insert if
datatype convert fails (#20378)
add 1f032a551d [Improve](array-functions) support array first function
(#20397)
add 0fce7b9011 [fix](http) Let the sdk find the httpclient package
determined (#20205)
add ae428c29e2 [feature](planner)(nereids) support user defined variable
(#20334)
add fe63a0a3bb [Feature](multi-catalog)support paimon catalog (#19681)
add 5184b31620 [feature](docker)Add new example MySQL-Flink-Doris Demo
(#20469)
add f1db1f3663 [fix](docker)Fix BE init script Bug (#20470)
add 0337dd573c [fix](docker)Fix docker example script (#20471)
add a3bcdf7b44 [docs](docs)Fix docker example doc (#20472)
add 1b02b28c40 [feature](docker)Docker example hive-broker-doris (#20473)
add 24f9610cbb [fix](docker)Add container graceful exit logic (#20474)
add 13f1b90768 [Fix] (tablet) fix tablet queryable set (#20413) (#20414)
add 48021366bf [fix](load) fix unified load redirect status delegate error
(#20467)
add 7df8459e21 [fix](regression-test) add retry time to avoid regression
test failed (#20487)
add 17259672ff [typo](docs)modify http_port to webserver_port (#20447)
add 4bc221aa25 [improvement](column reader) lazy load indices (#20456)
add b1a8bb28f7 [Fix](WorkloadGroup)Fix query queue nereids bug #20484
add a569d371b3 [fix](Nereids) give clean error message when there are
subquery in the on clause (#20211)
add 625a8bcb05 [fix](merge-on-write) fix that
set_txn_related_delete_bitmap may coredump (#20300)
add 0c6292abaa [fix](stats) skip forbid_unknown_col_stats check for
invisible column and internal db (#20362)
add 1f63c56e20 [sample](doris-soruce) add demo for reading data from doris
be using thrift (#20192)
add 61d9bd2ba1 [fix](regression) fix export file test cases (#20463)
add 05bdbce8fc [Feature](Nereids) support update unique table statement
(#20313)
add 82cf76f92b [fix](Nereids) join condition not extract as conjunctions
(#20498)
add b22e364cdb [fix](log) publish version log is printed too frequently
(#20507)
add a68afd0672 [fix](cooldown) fix bug due to tablets info changed (#20465)
add c991249360 [enhancement](cooldown) use cooldown replica first when
generating scan node (#20384)
add 5a749e6f4d [doc](catalog-hive) Add the property of hive catalog with
kerberos. (#20502)
add 43ae2c59c3 [typo](doc) Fixed some description of date_format function
documentation (#20504)
add 880e2d8373 [typo](doc) update spark connnector version compatibility
instructions (#20477)
add b65094c8df [Improvement](multi-catalog) paimon supports projection
push down (#20522)
add 3aa0c2bdbf [Bug](memleak) Fix emptyoperator may cause node not close
(#20525)
add 3691372054 [bug](table_function) fix table function node forget to
call open function of expr (#20495)
add 49f8f20fb1 [fix](regex) String with Chinese characters matching failed
(#20493)
add 105d9a9513 [typo](doc) Fix a wrongly written in the release note for
1.2.0 version (#20496)
add 35a2be1074 [refactor](agg_state) refactor agg_state type to support
fixed length object type (#20370)
add 03a679e33a [improvement](sink) reuse rows buffer in
msyql_result_writer (#20482)
add b83039de76 [fix](stats) Make alter column stats no forward (#20501)
add cd70c37402 [fix](nereids) filter and project node should be pushed
down through cte (#20508)
add 36216f0925 [Bug](Agg-State) fix coredump when state combinator input
const column (#20510)
add a4acd2c06e [chore](gitignore) Update gitignore to skip: tpcds tools
and third party zip (#20529)
add 732526ba58 [doc](multi-catalog) paimon catalog doc (#20503)
add 6b325a8458 [fix](Nereids): union output can be Alias<Slot> (#20532)
add c910e9b78b [doc](disk)fix disk capacity doc error (#20506)
add 40205503d7 [doc](fix) update cold hot separation chinese doc (#20542)
add 7ead287405 [typo](doc)Fixed some date function documentation
descriptions (#20539)
add 841094960f [fix](olapscanner) fix coredump caused by concurrent
acccess of olap scan node _conjuncts (#20534)
add d00b7ad04b [Opt](performance) opt the outer join for nested loop join
(#20524)
add fbbf4c420e [Bug](Agg-State) fix agg state function get wrong input
argument list (#20546)
add 09344eaab5 [feature](load) introduce single-stream-multi-table load
(#20006)
add 2db900b775 [fix](lazy_open) fix lazy open null point (#20540)
add 809bb46518 [doc](multi-catalog)huawei mrs event sync doc (#20466)
add 296ca1d9dd [Fix](inverted index) if range query exceeds CLucene
limits, downgrade it from inverted index (#20528)
add 53970192aa [fix](regression) unique_with_mow_p2/test_pk_uk_case
(#20497)
add 03cb69c0ee [feature](backup-restore) Add local backup/restore not
upload/download by broker (#20492)
add 187bf14d81 [feature-wip](auto-inc)(step-1) add syntax support for
duplicate table (#20284)
add 92577f45d3 [fix] (recover) fix can not recover a BE's tablet after
deleting its data directory manual (#20273) (#20274)
add 37d636cd11 [typo](docs) Update profile screenshot. (#20255)
add d4b568d5ab [typo](doc)Add Broker installation and upgrade to 1.2.2
(#17878)
add f154319a49 [fix](load tablet) Fix restart slowly due to load deleted
tablet error (#20552)
add 325ddab34e [conf](pipeline) turn pipeline on by default (#20458)
add d2d6ce5d0b [fix](nereids) add push down filter and project through cte
anchor rules (#20547)
add 46c68d11aa [feature-wip](MTMV) Sync finish status only for tasks
(#20441)
add 24fb05ec83 [Bug](row-store) Fix row store with materialize index
(#20356)
add 43811ea989 [improvement](docker)Change docker shell DorisImage version
(#20581)
add f429276863 [typo(docs)Change docker docs DorisImage version (#20580)
add ee4c041444 [doc](flink) add flink delete column from kafka specified
columns (#20545)
add 6702b6ca57 [Fix](hive-catalog) Fallback to refresh catalog when hms
events are missing (#20227)
add 7f39d58e92 [typo](docs) fix some description error about
segcompaction_small_threshold (#20421)
add 22985af4d7 [Bug](pipeline) set SourceState to MORE_DATA when
UnionSourceOperator have const_expr/data_queue->remaining_has_data (#20557)
add 5fe7106b83 [Bug](planner) fix pre condition check fail on max(null)
(#20509)
add a68fc551f0 [bug](cooldown) Fix async_write_cooldown_meta and snapshot
cooldowned version not continuous bug (#20437)
add a56449f86e [Bug](Agg-state) try to make test_agg_state stable (#20574)
add 3054574bc1 [fix](load) fix ctx nullptr core in flush_single_memtable
(#20573)
add 41d7c535f2 [fix](regression-test) add sync after insert into table for
nereids case (#20516)
add 4faee4d8fd [Fix](multi-catalog) Fix be crashed when query hive table
after schema changed(new column added). (#20537)
add a15a0b9193 [Chore](build) use file(GLOB_RECURSE xxx CONFIGURE_DEPENDS)
to replace set cpp (#20461)
add e801e3b737 [fix](memory) Fix crash at `bthread_setspecific` in
`brpc::Socket::CheckHealth()` (#20450)
add a759b6535b [test](regression) Add cases to test cast function
substitution (#20481)
add dd71e101d3 [fix](case expr) fix coredump of case for null value
(#20564)
add 5468d1fa69 [typo](docs)fix get start doc download and Decompress
(#20558)
add 234be0c517 [regression-test](test_point_query) fix output (#20604)
add e1184bf4dc [fix](dbt) dbt incremental append (#20513)
add 6afb09e7ba [typo](fix)Fixed documentation for some string functions
(#20598)
add 14fe95578e [enhancement](heartbeat) print a warning log for long
running heartbeat (#20559)
add 195beec3a8 [Fix](external scan node)Use consistent hash to collect BE
only when the file cache is enabled. #20560
add d03bd73795 [bug](udaf) fix java-udaf can't exectue add function
(#20554)
add c441cbf402 [Fix](dyncmic-partition) Check bucket size before find
tablet. (#20488)
add bd5a26f240 [improvement](recover) Default disable check tablet path
(#20565)
add fa785f3b24 [chore](proto) make some `required` fields `optional` for
compability (#20609)
add 845d459f05 [Fix](orc-reader) Fix some bugs of orc lazy
materialization. (#20410)
add 4c6b99d1f9 [Fix](orc-reader) Fix the inner reader of
`MergeRangeFileReader` is not correct when creating `MergeRangeFileReader` in
orc reader. (#20393)
add 079fb0e56d [improvement](config)update FE config
max_running_txn_num_per_db default value (#20478)
add 4c6df9062e [fix](DECIMALV3)fix cumulative precision when literal and
DECIMALV3 operations in Legacy (#20354)
add b60860c5e5 [refactor](profile) refactor the join profile when its
shared hash table (#20391)
add 7b85ec5b08 [fix](multi-catalog)fix hive catalog docs, obs impl, dlf
properties (#20342)
add 88911c6c28 [Fix](2PC) fix timeout config is not avaible for commit
phase in 2pc (#20423)
add a1a587fec6 [fix](replay) fix truncate partition name need case
insensitive (#20098)
add f0777f74ad [Bug](mutil-catalog) PaimonColumnValue always null (#20592)
add 019e2353d3 [Feature](load)RoutineLoad support multi table load (#20307)
add 44e20d9087 [feature](Nereids): push down alias into union outputs.
(#20543)
add 101e75d633 [pipeline](doc) Update pipeline doc (#20623)
add 3b17cc8eb3 [Improvement](column) reduce cache miss for data copy
(#20583)
add 05438eab0d remove DCHECK for rpc time (#20621)
add fe8233863a [enhancement](stats) ignore view by default when analyze
whole DB #20630
add c8bda9508e [doc](catalog) remove external table doc (#20632)
add b6386889d5 [fix](stats) set analysis job status to finished when be
crashed by mistake (#20485)
add a6aee1fc2c [enhancement](stats) Forbid unknown stats check for
internal_column (#20535)
add 70819fae22 [feature](alter) Add AlterDatabasePropertyStmt binlog impl
(#20550)
add df1e526ec0 [opt](planner)(Nereids) add switch to determine if some
unfixed functions will be folded on fe. (#20270)
add 54504fb61d [opt](Nereids) remove running in OptimizeGroup to avoid
recompute on it parent (#20608)
add abb2048d5d [performance](executor) remove repeated call within the
loop in validate_column
add 93b53cf2f4 [improvement](exception-safe) create and prepare node/sink
support exception safe (#20551)
add 0f21166110 [fix](memory) Fix runtime state default mem tracker (#20615)
add 656b9ad3da [enhancement](index) Nereids support no need to read raw
data for index column that only in filter conditions (#20605)
add ab6c1f152c [Chore](build) adjust build script about pch setting
(#20637)
add def6a8ec94 [regression](nereids) check tpch sf1T and sf500 plan shape
on 3 BE environment #20610
add c79642781b [minor](Nereids) remove some invasive code of minidump in
cascades framework (#20606)
add 206b5a4235 [doc](flink-connector) add flink cdc sync mysql database
(#20486)
add 9a83d78dfe [Enhancement](hudi) support hudi mor table, step2 follow
#19909 (#20570)
add 87bc405c41 [Improvement](statistics)Support external table partition
statistics (#20415)
add 987b29ded5 [fix](nereids)avoid to derive rowCount NaN (#20523)
add 3d9e520fb2 [fix](ssl) fix ssl connection bug for JDBC 8.0.19 (#20659)
add 8a2e0504e4 [chore](coldHeatCases) drop table first to enhance
robustness (#20629)
add ca1e2ddf43 [fix](regression) tests in
unique_with_mow_p0/partial_update are flaky (#20633)
add bd9a9a32f5 [bugfix](s3 fs) fix s3 uri parsing for http/https uri
(#20656)
add 8ea61a1ce6 [fix](streamload) fix crash when be exit (#20662)
add 8162d0062b [fix](alter) fix potential concurrent issue for alter when
check olap table state normal outside write lock scope is not atomic (#20480)
add c9b08d5c20 [feature](planner) multi partition create by integer column
(#19597)
add a347063390 [fix](case expr) fix coredump of case for null value 2
(#20635)
add ab7ac31d89 [Chore](case) fix failed on test_big_pad when enable
pipeline engine #20644
add a6f625676b [profile](remove child) child is for node, should not be
used to organize counters (#20676)
add 4c340f2851 [Feature] (Multi-Catalog) support query hll column in doris
jdbc table - part 1 (#19413)
add bcc37c9405 [fix](planner)the common type of floating and decimal
should be floating type (#20634)
add 14f59bef1d [improvement](profile)add sum/avg rpc time (#20511)
add a02a2f4163 [doc](create-function) Update CREATE-FUNCTION.md to remove
the usage of c++ (#20654)
add 7f8c5c81e7 [Feature](agg_state) support agg_state combinator on
nereids (#20164)
add 28fbdf3273 [BUG](es_catalog)Solve the problem of querying es catalog
Unexpected exception: Index:… (#18743)
add f90d5dbacf [fix](test) fix unstable dynamic partition regression test
(#20674)
add 10134ea8c6 [fix](planner) fix RewriteInPredicateRule may be useless
(#20668)
add 0b228b3414 [fix](load)Support load json data with default value
(#20624)
add ea264ce9de [Opt](join) short circuit probe for join node (#20585)
add 141813b476 [tpcds](nereids) estimate distribution cost by byte size
instead of row count (#20642)
add 99c0592157 [Feature](array-function) Support array_pushback function
#17417 (#19988)
add 9d47c6a871 [fix](columnstring) fix bug of columnstring prefetch
(#20698)
add 153f91f77e [typo](doc) Update doc for newly released 1.2.0 version of
spark connector (#20639)
add daf18a4b0e [fix](MTMV) Support refreshing data manually (#20108)
add 565095eb52 [bug](function) fix is_null/is_not_null check is_const has
error (#20562)
add 5fd9f58bd3 [Chore](pipeline-engine) adjus queryt canceled log on
pipeline engine (#20702)
add c25c19bddc [test](regression) Add cases to test join condition push
and not like (#20453)
add b4e552c3c3 [typo](docs) add parameter version (#20672)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (ee97899deb)
\
N -- N -- N refs/heads/branch-2.0-beta (b4e552c3c3)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.clang-format-ignore | 4 -
.gitignore | 4 +
.licenserc.yaml | 1 -
LICENSE.txt | 40 -
be/CMakeLists.txt | 16 +-
be/src/agent/CMakeLists.txt | 9 +-
be/src/agent/task_worker_pool.cpp | 5 +-
be/src/agent/user_resource_listener.cpp | 5 +-
be/src/common/CMakeLists.txt | 11 +-
be/src/common/config.cpp | 8 +
be/src/common/config.h | 8 +
be/src/common/logging.h | 38 +-
be/src/exec/CMakeLists.txt | 34 +-
be/src/exprs/CMakeLists.txt | 11 +-
be/src/gutil/CMakeLists.txt | 1 -
be/src/gutil/dynamic_annotations.c | 44 -
be/src/gutil/dynamic_annotations.h | 30 -
be/src/gutil/linux_syscall_support.h | 2777 ---------------
be/src/gutil/spinlock_internal.cc | 125 -
be/src/gutil/spinlock_internal.h | 61 -
be/src/gutil/spinlock_linux-inl.h | 98 -
be/src/gutil/spinlock_posix-inl.h | 61 -
be/src/gutil/spinlock_win32-inl.h | 52 -
be/src/gutil/valgrind.h | 3716 --------------------
be/src/http/CMakeLists.txt | 41 +-
be/src/http/action/check_rpc_channel_action.cpp | 4 +-
be/src/http/action/stream_load.cpp | 6 +-
be/src/http/action/stream_load_2pc.cpp | 3 +-
be/src/http/action/tablets_distribution_action.cpp | 4 +-
be/src/io/CMakeLists.txt | 41 +-
be/src/io/file_factory.cpp | 15 +-
be/src/io/file_factory.h | 3 +-
be/src/io/fs/broker_file_reader.cpp | 2 +-
be/src/io/fs/broker_file_system.cpp | 12 +-
be/src/io/fs/broker_file_writer.cpp | 4 +-
be/src/io/fs/kafka_consumer_pipe.h | 6 +-
be/src/io/fs/multi_table_pipe.cpp | 288 ++
be/src/io/fs/multi_table_pipe.h | 90 +
be/src/io/fs/stream_load_pipe.h | 6 +-
be/src/olap/CMakeLists.txt | 96 +-
be/src/olap/base_compaction.cpp | 5 -
be/src/olap/compaction.cpp | 7 -
be/src/olap/cumulative_compaction.cpp | 6 -
be/src/olap/field.h | 49 +-
be/src/olap/olap_server.cpp | 82 +
be/src/olap/rowset/beta_rowset_reader.cpp | 1 +
be/src/olap/rowset/beta_rowset_writer.cpp | 4 +-
be/src/olap/rowset/rowset_writer.h | 4 +-
.../olap/rowset/segment_v2/ngram_bloom_filter.cpp | 6 +-
be/src/olap/single_replica_compaction.cpp | 9 -
be/src/olap/storage_engine.cpp | 1 -
be/src/olap/storage_engine.h | 4 +
be/src/olap/tablet.cpp | 57 +-
be/src/olap/tablet.h | 8 +-
be/src/olap/tablet_manager.cpp | 5 +-
be/src/olap/txn_manager.cpp | 8 +-
be/src/pipeline/CMakeLists.txt | 47 +-
be/src/pipeline/exec/data_queue.cpp | 22 +-
be/src/pipeline/exec/data_queue.h | 10 +-
be/src/pipeline/exec/exchange_sink_buffer.cpp | 61 +-
be/src/pipeline/exec/exchange_sink_buffer.h | 17 +-
be/src/pipeline/exec/exchange_sink_operator.cpp | 2 +-
be/src/pipeline/exec/operator.cpp | 6 +-
be/src/pipeline/exec/operator.h | 3 +-
be/src/pipeline/exec/union_source_operator.cpp | 13 +-
be/src/pipeline/pipeline_fragment_context.cpp | 26 +-
be/src/pipeline/pipeline_task.cpp | 4 +
be/src/pipeline/task_scheduler.cpp | 28 +-
be/src/runtime/CMakeLists.txt | 63 +-
be/src/runtime/broker_mgr.cpp | 2 +-
be/src/runtime/buffer_control_block.h | 2 -
be/src/runtime/descriptors.h | 9 +
be/src/runtime/exec_env_init.cpp | 1 +
be/src/runtime/export_task_mgr.cpp | 230 --
be/src/runtime/export_task_mgr.h | 81 -
be/src/runtime/fragment_mgr.cpp | 1 +
be/src/runtime/memory/thread_mem_tracker_mgr.cpp | 2 +
be/src/runtime/memory/thread_mem_tracker_mgr.h | 21 +-
be/src/runtime/plan_fragment_executor.cpp | 4 +-
be/src/runtime/query_statistics.cpp | 10 +-
be/src/runtime/query_statistics.h | 4 +-
.../routine_load/routine_load_task_executor.cpp | 35 +-
be/src/runtime/stream_load/stream_load_context.h | 7 +
.../runtime/stream_load/stream_load_executor.cpp | 7 +
be/src/runtime/thread_context.h | 7 +-
be/src/runtime/types.h | 2 +
be/src/service/CMakeLists.txt | 12 +-
be/src/service/internal_service.cpp | 12 +-
be/src/util/CMakeLists.txt | 87 +-
be/src/util/cidr.cpp | 2 +-
be/src/util/cityhash102/city.cc | 468 ---
be/src/util/cityhash102/city.h | 104 -
be/src/util/cityhash102/citycrc.h | 48 -
be/src/util/cityhash102/config.h | 125 -
be/src/util/hash_util.hpp | 7 +
be/src/util/json_util.h | 64 -
be/src/util/pretty_printer.h | 6 +-
be/src/util/runtime_profile.h | 1 +
be/src/util/time.h | 7 +
be/src/util/trace.h | 31 -
be/src/vec/CMakeLists.txt | 344 +-
.../aggregate_functions/aggregate_function_avg.h | 13 +
.../aggregate_functions/aggregate_function_count.h | 104 +-
.../aggregate_function_java_udaf.h | 33 +-
.../aggregate_function_min_max.h | 16 +
.../aggregate_function_state_union.h | 14 +-
.../aggregate_functions/aggregate_function_sum.h | 50 +-
be/src/vec/columns/column_fixed_length_object.h | 70 +-
be/src/vec/columns/column_string.cpp | 2 +-
be/src/vec/columns/column_string.h | 9 +-
be/src/vec/data_types/data_type.h | 3 +
be/src/vec/data_types/data_type_agg_state.h | 73 +-
be/src/vec/data_types/data_type_factory.cpp | 32 +-
.../vec/data_types/data_type_fixed_length_object.h | 2 +-
be/src/vec/data_types/data_type_hll.cpp | 12 +
be/src/vec/data_types/data_type_hll.h | 1 +
be/src/vec/data_types/data_type_struct.cpp | 4 +-
.../serde/data_type_fixedlengthobject_serde.h | 15 +-
be/src/vec/exec/format/csv/csv_reader.cpp | 3 +-
be/src/vec/exec/format/json/new_json_reader.cpp | 176 +-
be/src/vec/exec/format/json/new_json_reader.h | 13 +-
be/src/vec/exec/join/vhash_join_node.cpp | 39 +-
be/src/vec/exec/join/vhash_join_node.h | 12 +
be/src/vec/exec/join/vjoin_node_base.h | 7 +
be/src/vec/exec/scan/hudi_jni_reader.cpp | 97 +
be/src/vec/exec/scan/hudi_jni_reader.h | 75 +
be/src/vec/exec/scan/vfile_scanner.cpp | 16 +-
be/src/vec/exec/scan/vscan_node.cpp | 8 +-
be/src/vec/exec/scan/vscan_node.h | 1 +
be/src/vec/exec/vaggregation_node.cpp | 10 +-
be/src/vec/exec/vaggregation_node.h | 1 +
be/src/vec/exec/vanalytic_eval_node.cpp | 6 +-
be/src/vec/exec/vanalytic_eval_node.h | 1 +
be/src/vec/exec/vjdbc_connector.cpp | 121 +-
be/src/vec/exec/vjdbc_connector.h | 8 +
be/src/vec/exec/vsort_node.cpp | 6 +-
be/src/vec/exec/vsort_node.h | 1 +
be/src/vec/exprs/vectorized_agg_fn.cpp | 11 +
.../functions/array/function_array_intersect.cpp | 72 +-
be/src/vec/functions/array/function_array_map.h | 193 +
be/src/vec/functions/array/function_array_nary.h | 82 +
.../functions/array/function_array_pushback.cpp | 120 +
.../functions/array/function_array_register.cpp | 2 +
be/src/vec/functions/array/function_array_set.h | 10 +-
.../vec/functions/array/function_array_union.cpp | 1 +
be/src/vec/functions/array/function_array_utils.h | 46 +-
be/src/vec/functions/function_agg_state.h | 13 +-
be/src/vec/functions/function_case.h | 8 +-
be/src/vec/functions/function_cast.h | 23 +
be/src/vec/functions/function_string.h | 33 +-
be/src/vec/functions/function_struct_element.cpp | 134 +
be/src/vec/functions/simple_function_factory.h | 2 +
be/src/vec/olap/olap_data_convertor.cpp | 84 +-
be/src/vec/olap/olap_data_convertor.h | 12 +
be/src/vec/runtime/vdata_stream_recvr.cpp | 7 +-
be/src/vec/runtime/vdata_stream_recvr.h | 1 +
be/src/vec/sink/vdata_stream_sender.h | 5 +-
be/src/vec/sink/vtablet_sink.cpp | 4 +-
be/test/CMakeLists.txt | 291 +-
be/test/agent/agent_server_test.cpp | 178 -
be/test/io/fs/multi_table_pipe_test.cpp | 72 +
be/test/io/fs/remote_file_system_test.cpp | 5 -
be/test/olap/memtable_flush_executor_test.cpp | 44 +-
be/test/olap/remote_rowset_gc_test.cpp | 3 -
be/test/olap/row_cursor_test.cpp | 40 -
be/test/olap/rowset/beta_rowset_test.cpp | 2 +-
be/test/runtime/export_task_mgr_test.cpp | 216 --
be/test/runtime/jsonb_value_test.cpp | 13 +-
be/test/runtime/large_int_value_test.cpp | 2 +-
.../{desc_tbl_builder.cc => desc_tbl_builder.cpp} | 0
be/test/tools/benchmark_tool.cpp | 280 --
be/test/util/trace_test.cpp | 130 -
.../data_types/serde/data_type_serde_pb_test.cpp | 8 +-
.../vec/data_types/serde/data_type_serde_test.cpp | 8 +-
dist/LICENSE-dist.txt | 40 -
docker/runtime/be/resource/entry_point.sh | 2 +-
docker/runtime/be/resource/init_be.sh | 41 +-
.../docker-compose/3fe_3be/docker-compose.yaml | 20 +-
.../build-cluster/rum-command/3fe_3be.sh | 18 +-
.../example/hdfs-broker-doris/broker-init.sql | 29 +
.../example/hdfs-broker-doris/docker-compose.yaml | 97 +
.../example/hdfs-broker-doris/doris-init.sql | 27 +
.../example/hdfs-broker-doris/hdfs-init.sql | 18 +
.../example/hdfs-broker-doris/user_basic_data.sql | 20 +
.../example/mysql-flink-doris/Readme.md | 21 +-
.../example/mysql-flink-doris/docker-compose.yaml | 93 +
.../example/mysql-flink-doris/doris-init-sql.sql | 33 +
.../example/mysql-flink-doris/flink-init-sql.sql | 57 +
.../example/mysql-flink-doris/mysql-init-sql.sql | 32 +
docker/runtime/fe/resource/init_fe.sh | 17 +-
.../how-to-contribute/contributor-guide.md | 13 -
docs/en/docs/admin-manual/config/be-config.md | 6 +
.../admin-manual/maint-monitor/disk-capacity.md | 4 +-
.../memory-management/memory-tracker.md | 4 +-
docs/en/docs/advanced/variables.md | 2 +
.../import/import-way/routine-load-manual.md | 142 +-
docs/en/docs/ecosystem/flink-doris-connector.md | 97 +-
docs/en/docs/ecosystem/spark-doris-connector.md | 32 +-
docs/en/docs/get-starting/get-starting.md | 4 +-
.../install/construct-docker/run-docker-cluster.md | 114 +-
.../install/source-install/compilation-general.md | 14 +-
docs/en/docs/lakehouse/external-table/es.md | 595 ----
docs/en/docs/lakehouse/external-table/hive.md | 34 -
docs/en/docs/lakehouse/external-table/jdbc.md | 530 ---
docs/en/docs/lakehouse/multi-catalog/hive.md | 1 +
docs/en/docs/lakehouse/multi-catalog/jdbc.md | 1 +
.../docs/lakehouse/multi-catalog/multi-catalog.md | 29 +-
docs/en/docs/lakehouse/multi-catalog/paimon.md | 61 +
.../pipeline-execution-engine.md | 11 +-
.../sql-functions/array-functions/array_first.md | 80 +
.../array-functions/array_pushback.md | 84 +
.../sql-functions/date-time-functions/date_add.md | 4 +-
.../date-time-functions/date_format.md | 6 +-
.../sql-functions/date-time-functions/date_sub.md | 2 +-
.../sql-functions/date-time-functions/datediff.md | 4 +-
.../sql-functions/date-time-functions/days_diff.md | 2 +-
.../sql-functions/string-functions/field.md | 25 +-
.../sql-functions/string-functions/ucase.md | 2 +-
.../struct-functions/struct_element.md | 93 +
.../Create/CREATE-FUNCTION.md | 100 +-
.../Load/CREATE-ROUTINE-LOAD.md | 67 +-
.../Show-Statements/SHOW-ROUTINE-LOAD.md | 3 +-
docs/images/running_profile.png | Bin 52197 -> 198489 bytes
docs/sidebars.json | 16 +-
.../how-to-contribute/contributor-guide.md | 12 -
docs/zh-CN/docs/admin-manual/config/be-config.md | 8 +-
.../admin-manual/maint-monitor/disk-capacity.md | 4 +-
.../memory-management/memory-tracker.md | 4 +-
.../maint-monitor/monitor-metrics/metrics.md | 6 +-
docs/zh-CN/docs/advanced/cold_hot_separation.md | 12 +-
docs/zh-CN/docs/advanced/variables.md | 2 +
.../import/import-way/routine-load-manual.md | 89 +-
docs/zh-CN/docs/ecosystem/flink-doris-connector.md | 103 +-
docs/zh-CN/docs/ecosystem/spark-doris-connector.md | 42 +-
docs/zh-CN/docs/get-starting/get-starting.md | 2 +-
.../install/construct-docker/run-docker-cluster.md | 103 +-
.../install/source-install/compilation-general.md | 14 +-
docs/zh-CN/docs/lakehouse/external-table/es.md | 595 ----
docs/zh-CN/docs/lakehouse/external-table/hive.md | 209 --
docs/zh-CN/docs/lakehouse/external-table/jdbc.md | 520 ---
docs/zh-CN/docs/lakehouse/external-table/odbc.md | 406 ---
docs/zh-CN/docs/lakehouse/multi-catalog/hive.md | 1 +
docs/zh-CN/docs/lakehouse/multi-catalog/jdbc.md | 1 +
.../docs/lakehouse/multi-catalog/multi-catalog.md | 29 +-
docs/zh-CN/docs/lakehouse/multi-catalog/paimon.md | 62 +
.../pipeline-execution-engine.md | 7 +-
docs/zh-CN/docs/releasenotes/release-1.2.0.md | 2 +-
.../sql-functions/array-functions/array_first.md | 79 +
.../array-functions/array_pushback.md | 84 +
.../bitmap-functions/bitmap_subset_limit.md | 2 +-
.../date-time-functions/date_format.md | 2 +-
.../sql-functions/date-time-functions/datediff.md | 2 +-
.../sql-functions/date-time-functions/days_diff.md | 2 +-
.../sql-functions/string-functions/field.md | 30 +-
.../sql-functions/string-functions/ucase.md | 2 +-
.../struct-functions/struct_element.md | 93 +
.../Alter/ALTER-RESOURCE.md | 2 +-
.../Alter/ALTER-STORAGE-POLICY.md | 6 +-
.../Alter/ALTER-TABLE-PROPERTY.md | 4 +-
.../Create/CREATE-FUNCTION.md | 77 +-
.../Create/CREATE-POLICY.md | 2 +-
.../Create/CREATE-RESOURCE.md | 2 +-
.../Create/CREATE-TABLE.md | 4 +-
.../Load/CREATE-ROUTINE-LOAD.md | 66 +-
.../Show-Statements/SHOW-ROUTINE-LOAD.md | 3 +-
env.sh | 15 +-
.../dbt-doris/dbt/adapters/doris/__version__.py | 2 +-
.../dbt-doris/dbt/include/doris/dbt_project.yml | 2 +-
.../dbt/include/doris/macros/adapters/relation.sql | 2 +-
.../macros/materializations/incremental/help.sql | 7 +-
.../materializations/incremental/incremental.sql | 101 +-
extension/dbt-doris/setup.py | 5 +-
.../org/apache/doris/catalog/AnyElementType.java} | 38 +-
.../org/apache/doris/catalog/AnyStructType.java | 28 +-
.../java/org/apache/doris/catalog/ArrayType.java | 4 +
.../java/org/apache/doris/catalog/MapType.java | 4 +
.../java/org/apache/doris/catalog/ScalarType.java | 5 +-
.../java/org/apache/doris/catalog/StructType.java | 14 +-
.../main/java/org/apache/doris/catalog/Type.java | 11 +-
.../main/java/org/apache/doris/common/Config.java | 2 +-
.../org/apache/doris/common/FeMetaVersion.java | 4 +-
fe/fe-core/pom.xml | 6 +
fe/fe-core/src/main/cup/sql_parser.cup | 59 +-
.../main/java/org/apache/doris/alter/Alter.java | 23 +-
.../doris/alter/MaterializedViewHandler.java | 13 +-
.../apache/doris/alter/SchemaChangeHandler.java | 14 +-
.../doris/analysis/AlterDatabasePropertyStmt.java | 32 +-
.../doris/analysis/AlterRoutineLoadStmt.java | 2 +-
.../org/apache/doris/analysis/AnalyzeTblStmt.java | 71 +-
.../java/org/apache/doris/analysis/Analyzer.java | 2 +
.../java/org/apache/doris/analysis/ColumnDef.java | 39 +-
.../CreateMultiTableMaterializedViewStmt.java | 1 +
.../doris/analysis/CreateRoutineLoadStmt.java | 18 +-
.../main/java/org/apache/doris/analysis/Expr.java | 8 -
.../apache/doris/analysis/FunctionCallExpr.java | 36 +
.../doris/analysis/LambdaFunctionCallExpr.java | 25 +-
.../apache/doris/analysis/MultiPartitionDesc.java | 169 +-
.../apache/doris/analysis/PartitionKeyDesc.java | 13 +
.../org/apache/doris/analysis/PartitionValue.java | 4 +
.../apache/doris/analysis/ShowRoutineLoadStmt.java | 1 +
.../org/apache/doris/analysis/StringLiteral.java | 15 +-
.../org/apache/doris/analysis/VariableExpr.java | 8 +-
.../main/java/org/apache/doris/catalog/Column.java | 28 +-
.../java/org/apache/doris/catalog/Database.java | 12 +
.../org/apache/doris/catalog/DatabaseProperty.java | 10 +
.../main/java/org/apache/doris/catalog/Env.java | 43 +-
.../java/org/apache/doris/catalog/Function.java | 23 +-
.../org/apache/doris/catalog/FunctionHelper.java | 3 +-
.../org/apache/doris/catalog/FunctionRegistry.java | 14 +
.../java/org/apache/doris/catalog/FunctionSet.java | 16 +-
.../apache/doris/catalog/FunctionTypeDeducers.java | 8 +-
.../doris/catalog/HiveMetaStoreClientHelper.java | 59 +-
.../java/org/apache/doris/catalog/HudiUtils.java | 166 +
.../java/org/apache/doris/catalog/OlapTable.java | 18 +-
.../main/java/org/apache/doris/catalog/Tablet.java | 4 +
.../doris/catalog/external/HMSExternalTable.java | 55 +-
.../catalog/external/HudiExternalDatabase.java | 72 -
.../doris/catalog/external/HudiExternalTable.java | 125 -
.../java/org/apache/doris/common/ErrorCode.java | 17 +-
.../doris/common/proc/IndexSchemaProcNode.java | 3 +
.../apache/doris/common/util/RuntimeProfile.java | 4 +
.../apache/doris/datasource/CatalogFactory.java | 3 -
.../apache/doris/datasource/InternalCatalog.java | 101 +-
.../doris/datasource/hive/HiveMetaStoreCache.java | 16 +-
.../datasource/hudi/HudiHMSExternalCatalog.java | 68 -
.../external/elasticsearch/EsShardPartitions.java | 3 +-
.../doris/external/jdbc/JdbcMySQLClient.java | 103 +
.../java/org/apache/doris/fs/obj/S3ObjStorage.java | 2 +
.../org/apache/doris/journal/JournalEntity.java | 9 +-
.../routineload/AbstractDataSourceProperties.java | 13 +-
.../load/routineload/KafkaRoutineLoadJob.java | 35 +-
.../doris/load/routineload/KafkaTaskInfo.java | 24 +-
.../RoutineLoadDataSourcePropertyFactory.java | 18 +-
.../doris/load/routineload/RoutineLoadJob.java | 116 +-
.../doris/load/routineload/RoutineLoadManager.java | 41 +-
.../load/routineload/RoutineLoadTaskInfo.java | 10 +-
.../load/routineload/RoutineLoadTaskScheduler.java | 1 -
.../load/routineload/kafka/KafkaConfigType.java | 25 +-
.../load/routineload/kafka/KafkaConfiguration.java | 11 +-
.../kafka/KafkaDataSourceProperties.java | 53 +-
.../java/org/apache/doris/mtmv/MTMVJobFactory.java | 2 +-
.../java/org/apache/doris/mtmv/MTMVJobManager.java | 24 +-
.../java/org/apache/doris/mysql/MysqlProto.java | 6 -
.../org/apache/doris/nereids/cost/CostModelV1.java | 16 +-
.../glue/translator/ExpressionTranslator.java | 74 +-
.../glue/translator/PhysicalPlanTranslator.java | 2 +-
.../nereids/jobs/cascades/DeriveStatsJob.java | 8 +-
.../rules/rewrite/logical/AdjustNullable.java | 8 +-
.../doris/nereids/stats/StatsCalculator.java | 13 +-
.../functions/AggStateFunctionBuilder.java | 136 +
...ionBuilder.java => BuiltinFunctionBuilder.java} | 33 +-
.../expressions/functions/FunctionBuilder.java | 122 +-
.../functions/combinator/MergeCombinator.java | 89 +
.../functions/combinator/StateCombinator.java | 85 +
.../functions/combinator/UnionCombinator.java | 84 +
.../expressions/functions/combinator/readme.md | 7 +
.../visitor/AggregateFunctionVisitor.java | 10 +
.../expressions/visitor/ScalarFunctionVisitor.java | 5 +
.../apache/doris/nereids/types/AggStateType.java | 22 +-
.../doris/nereids/util/TypeCoercionUtils.java | 14 +
.../AlterDatabasePropertyInfo.java} | 36 +-
.../java/org/apache/doris/persist/EditLog.java | 11 +
.../org/apache/doris/persist/OperationType.java | 2 +
.../doris/persist/meta/MetaPersistMethod.java | 6 +
.../doris/persist/meta/PersistMetaModules.java | 2 +-
.../org/apache/doris/planner/OlapScanNode.java | 23 +
.../apache/doris/planner/SingleNodePlanner.java | 2 +-
.../apache/doris/planner/StreamLoadPlanner.java | 8 +-
.../doris/planner/external/FileQueryScanNode.java | 12 +-
.../doris/planner/external/HiveScanNode.java | 91 +-
.../doris/planner/external/HudiScanNode.java | 48 -
.../doris/planner/external/hudi/HudiHMSSource.java | 81 -
.../doris/planner/external/hudi/HudiScanNode.java | 185 +-
.../doris/planner/external/hudi/HudiSplit.java | 5 +-
.../main/java/org/apache/doris/qe/DdlExecutor.java | 2 +-
.../java/org/apache/doris/qe/SessionVariable.java | 21 +
.../java/org/apache/doris/qe/ShowExecutor.java | 24 +-
.../doris/rewrite/RewriteInPredicateRule.java | 14 +-
.../doris/rewrite/RewriteIsNullIsNotNullRule.java | 55 +
.../apache/doris/service/FrontendServiceImpl.java | 178 +-
.../org/apache/doris/statistics/AnalysisInfo.java | 146 +-
.../doris/statistics/AnalysisInfoBuilder.java | 28 +-
.../apache/doris/statistics/AnalysisManager.java | 73 +-
.../apache/doris/statistics/ColumnStatistic.java | 7 +-
.../apache/doris/statistics/HiveAnalysisTask.java | 250 +-
.../org/apache/doris/statistics/Statistics.java | 3 +
.../org/apache/doris/system/SystemInfoService.java | 2 +-
.../doris/transaction/DatabaseTransactionMgr.java | 38 +-
.../apache/doris/transaction/TransactionState.java | 18 +-
fe/fe-core/src/main/jflex/sql_scanner.flex | 1 +
.../doris/alter/MaterializedViewHandlerTest.java | 2 -
.../doris/analysis/CreateRoutineLoadStmtTest.java | 68 +
.../org/apache/doris/catalog/FunctionSetTest.java | 4 +-
.../load/routineload/KafkaRoutineLoadJobTest.java | 2 +-
.../routineload/RoutineLoadTaskSchedulerTest.java | 2 +-
.../rules/analysis/FunctionRegistryTest.java | 5 +-
.../doris/nereids/util/TypeCoercionUtilsTest.java | 8 +-
.../transaction/GlobalTransactionMgrTest.java | 4 +-
fe/java-udf/pom.xml | 21 +-
.../org/apache/doris/hudi/HudiColumnValue.java | 42 +-
.../java/org/apache/doris/hudi/HudiJniScanner.java | 59 +-
.../java/org/apache/doris/hudi/HudiScanParam.java | 43 +-
.../java/org/apache/doris/jni/utils/Utils.java | 113 +
.../java/org/apache/doris/jni/vec/ColumnType.java | 171 +-
.../java/org/apache/doris/udf/JdbcExecutor.java | 75 +
gensrc/proto/internal_service.proto | 1 +
gensrc/script/doris_builtins_functions.py | 59 +-
gensrc/script/gen_builtins_functions.py | 4 +-
gensrc/thrift/BackendService.thrift | 7 +-
gensrc/thrift/FrontendService.thrift | 35 +-
gensrc/thrift/Metrics.thrift | 2 +
gensrc/thrift/PaloInternalService.thrift | 9 +-
gensrc/thrift/PlanNodes.thrift | 15 +-
gensrc/thrift/Types.thrift | 11 +-
.../data/correctness_p0/test_case_when_decimal.out | 7 +
.../data/correctness_p0/test_current_timestamp.out | 4 +-
.../storage/test_dup_table_auto_inc_col.out | 29 +
.../agg_state/nereids/test_agg_state_nereids.out | 46 +
.../data/datatype_p0/agg_state/test_agg_state.out | 46 +
regression-test/data/delete_p0/test_delete.out | 41 +
.../jdbc_catalog_p0/test_doris_jdbc_catalog.out | 57 +
.../data/load_p0/stream_load/test_json_load.out | 28 +-
.../stream_load/test_json_load_default_value.out | 31 +
.../data/nereids_function_p0/agg_function/agg.out | 2 +
.../data/nereids_p0/join/test_outer_join.out | 10 +
.../conditional_functions/test_query_in.out | 3 +
.../nereids_tpcds_shape_sf100_p0/shape/query11.out | 32 +-
.../nereids_tpcds_shape_sf100_p0/shape/query18.out | 8 +-
.../nereids_tpcds_shape_sf100_p0/shape/query2.out | 28 +-
.../nereids_tpcds_shape_sf100_p0/shape/query26.out | 12 +-
.../nereids_tpcds_shape_sf100_p0/shape/query30.out | 13 +-
.../nereids_tpcds_shape_sf100_p0/shape/query31.out | 36 +-
.../nereids_tpcds_shape_sf100_p0/shape/query33.out | 28 +-
.../nereids_tpcds_shape_sf100_p0/shape/query35.out | 37 +-
.../nereids_tpcds_shape_sf100_p0/shape/query38.out | 14 +-
.../nereids_tpcds_shape_sf100_p0/shape/query4.out | 32 +-
.../nereids_tpcds_shape_sf100_p0/shape/query44.out | 96 +-
.../nereids_tpcds_shape_sf100_p0/shape/query45.out | 30 +-
.../nereids_tpcds_shape_sf100_p0/shape/query46.out | 55 +-
.../nereids_tpcds_shape_sf100_p0/shape/query56.out | 38 +-
.../nereids_tpcds_shape_sf100_p0/shape/query59.out | 7 +-
.../nereids_tpcds_shape_sf100_p0/shape/query6.out | 19 +-
.../nereids_tpcds_shape_sf100_p0/shape/query60.out | 36 +-
.../nereids_tpcds_shape_sf100_p0/shape/query65.out | 59 +-
.../nereids_tpcds_shape_sf100_p0/shape/query72.out | 77 +-
.../nereids_tpcds_shape_sf100_p0/shape/query74.out | 22 +-
.../nereids_tpcds_shape_sf100_p0/shape/query75.out | 116 +-
.../nereids_tpcds_shape_sf100_p0/shape/query80.out | 123 +-
.../nereids_tpcds_shape_sf100_p0/shape/query81.out | 17 +-
.../nereids_tpcds_shape_sf100_p0/shape/query84.out | 28 +-
.../nereids_tpcds_shape_sf100_p0/shape/query87.out | 14 +-
.../nereids_tpcds_shape_sf100_p0/shape/query91.out | 15 +-
.../nereids_tpch_shape_sf1000_p0/shape/q10.out | 8 +-
.../nereids_tpch_shape_sf1000_p0/shape/q16.out | 29 +-
.../data/nereids_tpch_shape_sf1000_p0/shape/q2.out | 32 +-
.../data/nereids_tpch_shape_sf500_p0/shape/q10.out | 8 +-
.../data/nereids_tpch_shape_sf500_p0/shape/q16.out | 29 +-
.../data/nereids_tpch_shape_sf500_p0/shape/q2.out | 32 +-
.../array_functions/test_array_first.out | 28 +
.../array_functions/test_array_functions.out | 138 +-
.../test_array_functions_by_literal.out | 49 +-
.../array_functions/test_array_with_scale_type.out | 20 +
.../sql_functions/case_function/case_null0.csv | 3 +
.../sql_functions/case_function/case_null1.csv | 11 +
.../sql_functions/case_function/case_null2.csv | 5 +
.../case_function/test_case_function_null.out | 18 +
.../conditional_functions/test_query_in.out | 3 +
.../struct_functions/test_struct_functions.out | Bin 728 -> 1376 bytes
.../test_struct_functions_by_literal.out | 6 +
regression-test/pipeline/p0/conf/fe.conf | 2 +-
.../pipeline/p0/conf/regression-conf.groovy | 2 +-
regression-test/pipeline/p1/conf/fe.conf | 2 +-
.../create_table_use_partition_policy.groovy | 1 +
.../create_table_use_policy.groovy | 1 +
.../modify_replica_use_partition.groovy | 1 +
.../table_modify_resouce_and_policy.groovy | 1 +
.../correctness_p0/test_case_when_decimal.groovy | 85 +
.../correctness_p0/test_current_timestamp.groovy | 4 +-
.../aggregate/test_aggregate_table.groovy | 18 +
.../storage/test_dup_table_auto_inc_col.groovy | 220 ++
.../data_model_p0/unique/test_unique_table.groovy | 16 +
.../nereids/test_agg_state_nereids.groovy | 73 +
.../datatype_p0/agg_state/test_agg_state.groovy | 70 +
.../suites/delete_p0/test_delete.groovy | 41 +
.../jdbc_catalog_p0/test_doris_jdbc_catalog.groovy | 163 +
.../test_json_load_default_value.groovy | 77 +
.../load_p0/stream_load/test_stream_load.groovy | 3 +
.../suites/mtmv_p0/test_refresh_mtmv.groovy | 25 +
.../nereids_function_p0/agg_function/agg.groovy | 2 +
.../nereids_p0/insert_into_table/aggregate.groovy | 13 +
.../insert_into_table/complex_insert.groovy | 14 +-
.../nereids_p0/insert_into_table/duplicate.groovy | 14 +
.../insert_into_table/no_partition.groovy | 39 +
.../insert_into_table/type_cast_aggregate.groovy | 12 +
.../insert_into_table/type_cast_duplicate.groovy | 12 +
.../insert_into_table/type_cast_unique.groovy | 24 +
.../nereids_p0/insert_into_table/unique.groovy | 28 +
.../insert_into_table/unsupport_type.groovy | 1 +
.../suites/nereids_p0/join/test_outer_join.groovy | 61 +
.../conditional_functions/test_query_in.groovy | 1 +
.../suites/nereids_syntax_p0/explain.groovy | 2 +-
.../test_dynamic_partition_with_alter.groovy | 4 +-
.../test_dynamic_partition_with_rename.groovy | 6 +-
.../multi_partition/test_multi_partition.groovy | 132 +
regression-test/suites/point_query_p0/load.groovy | 1 -
.../aggregate/aggregate_grouping_function.groovy | 49 +-
.../array_functions/test_array_first.groovy | 53 +
.../array_functions/test_array_functions.groovy | 13 +
.../test_array_functions_by_literal.groovy | 19 +
.../test_array_with_scale_type.groovy | 6 +
.../case_function/test_case_function_null.groovy | 231 ++
.../conditional_functions/test_query_in.groovy | 1 +
.../struct_functions/test_struct_functions.groovy | 5 +
.../test_struct_functions_by_literal.groovy | 3 +
.../suites/query_p1/test_big_pad.groovy | 5 +-
.../test_alter_database_property.groovy | 44 +-
.../partial_update/test_partial_update.groovy | 5 +-
.../test_partial_update_default_value.groovy | 5 +-
.../partial_update/test_partial_update_orc.groovy | 5 +-
.../test_partial_update_publish.groovy | 2 +
.../test_partial_update_with_row_column.groovy | 3 +
samples/doris-demo/doris-source-demo/README.md | 24 +
samples/doris-demo/doris-source-demo/pom.xml | 125 +
.../org/apache/doris/sdk/DorisReaderExample.java | 276 ++
samples/doris-demo/pom.xml | 1 +
525 files changed, 11126 insertions(+), 16396 deletions(-)
delete mode 100644 be/src/gutil/linux_syscall_support.h
delete mode 100644 be/src/gutil/spinlock_internal.cc
delete mode 100644 be/src/gutil/spinlock_internal.h
delete mode 100644 be/src/gutil/spinlock_linux-inl.h
delete mode 100644 be/src/gutil/spinlock_posix-inl.h
delete mode 100644 be/src/gutil/spinlock_win32-inl.h
delete mode 100644 be/src/gutil/valgrind.h
create mode 100644 be/src/io/fs/multi_table_pipe.cpp
create mode 100644 be/src/io/fs/multi_table_pipe.h
delete mode 100644 be/src/runtime/export_task_mgr.cpp
delete mode 100644 be/src/runtime/export_task_mgr.h
delete mode 100644 be/src/util/cityhash102/city.cc
delete mode 100644 be/src/util/cityhash102/city.h
delete mode 100644 be/src/util/cityhash102/citycrc.h
delete mode 100644 be/src/util/cityhash102/config.h
delete mode 100644 be/src/util/json_util.h
create mode 100644 be/src/vec/exec/scan/hudi_jni_reader.cpp
create mode 100644 be/src/vec/exec/scan/hudi_jni_reader.h
create mode 100644 be/src/vec/functions/array/function_array_map.h
create mode 100644 be/src/vec/functions/array/function_array_nary.h
create mode 100644 be/src/vec/functions/array/function_array_pushback.cpp
create mode 100644 be/src/vec/functions/function_struct_element.cpp
delete mode 100644 be/test/agent/agent_server_test.cpp
create mode 100644 be/test/io/fs/multi_table_pipe_test.cpp
delete mode 100644 be/test/runtime/export_task_mgr_test.cpp
rename be/test/testutil/{desc_tbl_builder.cc => desc_tbl_builder.cpp} (100%)
delete mode 100644 be/test/util/trace_test.cpp
create mode 100644
docker/runtime/docker-compose-demo/example/hdfs-broker-doris/broker-init.sql
create mode 100644
docker/runtime/docker-compose-demo/example/hdfs-broker-doris/docker-compose.yaml
create mode 100644
docker/runtime/docker-compose-demo/example/hdfs-broker-doris/doris-init.sql
create mode 100644
docker/runtime/docker-compose-demo/example/hdfs-broker-doris/hdfs-init.sql
create mode 100644
docker/runtime/docker-compose-demo/example/hdfs-broker-doris/user_basic_data.sql
rename docs/en/docs/lakehouse/external-table/odbc.md =>
docker/runtime/docker-compose-demo/example/mysql-flink-doris/Readme.md (65%)
create mode 100644
docker/runtime/docker-compose-demo/example/mysql-flink-doris/docker-compose.yaml
create mode 100644
docker/runtime/docker-compose-demo/example/mysql-flink-doris/doris-init-sql.sql
create mode 100644
docker/runtime/docker-compose-demo/example/mysql-flink-doris/flink-init-sql.sql
create mode 100644
docker/runtime/docker-compose-demo/example/mysql-flink-doris/mysql-init-sql.sql
delete mode 100644 docs/en/docs/lakehouse/external-table/es.md
delete mode 100644 docs/en/docs/lakehouse/external-table/hive.md
delete mode 100644 docs/en/docs/lakehouse/external-table/jdbc.md
create mode 100644 docs/en/docs/lakehouse/multi-catalog/paimon.md
create mode 100644
docs/en/docs/sql-manual/sql-functions/array-functions/array_first.md
create mode 100644
docs/en/docs/sql-manual/sql-functions/array-functions/array_pushback.md
create mode 100644
docs/en/docs/sql-manual/sql-functions/struct-functions/struct_element.md
delete mode 100644 docs/zh-CN/docs/lakehouse/external-table/es.md
delete mode 100644 docs/zh-CN/docs/lakehouse/external-table/hive.md
delete mode 100644 docs/zh-CN/docs/lakehouse/external-table/jdbc.md
delete mode 100644 docs/zh-CN/docs/lakehouse/external-table/odbc.md
create mode 100644 docs/zh-CN/docs/lakehouse/multi-catalog/paimon.md
create mode 100644
docs/zh-CN/docs/sql-manual/sql-functions/array-functions/array_first.md
create mode 100644
docs/zh-CN/docs/sql-manual/sql-functions/array-functions/array_pushback.md
create mode 100644
docs/zh-CN/docs/sql-manual/sql-functions/struct-functions/struct_element.md
rename
fe/{fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiSource.java
=> fe-common/src/main/java/org/apache/doris/catalog/AnyElementType.java} (55%)
copy regression-test/suites/nereids_p0/insert_into_table/unsupport_type.groovy
=> fe/fe-common/src/main/java/org/apache/doris/catalog/AnyStructType.java (59%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/catalog/HudiUtils.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/catalog/external/HudiExternalDatabase.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/catalog/external/HudiExternalTable.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/HudiHMSExternalCatalog.java
copy regression-test/suites/nereids_p0/insert_into_table/unsupport_type.groovy
=>
fe/fe-core/src/main/java/org/apache/doris/load/routineload/kafka/KafkaConfigType.java
(59%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/AggStateFunctionBuilder.java
copy
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{FunctionBuilder.java
=> BuiltinFunctionBuilder.java} (83%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/combinator/MergeCombinator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/combinator/StateCombinator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/combinator/UnionCombinator.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/combinator/readme.md
copy
fe/fe-core/src/main/java/org/apache/doris/{analysis/AlterDatabasePropertyStmt.java
=> persist/AlterDatabasePropertyInfo.java} (55%)
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/planner/external/HudiScanNode.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/planner/external/hudi/HudiHMSSource.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/rewrite/RewriteIsNullIsNotNullRule.java
create mode 100644
fe/java-udf/src/main/java/org/apache/doris/jni/utils/Utils.java
create mode 100644
regression-test/data/correctness_p0/test_case_when_decimal.out
create mode 100644
regression-test/data/data_model_p0/duplicate/storage/test_dup_table_auto_inc_col.out
create mode 100644
regression-test/data/datatype_p0/agg_state/nereids/test_agg_state_nereids.out
create mode 100644
regression-test/data/datatype_p0/agg_state/test_agg_state.out
create mode 100644
regression-test/data/jdbc_catalog_p0/test_doris_jdbc_catalog.out
create mode 100644
regression-test/data/load_p0/stream_load/test_json_load_default_value.out
create mode 100644 regression-test/data/nereids_p0/join/test_outer_join.out
create mode 100644
regression-test/data/query_p0/sql_functions/array_functions/test_array_first.out
create mode 100644
regression-test/data/query_p0/sql_functions/case_function/case_null0.csv
create mode 100644
regression-test/data/query_p0/sql_functions/case_function/case_null1.csv
create mode 100644
regression-test/data/query_p0/sql_functions/case_function/case_null2.csv
create mode 100644
regression-test/data/query_p0/sql_functions/case_function/test_case_function_null.out
create mode 100644
regression-test/suites/correctness_p0/test_case_when_decimal.groovy
create mode 100644
regression-test/suites/data_model_p0/duplicate/storage/test_dup_table_auto_inc_col.groovy
create mode 100644
regression-test/suites/datatype_p0/agg_state/nereids/test_agg_state_nereids.groovy
create mode 100644
regression-test/suites/datatype_p0/agg_state/test_agg_state.groovy
create mode 100644
regression-test/suites/jdbc_catalog_p0/test_doris_jdbc_catalog.groovy
create mode 100644
regression-test/suites/load_p0/stream_load/test_json_load_default_value.groovy
create mode 100644
regression-test/suites/nereids_p0/join/test_outer_join.groovy
create mode 100644
regression-test/suites/query_p0/sql_functions/array_functions/test_array_first.groovy
create mode 100644
regression-test/suites/query_p0/sql_functions/case_function/test_case_function_null.groovy
copy gensrc/thrift/Metrics.thrift =>
regression-test/suites/schema_change/test_alter_database_property.groovy (55%)
create mode 100644 samples/doris-demo/doris-source-demo/README.md
create mode 100644 samples/doris-demo/doris-source-demo/pom.xml
create mode 100644
samples/doris-demo/doris-source-demo/src/main/java/org/apache/doris/sdk/DorisReaderExample.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]