Skip to content

Conversation

@zxealous
Copy link
Contributor

Proposed changes

Issue Number: close #xxx
cherry-pick #41951

hubgeter and others added 30 commits October 5, 2024 19:46
….conf (apache#40718)

## Proposed changes

Since [brpc's built-in
services](https://brpc.apache.org/zh/docs/builtin-services/buildin_services/)
will expose some internal server status, for security reasons, add the
parameter `enable_brpc_builtin_services` in `be.conf`. When the
parameter is false, this built-in service can be disabled.
…e#40796)

Catch exception when parsing numbers from HTTP header `CONTENT_LENGTH`.
## Proposed changes

Issue Number: close #xxx
   row count skipped in common validation
   if table report not done for the all tablet 
    row count will be -1 if done can get actual data.
So row count can cause timing issue and make testcase unstable.
we already have a checkpoint for rowcount with waiting . in common
validation we have skiped rowcount.
## Proposed changes
move slow case to p1
…) function (apache#40670)

```
mysql [test]>select count(concat(short, "123","121231","123123",'12312313')) from strings;
+-------------------------------------------------------------+
| count(concat(short, '123', '121231', '123123', '12312313')) |
+-------------------------------------------------------------+
|                                                    10000000 |
+-------------------------------------------------------------+
1 row in set (0.52 sec)

mysql [test]>select count(concat(short, "123","121231","123123",'12312313' , short , short, short)) from strings;
+----------------------------------------------------------------------------------+
| count(concat(short, '123', '121231', '123123', '12312313', short, short, short)) |
+----------------------------------------------------------------------------------+
|                                                                         10000000 |
+----------------------------------------------------------------------------------+
1 row in set (0.98 sec)



now

mysql [test]>select count(concat(short, "123","121231","123123",'12312313')) from strings;
+-------------------------------------------------------------+
| count(concat(short, '123', '121231', '123123', '12312313')) |
+-------------------------------------------------------------+
|                                                    10000000 |
+-------------------------------------------------------------+
1 row in set (0.19 sec)

mysql [test]>select count(concat(short, "123","121231","123123",'12312313' , short , short, short)) from strings;
+----------------------------------------------------------------------------------+
| count(concat(short, '123', '121231', '123123', '12312313', short, short, short)) |
+----------------------------------------------------------------------------------+
|                                                                         10000000 |
+----------------------------------------------------------------------------------+
1 row in set (0.71 sec)
```
…t str (apache#40821)

```
 mysql [test]>select count(date_format(a, 'yyyyMMdd')) from date_format_tmp;
+-----------------------------------+
| count(date_format(a, 'yyyyMMdd')) |
+-----------------------------------+
|                          16000000 |
+-----------------------------------+
1 row in set (0.53 sec)


mysql [test]>select count(date_format(a, 'yyyyMMdd')) from date_format_tmp;
+-----------------------------------+
| count(date_format(a, 'yyyyMMdd')) |
+-----------------------------------+
|                          16000000 |
+-----------------------------------+
1 row in set (0.28 sec)
```
## Proposed changes

Issue Number: close #xxx
apache#37817
use awaitility in few testcases
…pache#40710)

```
mysql []>select split_by_string('你a好b世c界','');
+-----------------------------------------------------------------------------+
| split_by_string('你a好b世c界', '')                                          |
+-----------------------------------------------------------------------------+
| ["�", "�", "�", "a", "�", "�", "�", "b", "�", "�", "�", "c", "�", "�", "�"]             |
+-----------------------------------------------------------------------------+
1 row in set (0.03 sec)
now
mysql []>select split_by_string('你a好b世c界','');
+---------------------------------------------+
| split_by_string('你a好b世c界', '')          |
+---------------------------------------------+
| ["你", "a", "好", "b", "世", "c", "界"]     |
+---------------------------------------------+
```
## Proposed changes

```

terminate called after throwing an instance of 'doris::Exception'
 {color:red} what():  [E6] Too large string size.{color}

	0#  doris::Exception::Exception(int, std::basic_string_view<char, std::char_traits<char> > const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173
	1#  doris::vectorized::read_string_binary(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, doris::vectorized::BufferReadable&, unsigned long) at /root/doris_branch-2.1/doris/be/src/vec/io/io_helper.h:177
	2#  doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggregateFunctionNullUnaryInline<doris::vectorized::AggregateFunctionGroupConcat<doris::vectorized::AggregateFunctionGroupConcatImplStr>, true> >::deserialize_and_merge_from_column_range(char*, doris::vectorized::IColumn const&, unsigned long, unsigned long, doris::vectorized::Arena*) const at /root/doris_branch-2.1/doris/be/src/vec/aggregate_functions/aggregate_function.h:0
	3#  doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggregateStateUnion>::add_batch_range(unsigned long, unsigned long, char*, doris::vectorized::IColumn const**, doris::vectorized::Arena*, bool) at /root/doris_branch-2.1/doris/be/src/vec/aggregate_functions/aggregate_function.h:0
	4#  doris::vectorized::VerticalBlockReader::_update_agg_value(std::vector<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>, std::allocator<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn> > >&, int, int, bool) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:326
	5#  doris::vectorized::VerticalBlockReader::_update_agg_data(std::vector<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>, std::allocator<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn> > >&) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:308
	6#  doris::vectorized::VerticalBlockReader::_agg_key_next_block(doris::vectorized::Block*, bool*) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:0
	7#  doris::vectorized::VerticalBlockReader::next_block_with_aggregation(doris::vectorized::Block*, bool*) at /root/doris_branch-2.1/doris/be/src/common/status.h:491
	8#  doris::Merger::vertical_compact_one_group(std::shared_ptr<doris::Tablet>, doris::ReaderType, std::shared_ptr<doris::TabletSchema>, bool, std::vector<unsigned int, std::allocator<unsigned int> > const&, doris::vectorized::RowSourcesBuffer*, std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > > const&, doris::RowsetWriter*, long, doris::Merger::Statistics*, std::vector<unsigned int, std::allocator<unsigned int> >, long, doris::CompactionSampleInfo*) at /root/doris_branch-2.1/doris/be/src/olap/merger.cpp:0
	9#  doris::Merger::vertical_merge_rowsets(std::shared_ptr<doris::Tablet>, doris::ReaderType, std::shared_ptr<doris::TabletSchema>, std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > > const&, doris::RowsetWriter*, long, long, doris::Merger::Statistics*) at /root/doris_branch-2.1/doris/be/src/olap/merger.cpp:445
	10# doris::Compaction::do_compaction_impl(long) at /root/doris_branch-2.1/doris/be/src/olap/compaction.cpp:385
	11# doris::Compaction::do_compaction(long) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:1291
	12# doris::CumulativeCompaction::execute_compact_impl() at /root/doris_branch-2.1/doris/be/src/common/status.h:491
	13# doris::Compaction::execute_compact() at /root/doris_branch-2.1/doris/be/src/common/status.h:491
	14# doris::Tablet::execute_compaction(doris::Compaction&) at /root/doris_branch-2.1/doris/be/src/common/status.h:491
	15# std::_Function_handler<void (), doris::StorageEngine::_submit_compaction_task(std::shared_ptr<doris::Tablet>, doris::CompactionType, bool)::$_0>::_M_invoke(std::_Any_data const&) at /root/doris_branch-2.1/doris/be/src/olap/olap_server.cpp:1018
	16# doris::ThreadPool::dispatch_thread() at /root/doris_branch-2.1/doris/be/src/util/threadpool.cpp:0
	17# doris::Thread::supervise_thread(void*) at /var/local/ldb-toolchain/bin/../usr/include/pthread.h:562
	18# ?
	19# ?

*** Query id: 0-0 ***
*** is nereids: 0 ***
*** tablet id: 38266341 ***
*** Aborted at 1726615633 (unix time) try "date -d @1726615633" if you are using GNU date ***
*** Current BE git commitID: db06c67 ***
*** SIGABRT unknown detail explain (@0x26af02) received by PID 2535170 (TID 2536168 OR 0x7f48c81cd640) from PID 2535170; stack trace: ***
 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /root/doris_branch-2.1/doris/be/src/common/signal_handler.h:421
 1# 0x00007F4AB18F8520 in /lib/x86_64-linux-gnu/libc.so.6
 2# pthread_kill at ./nptl/pthread_kill.c:89
 3# raise at ../sysdeps/posix/raise.c:27
 4# abort at ./stdlib/abort.c:81
 5# __gnu_cxx::__verbose_terminate_handler() [clone .cold] at ../../../../libstdc++-v3/libsupc++/vterminate.cc:75
 6# __cxxabiv1::__terminate(void (*)()) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
 7# 0x000055C401EF7811 in /mnt/disk1/STRESS_ENV/be/lib/doris_be
 8# 0x000055C401EF7964 in /mnt/disk1/STRESS_ENV/be/lib/doris_be
 9# doris::vectorized::read_string_binary(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, doris::vectorized::BufferReadable&, unsigned long) at /root/doris_branch-2.1/doris/be/src/vec/io/io_helper.h:180
10# doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggregateFunctionNullUnaryInline<doris::vectorized::AggregateFunctionGroupConcat<doris::vectorized::AggregateFunctionGroupConcatImplStr>, true> >::deserialize_and_merge_from_column_range(char*, doris::vectorized::IColumn const&, unsigned long, unsigned long, doris::vectorized::Arena*) const in /mnt/disk1/STRESS_ENV/be/lib/doris_be
11# doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggregateStateUnion>::add_batch_range(unsigned long, unsigned long, char*, doris::vectorized::IColumn const**, doris::vectorized::Arena*, bool) in /mnt/disk1/STRESS_ENV/be/lib/doris_be
12# doris::vectorized::VerticalBlockReader::_update_agg_value(std::vector<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>, std::allocator<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn> > >&, int, int, bool) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:326
13# doris::vectorized::VerticalBlockReader::_update_agg_data(std::vector<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn>, std::allocator<COW<doris::vectorized::IColumn>::mutable_ptr<doris::vectorized::IColumn> > >&) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:308
14# doris::vectorized::VerticalBlockReader::_agg_key_next_block(doris::vectorized::Block*, bool*) in /mnt/disk1/STRESS_ENV/be/lib/doris_be
15# doris::vectorized::VerticalBlockReader::next_block_with_aggregation(doris::vectorized::Block*, bool*) at /root/doris_branch-2.1/doris/be/src/vec/olap/vertical_block_reader.cpp:58
16# doris::Merger::vertical_compact_one_group(std::shared_ptr<doris::Tablet>, doris::ReaderType, std::shared_ptr<doris::TabletSchema>, bool, std::vector<unsigned int, std::allocator<unsigned int> > const&, doris::vectorized::RowSourcesBuffer*, std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > > const&, doris::RowsetWriter*, long, doris::Merger::Statistics*, std::vector<unsigned int, std::allocator<unsigned int> >, long, doris::CompactionSampleInfo*) in /mnt/disk1/STRESS_ENV/be/lib/doris_be
17# doris::Merger::vertical_merge_rowsets(std::shared_ptr<doris::Tablet>, doris::ReaderType, std::shared_ptr<doris::TabletSchema>, std::vector<std::shared_ptr<doris::RowsetReader>, std::allocator<std::shared_ptr<doris::RowsetReader> > > const&, doris::RowsetWriter*, long, long, doris::Merger::Statistics*) at /root/doris_branch-2.1/doris/be/src/olap/merger.cpp:445
18# doris::Compaction::do_compaction_impl(long) at /root/doris_branch-2.1/doris/be/src/olap/compaction.cpp:385
19# doris::Compaction::do_compaction(long) at /root/doris_branch-2.1/doris/be/src/olap/compaction.cpp:136
20# doris::CumulativeCompaction::execute_compact_impl() at /root/doris_branch-2.1/doris/be/src/olap/cumulative_compaction.cpp:79
21# doris::Compaction::execute_compact() at /root/doris_branch-2.1/doris/be/src/olap/compaction.cpp:118
22# doris::Tablet::execute_compaction(doris::Compaction&) at /root/doris_branch-2.1/doris/be/src/olap/tablet.cpp:2067
23# std::_Function_handler<void (), doris::StorageEngine::_submit_compaction_task(std::shared_ptr<doris::Tablet>, doris::CompactionType, bool)::$_0>::_M_invoke(std::_Any_data const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_function.h:291
24# doris::ThreadPool::dispatch_thread() in /mnt/disk1/STRESS_ENV/be/lib/doris_be
25# doris::Thread::supervise_thread(void*) at /root/doris_branch-2.1/doris/be/src/util/thread.cpp:499
26# start_thread at ./nptl/pthread_create.c:442
27# 0x00007F4AB19DC850 at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:83
```
## Proposed changes

When a cmd is executed, we can cancel the reference to the `executor` to
release the related resources. Otherwise, these resources can only be
released when the next cmd is executed.
…pache#40913)

## Proposed changes

The default value of `enable_fallback_to_original_planner` in master is
`false`, but the default value in 2.1 is `true`.
So it needs to be unified to `false` for testing.
…che#40919)

This adjustment is based on the analysis that each entry in the params
map is roughly 1KB, thus the old limit resulted in a 50KB footprint.
With no concurrency issues, expanding the batch size to 1000 should
enhance processing efficiency with a reasonable 1MB memory footprint.
…ly inserted rows in partial update (apache#40272)

## Proposed changes

### 1. Fix `__DORIS_SEQUENCE_COL__` is not set for newly inserted rows
in partial update
before:
```sql
MySQL root@127.1:d1> CREATE TABLE IF NOT EXISTS t3 (
                  ->   `k` BIGINT NOT NULL,
                  ->   `c1` int,
                  ->   `c2` datetime default current_timestamp,
                  ->  ) UNIQUE KEY(`k`)
                  ->  DISTRIBUTED BY HASH(`k`) BUCKETS 1
                  ->  PROPERTIES (
                  ->  "replication_allocation" = "tag.location.default: 1",
                  ->  "enable_unique_key_merge_on_write" = "true",
                  ->  "function_column.sequence_col" = "c2"
                  ->  );
Query OK, 0 rows affected
MySQL root@127.1:d1> set enable_insert_strict=false;
MySQL root@127.1:d1> set enable_unique_key_partial_update=true;
MySQL root@127.1:d1> insert into t3(k,c1) values(99,99);
MySQL root@127.1:d1> set show_hidden_columns=true;
MySQL root@127.1:d1> select * from t3;
+----+----+---------------------+-----------------------+-----------------------+------------------------+
| k  | c1 | c2                  | __DORIS_DELETE_SIGN__ | __DORIS_VERSION_COL__ | __DORIS_SEQUENCE_COL__ |
+----+----+---------------------+-----------------------+-----------------------+------------------------+
| 99 | 99 | 2024-09-02 11:03:09 | 0                     | 2                     | <null>                 |
+----+----+---------------------+-----------------------+-----------------------+------------------------+
```
after:
```sql
MySQL root@127.1:d1> CREATE TABLE IF NOT EXISTS t3 (
                  ->   `k` BIGINT NOT NULL,
                  ->   `c1` int,
                  ->   `c2` datetime default current_timestamp,
                  ->  ) UNIQUE KEY(`k`)
                  ->  DISTRIBUTED BY HASH(`k`) BUCKETS 1
                  ->  PROPERTIES (
                  ->  "replication_allocation" = "tag.location.default: 1",
                  ->  "enable_unique_key_merge_on_write" = "true",
                  ->  "function_column.sequence_col" = "c2"
                  ->  );
Query OK, 0 rows affected
MySQL root@127.1:d1> set enable_insert_strict=false;
MySQL root@127.1:d1> set enable_unique_key_partial_update=true;
MySQL root@127.1:d1> insert into t3(k,c1) values(1,10);
MySQL root@127.1:d1> set show_hidden_columns=true;
MySQL root@127.1:d1> select * from t3;
+---+----+---------------------+-----------------------+-----------------------+------------------------+
| k | c1 | c2                  | __DORIS_DELETE_SIGN__ | __DORIS_VERSION_COL__ | __DORIS_SEQUENCE_COL__ |
+---+----+---------------------+-----------------------+-----------------------+------------------------+
| 1 | 10 | 2024-09-02 16:49:50 | 0                     | 2                     | 2024-09-02 16:49:50    |
+---+----+---------------------+-----------------------+-----------------------+------------------------+
```
### 2. Fix `current_timestamp()` precision loss for newly inserted rows
in partial update
before:
```sql
MySQL root@127.1:d1> CREATE TABLE IF NOT EXISTS t3 (
                  ->   `k` BIGINT NOT NULL,
                  ->   `c1` int,
                  ->   `c2` datetime(6) default current_timestamp(6),
                  ->  ) UNIQUE KEY(`k`)
                  ->  DISTRIBUTED BY HASH(`k`) BUCKETS 1
                  ->  PROPERTIES (
                  ->  "replication_allocation" = "tag.location.default: 1",
                  ->  "enable_unique_key_merge_on_write" = "true",
                  ->  "function_column.sequence_col" = "c2"
                  ->  );
Query OK, 0 rows affected
MySQL root@127.1:d1> set enable_unique_key_partial_update=true;
MySQL root@127.1:d1> set enable_insert_strict=false;
MySQL root@127.1:d1> insert into t3(k,c1) values(3,10);
MySQL root@127.1:d1> set show_hidden_columns=true;
MySQL root@127.1:d1> select * from t3;
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
| k | c1 | c2                         | __DORIS_DELETE_SIGN__ | __DORIS_VERSION_COL__ | __DORIS_SEQUENCE_COL__     |
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
| 3 | 10 | 2024-09-02 19:04:55        | 0                     | 2                     | <null>                     |
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
```
after:
```sql
MySQL root@127.1:d1> CREATE TABLE IF NOT EXISTS t3 (
                  ->   `k` BIGINT NOT NULL,
                  ->   `c1` int,
                  ->   `c2` datetime(6) default current_timestamp(6),
                  ->  ) UNIQUE KEY(`k`)
                  ->  DISTRIBUTED BY HASH(`k`) BUCKETS 1
                  ->  PROPERTIES (
                  ->  "replication_allocation" = "tag.location.default: 1",
                  ->  "enable_unique_key_merge_on_write" = "true",
                  ->  "function_column.sequence_col" = "c2"
                  ->  );
Query OK, 0 rows affected
MySQL root@127.1:d1> set enable_unique_key_partial_update=true;
MySQL root@127.1:d1> set enable_insert_strict=false;
MySQL root@127.1:d1> insert into t3(k,c1) values(3,10);
MySQL root@127.1:d1> set show_hidden_columns=true;
MySQL root@127.1:d1> select * from t3;
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
| k | c1 | c2                         | __DORIS_DELETE_SIGN__ | __DORIS_VERSION_COL__ | __DORIS_SEQUENCE_COL__     |
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
| 3 | 10 | 2024-09-02 19:04:55.464438 | 0                     | 2                     | 2024-09-02 19:04:55.464438 |
+---+----+----------------------------+-----------------------+-----------------------+----------------------------+
```
)


select e1 from (select 1) t lateral view explode(**(select
sequence(CURRENT_DATE(), date_add(CURRENT_DATE(), interval 2 day)))**)
t2 as e1;

The **subquery** in explode is supported by this pr
support display previous query id.

mysql> select LAST_QUERY_ID();
No connection. Trying to reconnect...
Connection id:    0
Current database: *** NONE ***

+-----------------+
| last_query_id() |
+-----------------+
| Not Available   |
+-----------------+
1 row in set (0.08 sec)

mysql> select LAST_QUERY_ID();
+-----------------------------------+
| last_query_id()                   |
+-----------------------------------+
| e133f2641e0a411c-b73f1f6c67bedcf9 |
+-----------------------------------+
1 row in set (0.01 sec)
## Proposed changes
1. remove some unused maps in RuntimeFilterContext
2. let runtime filter use cte as target

Issue Number: close #xxx

<!--Describe your changes.-->
…pache#39671)

## Proposed changes
[[Fix](http)Ignore exceptions when getting system information
errors](apache@9f749d5)

Fetching system information often requires compatibility adjustments
across various operating systems. As a result, some systems may not be
fully compatible, potentially causing errors with the interface. These
errors are suppressed here because they typically do not affect normal
business.
…imit (apache#40961)

## Proposed changes

bug is introduced by apache#40542

Co-authored-by: yiguolei <yiguolei@gmail.com>
…che#40953)

## Proposed changes

fix problem like this:
```
set enable_common_expr_pushdown=false;

create table t(a int, c varchar(1024)) PROPERTIES ("replication_allocation" = "tag.location.default: 1");

insert into t values(1, "a b c d e");

SELECT count() FROM t where c MATCH_PHRASE_EDGE 's';

I20240919 09:31:40.713896 2224044 internal_service.cpp:626] Cancel query 3e48a306704f4691-840d239bf31420aa, reason: [INTERNAL_ERROR]PStatus: (127.0.0.1)[INTERNAL_ERROR]Column match_phrase_edge({"c", "String"}) in block is nullptr, in method bytes. All Columns are c String match_phrase_edge({"c", "String"})                                                                                                                                                                                     
        3#  doris::vectorized::Block::allocated_bytes() const at be/src/vec/core/block.cpp:446
        4#  doris::vectorized::ScannerScheduler::_scanner_scan(std::shared_ptr<doris::vectorized::ScannerContext>, std::shared_ptr<doris::vectorized::ScanTask>) at be/src/vec/exec/scan/scanner_scheduler.cpp:243
```
hello-stephen and others added 18 commits October 17, 2024 10:23
## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->

Co-authored-by: stephen <hello-stephen@qq.com>
…che#40958) (apache#41934)

cherry-pick: (apache#40958)

isLeading in cascade context means do we have leading in this scope
isLeadingDisableJoinReorder means does leading used we need to copy it
after analyze outerside of cte

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
apache#42009)

… (apache#40697)

this pr we support array_agg function support param with array map
struct type

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
…ount when reading ExternalTable (apache#41659) (apache#41962)

bp apache#41659 

## Proposed changes
Because ExternalTable will initialize the previously uninitialized table
when `getCachedRowCount()`, which is unnecessary. So for the
uninitialized table, we directly return -1.
This will increase the speed of our query `information_schema.tables`.
…che#41951)

load failed where not set database in session, should use label's database if not set database in session

LOAD LABEL test_db.label_111111 ( DATA INFILE("hdfs://hdfs01:9000/user/") INTO TABLE `test_load_tb`) WITH BROKER "broker" ( "username" = "user",  "password" = "");

ERROR 1105 (HY000): errCode = 2, detailMessage = Current database is not set.
@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website.
See Doris Document.

@zxealous zxealous closed this Oct 18, 2024
@zxealous zxealous deleted the fix-load-branch-3.0 branch October 18, 2024 07:14
@zxealous zxealous restored the fix-load-branch-3.0 branch October 18, 2024 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.