-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[opt](optimizer) Remove unused code for unify code #38922
Open
liutang123
wants to merge
203
commits into
apache:branch-3.0
Choose a base branch
from
liutang123:38905-3.0
base: branch-3.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
…#39196) ## Proposed changes fix typo in apache#39173
Add txn insert case of mv and auto partition
…false (apache#38135) explain shape plan select * from table2 where Null; explain shape plan select * from table2 where false; in this case, null literal can be regard as same as false literal
…se, so i fix it (apache#38275) ## Proposed changes Issue Number: close #xxx Add afs to the scheme options so broker can recognize afs location, and change default afs impl to pure java implementation.
…ache#38293) ## Proposed changes Issue Number: close #xxx <!--Describe your changes.--> --------- Co-authored-by: stephen <[email protected]>
Followup apache#38244 fix some unstable fe ut after set `use_meta_cache` as true
…istics (apache#38303) ## Proposed changes make dryrun result set collect multi batch's QueryStatistics
…pache#37896) ```sql mysql> desc t_nullable; +-------------+------+------+-------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+------+------+-------+---------+-------+ | m1 | INT | Yes | true | NULL | | | m2 | INT | Yes | true | NULL | | | key_string1 | TEXT | Yes | false | NULL | NONE | | key_string2 | TEXT | Yes | false | NULL | NONE | | key_string3 | TEXT | Yes | false | NULL | NONE | | key_int64_1 | INT | Yes | false | NULL | NONE | | key_int64_2 | INT | Yes | false | NULL | NONE | | key_int64_3 | INT | Yes | false | NULL | NONE | | key_int64_4 | INT | Yes | false | NULL | NONE | | key_int64_5 | INT | Yes | false | NULL | NONE | +-------------+------+------+-------+---------+-------+ 10 rows in set (0.00 sec) mysql> select count(*) from t_nullable; +------------+ | count(*) | +------------+ | 1000000000 | +------------+ 1 row in set (0.12 sec) ``` master ```sql mysql> select CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double), min(m1) from t_nullable group by CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double); +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | cast(key_int64_1 as DOUBLE) | cast(key_int64_2 as DOUBLE) | cast(key_int64_3 as DOUBLE) | cast(key_int64_4 as DOUBLE) | cast(key_int64_5 as DOUBLE) | min(m1) | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | 5 | 6 | 7 | 8 | 9 | 5 | | 2 | 3 | 4 | 5 | 6 | 2 | | 6 | 7 | 8 | 9 | 10 | 6 | | 10 | 11 | 12 | 13 | 14 | 10 | | 4 | 5 | 6 | 7 | 8 | 4 | | 1 | 2 | 3 | 4 | 5 | 1 | | 7 | 8 | 9 | 10 | 11 | 7 | | 9 | 10 | 11 | 12 | 13 | 9 | | 8 | 9 | 10 | 11 | 12 | 8 | | 3 | 4 | 5 | 6 | 7 | 3 | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ 10 rows in set (1.79 sec) mysql> set parallel_pipeline_task_num=1; Query OK, 0 rows affected (0.02 sec) mysql> select CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double), min(m1) from t_nullable group by CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double); +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | cast(key_int64_1 as DOUBLE) | cast(key_int64_2 as DOUBLE) | cast(key_int64_3 as DOUBLE) | cast(key_int64_4 as DOUBLE) | cast(key_int64_5 as DOUBLE) | min(m1) | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | 7 | 8 | 9 | 10 | 11 | 7 | | 5 | 6 | 7 | 8 | 9 | 5 | | 6 | 7 | 8 | 9 | 10 | 6 | | 1 | 2 | 3 | 4 | 5 | 1 | | 4 | 5 | 6 | 7 | 8 | 4 | | 10 | 11 | 12 | 13 | 14 | 10 | | 3 | 4 | 5 | 6 | 7 | 3 | | 2 | 3 | 4 | 5 | 6 | 2 | | 9 | 10 | 11 | 12 | 13 | 9 | | 8 | 9 | 10 | 11 | 12 | 8 | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ 10 rows in set (15.24 sec) ``` now ```sql mysql> select CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double), min(m1) from t_nullable group by CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double); +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | cast(key_int64_1 as DOUBLE) | cast(key_int64_2 as DOUBLE) | cast(key_int64_3 as DOUBLE) | cast(key_int64_4 as DOUBLE) | cast(key_int64_5 as DOUBLE) | min(m1) | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | 7 | 8 | 9 | 10 | 11 | 7 | | 1 | 2 | 3 | 4 | 5 | 1 | | 8 | 9 | 10 | 11 | 12 | 8 | | 6 | 7 | 8 | 9 | 10 | 6 | | 3 | 4 | 5 | 6 | 7 | 3 | | 5 | 6 | 7 | 8 | 9 | 5 | | 2 | 3 | 4 | 5 | 6 | 2 | | 4 | 5 | 6 | 7 | 8 | 4 | | 10 | 11 | 12 | 13 | 14 | 10 | | 9 | 10 | 11 | 12 | 13 | 9 | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ 10 rows in set (1.28 sec) ``` ``` mysql> set parallel_pipeline_task_num=1; Query OK, 0 rows affected (0.00 sec) ``` ```sql mysql> select CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double), min(m1) from t_nullable group by CAST((key_int64_1) as double),CAST((key_int64_2) as double),CAST((key_int64_3) as double),CAST((key_int64_4) as double),CAST((key_int64_5) as double); +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | cast(key_int64_1 as DOUBLE) | cast(key_int64_2 as DOUBLE) | cast(key_int64_3 as DOUBLE) | cast(key_int64_4 as DOUBLE) | cast(key_int64_5 as DOUBLE) | min(m1) | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ | 6 | 7 | 8 | 9 | 10 | 6 | | 5 | 6 | 7 | 8 | 9 | 5 | | 4 | 5 | 6 | 7 | 8 | 4 | | 10 | 11 | 12 | 13 | 14 | 10 | | 7 | 8 | 9 | 10 | 11 | 7 | | 1 | 2 | 3 | 4 | 5 | 1 | | 2 | 3 | 4 | 5 | 6 | 2 | | 3 | 4 | 5 | 6 | 7 | 3 | | 9 | 10 | 11 | 12 | 13 | 9 | | 8 | 9 | 10 | 11 | 12 | 8 | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------+ 10 rows in set (13.26 sec) ``` about 20% improvement
…#38370) The serialized BackupMeta has a fixed meta version, and using the corresponding version for deserialization is essential to ensure metadata compatibility. This PR fixes the issue where BackupMeta was deserialized without setting the meta version.
## Proposed changes if you want to get the profile of the query just executed, it not neccessary to find the query_id now. this is useful to get profiles in shell script, for example, we want to get all profiles of tpcds queries (103 query profile) in a shell script. before: curl http://root:@127.0.0.1:8030/api/profile/text?query_id=990cc3b19e464e03-a3af05a997eb4091 > profile after: curl http://root:@127.0.0.1:8030/api/profile/text > profilex Issue Number: close #xxx <!--Describe your changes.-->
…ble doesn't support 2pc in cloud mode (apache#38386)
add `Default Catalog` column in load/query profile summary
Compare primary key without sequence column is expensive, if full key is exact_match, the primary key without sequence column should also the same, do not need to compare again.
…rialized view (apache#37396) Identify the column in async materialized view definition. If it selected a column from a sync materialized view, find the real column from the olap table and check if it is the partition column of the olap table.
…o store runtime filters (apache#38085) ## Proposed changes use shared ptr to instead object pool to store runtime filters
## Proposed changes 1. fix some not standard usages 2. remove an useless cmake flag
…e#38104) throw table name/alias conflict exception to keep same behavior with mysql for example: ```sql select * from test.a b, test.b ``` error: ``` Not unique table/alias: 'b' ```
…use partial update (apache#38229) For primary key tables and unique_key_partial_update enabled: 1. for `insert into table values(xxx)`, we should try full column insert instead of partial update; 2. If `insert into table(cols)` include all columns except the AUTO_INCREMENT column, we should use full column insert;
## Proposed changes 1. add timetravel for nereids. ``` select * from tb FOR TIME AS OF "2024-07-24 19:58:43"; select * from tb FOR TIME AS OF "20240724195843"; ``` 2. Add ugi authentication to the thread pool
1. Previously, if the root path of the HDFS URI started with two slashes, the outfile would be successfully exported without errors, but the exported path would not be the expected path. Currently, we will delete repeated '/' which specified by users in FE. 2. move the test case for outfile HDFS from p2 to p0.
## Proposed changes Issue Number: close #xxx <!--Describe your changes.-->
1. Bvar add Process Memory Status, Memory Tracker, Arbitrator Memory Status, Jemalloc Status, etc. 2. Memory Tracker(label=`sum_of_all_trackers`) add reserved memory.
…ize_rows` (apache#38221) support modifying arrow flight result sink buffer rows size with parameters, default 4096 * 8. we want to return a larger batch at a time, when large amounts of data.
mv1 is MTMV mysql> SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'; +--------------+------------+ | Tables_in_zd | Table_type | +--------------+------------+ | mv1 | BASE TABLE | | com3 | BASE TABLE | +--------------+------------+
… and v2 (apache#39149) ## Proposed changes 1. reversed Index v1 and v2 have different column names
…job (apache#39121) Improvement: don't balance tablets that have unfished alter job. Also fix partition rebalancer may balance colocate tablets.
… return wrong result (apache#39026) two point have changed: 1. in batch_assign function: const std::string& string_value = column.stringval(); if call **insert(&string_value)**, will cast as string_ref: reinterpret_cast<const **StringRef***>(data), this maybe error; ``` void insert(const void* data) override { if (data == nullptr) { _contains_null = true; return; } const auto* value = reinterpret_cast<const StringRef*>(data); std::string str_value(value->data, value->size); _set.insert(str_value); } ``` 2. in batch_copy function, will cast void_value as T* but the it->get_value() return is StringRef, so need change T as StringRef ``` template <typename T> void batch_copy(PInFilter* filter, HybridSetBase::IteratorBase* it, void (*set_func)(PColumnValue*, const T*)) { while (it->has_next()) { const void* void_value = it->get_value(); auto origin_value = reinterpret_cast<const T*>(void_value); set_func(filter->add_values(), origin_value); it->next(); } } ```
…ws have error (apache#39100) 1. fix the _sorted_partition_input_rows calculate have error, it's should only update the rows which have been emplace into hash table, not include the rows which is pass through. 2. add some counter in profile could get some info of about input/output rows have been do partition-topn.
1. Add a new FE config `max_meta_object_cache_num` to control the meta number of db/table in external catalog 2. Shorten the expire time of some cache to make data more refresh
…s is set to cancelled but the table state is still SCHEMA_CHANGE (apache#39164) ## Proposed changes Set job cancel state after table state changed to normal.
…e#39141) Verify that the database table has been created by adding the database table to the SQL in the health check script.
## Proposed changes Added the computeSignature function for millisecond/microsecond calculation functions to generate parameters and return values with the appropriate precision. Modified the microSecondsAdd function, which was used for constant folding, because constant folding uses the precision of the parameters for calculation. However, for millisecond/microsecond calculations, it is necessary to set the precision to the maximum to ensure correct display. before ``` mysql> SELECT MICROSECONDS_SUB('2010-11-30 23:50:50', 2); +-------------------------------------------------------------------+ | microseconds_sub(cast('2010-11-30 23:50:50' as DATETIMEV2(0)), 2) | +-------------------------------------------------------------------+ | 2010-11-30 23:50:49 | +-------------------------------------------------------------------+ ``` now ``` mysql> SELECT MICROSECONDS_SUB('2010-11-30 23:50:50', 2); +-------------------------------------------------------------------+ | microseconds_sub(cast('2010-11-30 23:50:50' as DATETIMEV2(0)), 2) | +-------------------------------------------------------------------+ | 2010-11-30 23:50:49.999998 | +-------------------------------------------------------------------+ ``` <!--Describe your changes.-->
## Proposed changes Undefined behavior occurs if there is a null value in the list. ``` /root/doris/be/src/vec/common/string_ref.h:271:54: runtime error: null pointer passed as argument 2, which is declared to never be null /var/local/ldb-toolchain/bin/../usr/include/string.h:64:33: note: nonnull attribute specified here #0 0x5616d072245d in doris::StringRef::eq(doris::StringRef const&) const /root/doris/be/src/vec/common/string_ref.h:271:41 apache#1 0x5616d072245d in doris::StringRef::operator==(doris::StringRef const&) const /root/doris/be/src/vec/common/string_ref.h:274:60 apache#2 0x5616d072245d in doris::FixedContainer::find(doris::StringRef const&) const /root/doris/be/src/exprs/hybrid_set.h:76:36 apache#3 0x5616d072245d in void doris::StringValueSet>::_find_batch(doris::vectorized::IColumn const&, unsigned long, doris::vectorized::PODArray, 16ul, 15ul> const*, doris::vectorized::PODArray, 16ul, 15ul>&) /root/doris/be/src/exprs/hybrid_set.h:688:63 apache#4 0x5616d0747857 in doris::vectorized::FunctionIn::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long) const /root/doris/be/src/vec/functions/in.h:170:21 apache#5 0x5616c741fa3a in doris::vectorized::DefaultExecutable::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long) const /root/doris/be/src/vec/functions/function.h:462:26 apache#6 0x5616cbb5b650 in doris::vectorized::PreparedFunctionImpl::_execute_skipped_constant_deal(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long, bool) const /root/doris/be/src/vec/functions/function.cpp apache#7 0x5616cbb4e14e in doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long, bool) const /root/doris/be/src/vec/functions/function.cpp:244:12 apache#8 0x5616cbb4e3c2 in doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long, bool) const /root/doris/be/src/vec/functions/function.cpp:250:12 apache#9 0x5616c741cd68 in doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector> const&, unsigned long, unsigned long, bool) const /root/doris/be/src/vec/functions/function.h:190:19 apache#10 0x5616c74cf712 in doris::vectorized::VInPredicate::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) /root/doris/be/src/vec/exprs/vin_predicate.cpp:130:5 apache#11 0x5616c740d5c0 in doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector>&) /root/doris/be/src/vec/exprs/vectorized_fn_call.cpp:183:9 apache#12 0x5616c740ecf5 in doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) /root/doris/be/src/vec/exprs/vectorized_fn_call.cpp:215:12 apache#13 0x5616c7462e24 in doris::vectorized::VCompoundPred::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) /root/doris/be/src/vec/exprs/vcompound_pred.h:127:38 apache#14 0x5616c74bccec in doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) /root/doris/be/src/vec/exprs/vexpr_context.cpp:54:5 apache#15 0x5616c74c1dcc in doris::vectorized::VExprContext::execute_conjuncts(std::vector, std::allocator>> const&, std::vector, 16ul, 15ul>, std::allocator, 16ul, 15ul>>> const*, bool, doris::vectorized::Block*, doris::vectorized::PODArray, 16ul, 15ul>, bool) /root/doris/be/src/vec/exprs/vexpr_context.cpp:169:9 apache#16 0x5616c74c5108 in doris::vectorized::VExprContext::execute_conjuncts_and_filter_block(std::vector, std::allocator>> const&, doris::vectorized::Block*, std::vector>&, int, doris::vectorized::PODArray, 16ul, 15ul>&) /root/doris/be/src/vec/exprs/vexpr_context.cpp:322:5 apache#17 0x5616ad8a7f1a in doris::segment_v2::SegmentIterator::_execute_common_expr(unsigned short*, unsigned short&, doris::vectorized::Block*) /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2680:5 apache#18 0x5616ad89e86e in doris::segment_v2::SegmentIterator::_next_batch_internal(doris::vectorized::Block*) /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2582:25 apache#19 0x5616ad892f5c in doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*)::$_0::operator()() const /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2315:9 apache#20 0x5616ad892f5c in doris::segment_v2::SegmentIterator::next_batch(doris::vectorized::Block*) /root/doris/be/src/olap/rowset/segment_v2/segment_iterator.cpp:2314:19 apache#21 0x5616ad6dd9cc in doris::segment_v2::LazyInitSegmentIterator::next_batch(doris::vectorized::Block*) /root/doris/be/src/olap/rowset/segment_v2/lazy_init_segment_iterator.h:44:33 apache#22 0x5616ad269d67 in doris::BetaRowsetReader::next_block(doris::vectorized::Block*) /root/doris/be/src/olap/rowset/beta_rowset_reader.cpp:380:29 apache#23 0x5616de6de110 in doris::vectorized::VCollectIterator::Level0Iterator::_refresh() /root/doris/be/src/vec/olap/vcollect_iterator.h apache#24 0x5616de6c967f in doris::vectorized::VCollectIterator::Level0Iterator::refresh_current_row() /root/doris/be/src/vec/olap/vcollect_iterator.cpp:514:24 apache#25 0x5616de6ca8a6 in doris::vectorized::VCollectIterator::Level0Iterator::ensure_first_row_ref() /root/doris/be/src/vec/olap/vcollect_iterator.cpp:493:14 apache#26 0x5616de6d7008 in doris::vectorized::VCollectIterator::Level1Iterator::ensure_first_row_ref() /root/doris/be/src/vec/olap/vcollect_iterator.cpp:692:27 apache#27 0x5616de6bd200 in doris::vectorized::VCollectIterator::build_heap(std::vector, std::allocator>>&) /root/doris/be/src/vec/olap/vcollect_iterator.cpp:186:9 apache#28 0x5616de651b6c in doris::vectorized::BlockReader::_init_collect_iter(doris::TabletReader::ReaderParams const&) /root/doris/be/src/vec/olap/block_reader.cpp:157:5 apache#29 0x5616de65526f in doris::vectorized::BlockReader::init(doris::TabletReader::ReaderParams const&) /root/doris/be/src/vec/olap/block_reader.cpp:229:19 apache#30 0x5616e175a0f9 in doris::vectorized::NewOlapScanner::open(doris::RuntimeState*) /root/doris/be/src/vec/exec/scan/new_olap_scanner.cpp:237:32 apache#31 0x5616c736ad34 in doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr, std::shared_ptr) /root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:236:5 apache#32 0x5616c736f05e in doris::vectorized::ScannerScheduler::submit(std::shared_ptr, std::shared_ptr)::$_1::operator()() const::'lambda'()::operator()() const::'lambda'()::operator()() const /root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:176:21 apache#33 0x5616c736f05e in doris::vectorized::ScannerScheduler::submit(std::shared_ptr, std::shared_ptr)::$_1::operator()() const::'lambda'()::operator()() const /root/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:175:31 apache#34 0x5616c736f05e in void std::_invoke_impl, std::shared_ptr)::$_1::operator()() const::'lambda'()&>(std::_invoke_other, doris::vectorized::ScannerScheduler::submit(std::shared_ptr, std::shared_ptr)::$_1::operator()() const::'lambda'()&) /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:61:14 apache#35 0x5616c736f05e in std::enable_if, std::shared_ptr)::$1::operator()() const::'lambda'()&>, void>::type std::_invoke_r, std::shared_ptr)::$_1::operator()() const::'lambda'()&>(doris::vectorized::ScannerScheduler::submit(std::shared_ptr, std::shared_ptr)::$_1::operator()() const::'lambda'()&) /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/invoke.h:111:2 apache#36 0x5616c736f05e in std::_Function_handler, std::shared_ptr)::$_1::operator()() const::'lambda'()>::_M_invoke(std::_Any_data const&) /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291:9 apache#37 0x5616aeed6a3b in doris::ThreadPool::dispatch_thread() /root/doris/be/src/util/threadpool.cpp:543:24 apache#38 0x5616aeeae4f7 in doris::Thread::supervise_thread(void*) /root/doris/be/src/util/thread.cpp:498:5 apache#39 0x7f7e663e3ac2 in start_thread nptl/pthread_create.c:442:8 apache#40 0x7f7e6647584f misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /root/doris/be/src/vec/common/string_ref.h:271:54 in ```
## Proposed changes Add schema table workload_group_privileges. ``` mysql [information_schema]>desc workload_group_privileges; +---------------------+--------------+------+-------+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------------+--------------+------+-------+---------+-------+ | GRANTEE | varchar(64) | Yes | false | NULL | | | WORKLOAD_GROUP_NAME | varchar(256) | Yes | false | NULL | | | PRIVILEGE_TYPE | varchar(64) | Yes | false | NULL | | | IS_GRANTABLE | varchar(3) | Yes | false | NULL | | +---------------------+--------------+------+-------+---------+-------+ 4 rows in set (0.01 sec) ```
## Proposed changes Resolve conflicts by merging apache#38436 and apache#38403 <!--Describe your changes.-->
1. txn load is not supported for mow in cloud mode 2. the `txn_insert_with_schema_change` wait for some specified state of schema change, rather than schema change is done
…eberg writer. (apache#38987) ## Proposed changes [Fix] (multi-catalog) Fix not throw error when call close() in hive/iceberg writer. When the file writer closes(), it will sync buffer to commit. Therefore, sometimes data is written only when close() is called, which can expose some errors. For example, hdfs_file_writer. Therefore, this error needs to be captured in the entire close process.
…ng (apache#38807) ## Proposed changes Support doris's `char`/`varchar` to iceberg's `string`.
Now, Agg's child predicates will not spread to agg. For example: select a, sum(b) from ( select a,b from t where a = 1 and b = 2 ) t group by a `a = 1` in scan can be propagated to `a` of agg. But `b = 2` in scan can not be propagated to `sum(b)` of agg.
217e037
to
7beb965
Compare
wrong based? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
Now, Agg's child predicates will not spread to agg. For example:
select a, sum(b)
from (
select a,b from t where a = 1 and b = 2
) t
group by a
a = 1 in scan can be propagated to a of agg.
But b = 2 in scan can not be propagated to sum(b) of agg.
Issue Number: #38905