This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 7878c08e153 [Revert](merge-on-write) Don't use delete bitmap to mark
delete for rows with delete sign when sequence column doesn't exist (#26721)
7878c08e153 is described below
commit 7878c08e1530e9c0d21cfdcfa585646f9c5e6c4b
Author: bobhan1 <[email protected]>
AuthorDate: Fri Nov 10 13:55:40 2023 +0800
[Revert](merge-on-write) Don't use delete bitmap to mark delete for rows
with delete sign when sequence column doesn't exist (#26721)
---
be/src/olap/rowset/segment_v2/segment_writer.cpp | 30 -----
be/src/olap/tablet.cpp | 8 --
be/src/olap/tablet_meta.h | 1 -
.../test_partial_update_delete_sign.out | 37 +-----
.../test_delete_sign_delete_bitmap.out | 54 --------
.../test_partial_update_delete_sign.groovy | 117 ++++++++---------
.../test_delete_sign_delete_bitmap.groovy | 140 ++++++++++-----------
7 files changed, 130 insertions(+), 257 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/segment_writer.cpp
b/be/src/olap/rowset/segment_v2/segment_writer.cpp
index 993c2876cdd..0f29b34657a 100644
--- a/be/src/olap/rowset/segment_v2/segment_writer.cpp
+++ b/be/src/olap/rowset/segment_v2/segment_writer.cpp
@@ -401,13 +401,6 @@ Status
SegmentWriter::append_block_with_partial_content(const vectorized::Block*
// mark key with delete sign as deleted.
bool have_delete_sign =
(delete_sign_column_data != nullptr &&
delete_sign_column_data[block_pos] != 0);
- if (have_delete_sign && !_tablet_schema->has_sequence_col() &&
!have_input_seq_column) {
- // we can directly use delete bitmap to mark the rows with delete
sign as deleted
- // if sequence column doesn't exist to eliminate reading delete
sign columns in later reads
- _mow_context->delete_bitmap->add({_opts.rowset_ctx->rowset_id,
_segment_id,
-
DeleteBitmap::TEMP_VERSION_FOR_DELETE_SIGN},
- segment_pos);
- }
RowLocation loc;
// save rowset shared ptr so this rowset wouldn't delete
@@ -660,29 +653,6 @@ Status SegmentWriter::append_block(const
vectorized::Block* block, size_t row_po
_serialize_block_to_row_column(*const_cast<vectorized::Block*>(block));
}
- if (_opts.write_type == DataWriteType::TYPE_DIRECT &&
_opts.enable_unique_key_merge_on_write &&
- !_tablet_schema->has_sequence_col() &&
_tablet_schema->delete_sign_idx() != -1) {
- const vectorized::ColumnWithTypeAndName& delete_sign_column =
- block->get_by_position(_tablet_schema->delete_sign_idx());
- auto& delete_sign_col =
- reinterpret_cast<const
vectorized::ColumnInt8&>(*(delete_sign_column.column));
- if (delete_sign_col.size() >= row_pos + num_rows) {
- const vectorized::Int8* delete_sign_column_data =
delete_sign_col.get_data().data();
- uint32_t segment_start_pos =
-
_column_writers[_tablet_schema->delete_sign_idx()]->get_next_rowid();
- for (size_t block_pos = row_pos, seg_pos = segment_start_pos;
- seg_pos < segment_start_pos + num_rows; block_pos++,
seg_pos++) {
- // we can directly use delete bitmap to mark the rows with
delete sign as deleted
- // if sequence column doesn't exist to eliminate reading
delete sign columns in later reads
- if (delete_sign_column_data[block_pos]) {
-
_mow_context->delete_bitmap->add({_opts.rowset_ctx->rowset_id, _segment_id,
-
DeleteBitmap::TEMP_VERSION_FOR_DELETE_SIGN},
- seg_pos);
- }
- }
- }
- }
-
_olap_data_convertor->set_source_content(block, row_pos, num_rows);
// find all row pos for short key indexes
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index c397233519d..cf4b46d38e0 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -2978,14 +2978,6 @@ Status
Tablet::calc_segment_delete_bitmap(RowsetSharedPtr rowset,
continue;
}
if (is_partial_update && rowset_writer != nullptr) {
- if (delete_bitmap->contains(
- {rowset_id, seg->id(),
DeleteBitmap::TEMP_VERSION_FOR_DELETE_SIGN},
- row_id)) {
- LOG(INFO)
- << "DEBUG: skip a delete sign column while
calc_segment_delete_bitmap "
- << "processing confict for partial update";
- continue;
- }
// In publish version, record rows to be deleted for
concurrent update
// For example, if version 5 and 6 update a row, but version 6
only see
// version 4 when write, and when publish version, version 5's
value will
diff --git a/be/src/olap/tablet_meta.h b/be/src/olap/tablet_meta.h
index 2eed63e5159..acfbf5cfd2f 100644
--- a/be/src/olap/tablet_meta.h
+++ b/be/src/olap/tablet_meta.h
@@ -336,7 +336,6 @@ public:
// tablet's delete bitmap we can use arbitary version number in BitmapKey.
Here we define some version numbers
// for specific usage during this periods to avoid conflicts
constexpr static inline uint64_t TEMP_VERSION_COMMON = 0;
- constexpr static inline uint64_t TEMP_VERSION_FOR_DELETE_SIGN = 1;
/**
*
diff --git
a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.out
b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.out
index baf484fd3d8..2af38cc444b 100644
---
a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.out
+++
b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.out
@@ -10,7 +10,7 @@
2 2 2 2 2
4 4 4 4 4
--- !1 --
+-- !with_delete_sign --
1 \N \N \N \N 1
1 1 1 1 1 0
2 2 2 2 2 0
@@ -21,47 +21,12 @@
5 5 5 5 5 0
6 \N \N \N \N 1
--- !2 --
-2 2 2 2 2 0
-4 4 4 4 4 0
-
--- !sql --
-1 1 1 1 1
-2 2 2 2 2
-3 3 3 3 3
-4 4 4 4 4
-5 5 5 5 5
-
--- !after_delete --
-2 2 2 2 2
-4 4 4 4 4
-
--- !1 --
-1 \N \N \N \N 1
-1 1 1 1 1 0
-2 2 2 2 2 0
-3 \N \N \N \N 1
-3 3 3 3 3 0
-4 4 4 4 4 0
-5 \N \N \N \N 1
-5 5 5 5 5 0
-6 \N \N \N \N 1
-
--- !2 --
-1 \N \N \N \N 1
-2 2 2 2 2 0
-3 \N \N \N \N 1
-4 4 4 4 4 0
-5 \N \N \N \N 1
-6 \N \N \N \N 1
-
-- !1 --
1 1 1
-- !2 --
-- !3 --
-1 2 \N
-- !1 --
1 1 1 1
diff --git
a/regression-test/data/unique_with_mow_p0/test_delete_sign_delete_bitmap.out
b/regression-test/data/unique_with_mow_p0/test_delete_sign_delete_bitmap.out
deleted file mode 100644
index 687aeab54a1..00000000000
--- a/regression-test/data/unique_with_mow_p0/test_delete_sign_delete_bitmap.out
+++ /dev/null
@@ -1,54 +0,0 @@
--- This file is automatically generated. You should know what you did if you
want to edit this
--- !sql --
-1 1 1 1 1
-2 2 2 2 2
-3 3 3 3 3
-4 4 4 4 4
-5 5 5 5 5
-
--- !after_delete --
-2 2 2 2 2
-4 4 4 4 4
-
--- !1 --
-1 1 1 1 1 0
-1 1 1 1 1 1
-2 2 2 2 2 0
-3 3 3 3 3 0
-3 3 3 3 3 1
-4 4 4 4 4 0
-5 5 5 5 5 0
-5 5 5 5 5 1
-
--- !2 --
-2 2 2 2 2 0
-4 4 4 4 4 0
-
--- !sql --
-1 1 1 1 1
-2 2 2 2 2
-3 3 3 3 3
-4 4 4 4 4
-5 5 5 5 5
-
--- !after_delete --
-2 2 2 2 2
-4 4 4 4 4
-
--- !1 --
-1 1 1 1 1 0
-1 1 1 1 1 1
-2 2 2 2 2 0
-3 3 3 3 3 0
-3 3 3 3 3 1
-4 4 4 4 4 0
-5 5 5 5 5 0
-5 5 5 5 5 1
-
--- !2 --
-1 1 1 1 1 1
-2 2 2 2 2 0
-3 3 3 3 3 1
-4 4 4 4 4 0
-5 5 5 5 5 1
-
diff --git
a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.groovy
b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.groovy
index 013ca819566..8b74524fd39 100644
---
a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.groovy
+++
b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete_sign.groovy
@@ -55,67 +55,68 @@ suite('test_partial_update_delete_sign') {
sql "set skip_storage_engine_merge=true;"
sql "set skip_delete_bitmap=true;"
sql "sync"
- // skip_delete_bitmap=true, skip_delete_sign=true
- qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
-
- sql "set skip_delete_sign=true;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- // skip_delete_bitmap=false, skip_delete_sign=true
- qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // // skip_delete_bitmap=true, skip_delete_sign=true
+ // qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // // skip_delete_bitmap=false, skip_delete_sign=true
+ // qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ qt_with_delete_sign "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from
${tableName1} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
sql "drop table if exists ${tableName1};"
- sql "set skip_delete_sign=false;"
- sql "set skip_storage_engine_merge=false;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- def tableName2 = "test_partial_update_delete_sign2"
- sql "DROP TABLE IF EXISTS ${tableName2};"
- sql """ CREATE TABLE IF NOT EXISTS ${tableName2} (
- `k1` int NOT NULL,
- `c1` int,
- `c2` int,
- `c3` int,
- `c4` int
- )UNIQUE KEY(k1)
- DISTRIBUTED BY HASH(k1) BUCKETS 1
- PROPERTIES (
- "enable_unique_key_merge_on_write" = "true",
- "disable_auto_compaction" = "true",
- "replication_num" = "1",
- "function_column.sequence_col" = 'c4'
- );"""
-
- sql "insert into ${tableName2}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
- qt_sql "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
- streamLoad {
- table "${tableName2}"
-
- set 'column_separator', ','
- set 'format', 'csv'
- set 'partial_columns', 'true'
- set 'columns', 'k1,__DORIS_DELETE_SIGN__'
-
- file 'delete_sign.csv'
- time 10000 // limit inflight 10s
- }
- sql "sync"
- qt_after_delete "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
-
- sql "set skip_delete_sign=true;"
- sql "set skip_storage_engine_merge=true;"
- sql "set skip_delete_bitmap=true;"
- sql "sync"
- // skip_delete_bitmap=true, skip_delete_sign=true
- qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
-
- sql "set skip_delete_sign=true;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- // skip_delete_bitmap=false, skip_delete_sign=true
- qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
- sql "drop table if exists ${tableName2};"
+ // sql "set skip_delete_sign=false;"
+ // sql "set skip_storage_engine_merge=false;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // def tableName2 = "test_partial_update_delete_sign2"
+ // sql "DROP TABLE IF EXISTS ${tableName2};"
+ // sql """ CREATE TABLE IF NOT EXISTS ${tableName2} (
+ // `k1` int NOT NULL,
+ // `c1` int,
+ // `c2` int,
+ // `c3` int,
+ // `c4` int
+ // )UNIQUE KEY(k1)
+ // DISTRIBUTED BY HASH(k1) BUCKETS 1
+ // PROPERTIES (
+ // "enable_unique_key_merge_on_write" = "true",
+ // "disable_auto_compaction" = "true",
+ // "replication_num" = "1",
+ // "function_column.sequence_col" = 'c4'
+ // );"""
+
+ // sql "insert into ${tableName2}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
+ // qt_sql "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
+ // streamLoad {
+ // table "${tableName2}"
+
+ // set 'column_separator', ','
+ // set 'format', 'csv'
+ // set 'partial_columns', 'true'
+ // set 'columns', 'k1,__DORIS_DELETE_SIGN__'
+
+ // file 'delete_sign.csv'
+ // time 10000 // limit inflight 10s
+ // }
+ // sql "sync"
+ // qt_after_delete "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
+
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_storage_engine_merge=true;"
+ // sql "set skip_delete_bitmap=true;"
+ // sql "sync"
+ // // skip_delete_bitmap=true, skip_delete_sign=true
+ // qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // // skip_delete_bitmap=false, skip_delete_sign=true
+ // qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // sql "drop table if exists ${tableName2};"
// partial update a row that has been deleted by delete sign(table without
sequence column)
diff --git
a/regression-test/suites/unique_with_mow_p0/test_delete_sign_delete_bitmap.groovy
b/regression-test/suites/unique_with_mow_p0/test_delete_sign_delete_bitmap.groovy
index f9b89c1eea7..be6324d2ec7 100644
---
a/regression-test/suites/unique_with_mow_p0/test_delete_sign_delete_bitmap.groovy
+++
b/regression-test/suites/unique_with_mow_p0/test_delete_sign_delete_bitmap.groovy
@@ -17,80 +17,80 @@
suite('test_delete_sign_delete_bitmap') {
- def tableName1 = "test_delete_sign_delete_bitmap1"
- sql "DROP TABLE IF EXISTS ${tableName1};"
- sql """ CREATE TABLE IF NOT EXISTS ${tableName1} (
- `k1` int NOT NULL,
- `c1` int,
- `c2` int,
- `c3` int,
- `c4` int
- )UNIQUE KEY(k1)
- DISTRIBUTED BY HASH(k1) BUCKETS 1
- PROPERTIES (
- "enable_unique_key_merge_on_write" = "true",
- "disable_auto_compaction" = "true",
- "replication_num" = "1"
- );"""
+ // def tableName1 = "test_delete_sign_delete_bitmap1"
+ // sql "DROP TABLE IF EXISTS ${tableName1};"
+ // sql """ CREATE TABLE IF NOT EXISTS ${tableName1} (
+ // `k1` int NOT NULL,
+ // `c1` int,
+ // `c2` int,
+ // `c3` int,
+ // `c4` int
+ // )UNIQUE KEY(k1)
+ // DISTRIBUTED BY HASH(k1) BUCKETS 1
+ // PROPERTIES (
+ // "enable_unique_key_merge_on_write" = "true",
+ // "disable_auto_compaction" = "true",
+ // "replication_num" = "1"
+ // );"""
- sql "insert into ${tableName1}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
- qt_sql "select * from ${tableName1} order by k1,c1,c2,c3,c4;"
- // sql "insert into ${tableName1}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
select k1,c1,c2,c3,c4,1 from ${tableName1} where k1 in (1,3,5);"
- sql """insert into ${tableName1}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
values(1,1,1,1,1,1),(3,3,3,3,3,1),(5,5,5,5,5,1);"""
- sql "sync"
- qt_after_delete "select * from ${tableName1} order by k1,c1,c2,c3,c4;"
- sql "set skip_delete_sign=true;"
- sql "set skip_storage_engine_merge=true;"
- sql "set skip_delete_bitmap=true;"
- sql "sync"
- // skip_delete_bitmap=true, skip_delete_sign=true
- qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // sql "insert into ${tableName1}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
+ // qt_sql "select * from ${tableName1} order by k1,c1,c2,c3,c4;"
+ // // sql "insert into ${tableName1}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
select k1,c1,c2,c3,c4,1 from ${tableName1} where k1 in (1,3,5);"
+ // sql """insert into ${tableName1}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
values(1,1,1,1,1,1),(3,3,3,3,3,1),(5,5,5,5,5,1);"""
+ // sql "sync"
+ // qt_after_delete "select * from ${tableName1} order by k1,c1,c2,c3,c4;"
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_storage_engine_merge=true;"
+ // sql "set skip_delete_bitmap=true;"
+ // sql "sync"
+ // // skip_delete_bitmap=true, skip_delete_sign=true
+ // qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
- sql "set skip_delete_sign=true;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- // skip_delete_bitmap=false, skip_delete_sign=true
- qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
- sql "drop table if exists ${tableName1};"
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // // skip_delete_bitmap=false, skip_delete_sign=true
+ // qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // sql "drop table if exists ${tableName1};"
- sql "set skip_delete_sign=false;"
- sql "set skip_storage_engine_merge=false;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- def tableName2 = "test_delete_sign_delete_bitmap2"
- sql "DROP TABLE IF EXISTS ${tableName2};"
- sql """ CREATE TABLE IF NOT EXISTS ${tableName2} (
- `k1` int NOT NULL,
- `c1` int,
- `c2` int,
- `c3` int,
- `c4` int
- )UNIQUE KEY(k1)
- DISTRIBUTED BY HASH(k1) BUCKETS 1
- PROPERTIES (
- "enable_unique_key_merge_on_write" = "true",
- "disable_auto_compaction" = "true",
- "replication_num" = "1",
- "function_column.sequence_col" = 'c4'
- );"""
+ // sql "set skip_delete_sign=false;"
+ // sql "set skip_storage_engine_merge=false;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // def tableName2 = "test_delete_sign_delete_bitmap2"
+ // sql "DROP TABLE IF EXISTS ${tableName2};"
+ // sql """ CREATE TABLE IF NOT EXISTS ${tableName2} (
+ // `k1` int NOT NULL,
+ // `c1` int,
+ // `c2` int,
+ // `c3` int,
+ // `c4` int
+ // )UNIQUE KEY(k1)
+ // DISTRIBUTED BY HASH(k1) BUCKETS 1
+ // PROPERTIES (
+ // "enable_unique_key_merge_on_write" = "true",
+ // "disable_auto_compaction" = "true",
+ // "replication_num" = "1",
+ // "function_column.sequence_col" = 'c4'
+ // );"""
- sql "insert into ${tableName2}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
- qt_sql "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
- sql """insert into ${tableName2}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
values(1,1,1,1,1,1),(3,3,3,3,3,1),(5,5,5,5,5,1);"""
- sql "sync"
- qt_after_delete "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
- sql "set skip_delete_sign=true;"
- sql "set skip_storage_engine_merge=true;"
- sql "set skip_delete_bitmap=true;"
- sql "sync"
- // skip_delete_bitmap=true, skip_delete_sign=true
- qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // sql "insert into ${tableName2}
values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);"
+ // qt_sql "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
+ // sql """insert into ${tableName2}(k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__)
values(1,1,1,1,1,1),(3,3,3,3,3,1),(5,5,5,5,5,1);"""
+ // sql "sync"
+ // qt_after_delete "select * from ${tableName2} order by k1,c1,c2,c3,c4;"
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_storage_engine_merge=true;"
+ // sql "set skip_delete_bitmap=true;"
+ // sql "sync"
+ // // skip_delete_bitmap=true, skip_delete_sign=true
+ // qt_1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
- sql "set skip_delete_sign=true;"
- sql "set skip_delete_bitmap=false;"
- sql "sync"
- // skip_delete_bitmap=false, skip_delete_sign=true
- qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2} order
by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
- sql "drop table if exists ${tableName2};"
+ // sql "set skip_delete_sign=true;"
+ // sql "set skip_delete_bitmap=false;"
+ // sql "sync"
+ // // skip_delete_bitmap=false, skip_delete_sign=true
+ // qt_2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName2}
order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;"
+ // sql "drop table if exists ${tableName2};"
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]