### What problem does this PR solve? Cherry-picked from #51651 ### Release note None ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: https://github.com/apache/doris-website/pull/1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
This commit is contained in:
@ -65,6 +65,9 @@ public class LogicalResultSinkToShortCircuitPointQuery implements RewriteRuleFac
|
||||
return false;
|
||||
}
|
||||
OlapTable olapTable = olapScan.getTable();
|
||||
if (olapTable.hasVariantColumns()) {
|
||||
return false;
|
||||
}
|
||||
return olapTable.getEnableLightSchemaChange() && olapTable.getEnableUniqueKeyMergeOnWrite()
|
||||
&& olapTable.storeRowColumn();
|
||||
}
|
||||
|
||||
@ -199,3 +199,5 @@ user_guid feature sk feature_value 2021-01-01T00:00
|
||||
|
||||
-- !point_select --
|
||||
|
||||
-- !sql --
|
||||
v1
|
||||
@ -279,8 +279,8 @@ suite("test_point_query", "nonConcurrent") {
|
||||
PROPERTIES (
|
||||
"replication_allocation" = "tag.location.default: 1",
|
||||
"store_row_column" = "true"
|
||||
);
|
||||
"""
|
||||
);
|
||||
"""
|
||||
sql "insert into test_ODS_EBA_LLREPORT(RPTNO) values('567890')"
|
||||
sql "select /*+ SET_VAR(enable_nereids_planner=true) */ substr(RPTNO,2,5) from test_ODS_EBA_LLREPORT where RPTNO = '567890'"
|
||||
|
||||
@ -297,14 +297,14 @@ suite("test_point_query", "nonConcurrent") {
|
||||
"enable_unique_key_merge_on_write" = "true",
|
||||
"store_row_column" = "true"
|
||||
);
|
||||
"""
|
||||
"""
|
||||
sql """insert into `test_cc_aaaid2` values('1111111')"""
|
||||
qt_sql """SELECT
|
||||
`__DORIS_DELETE_SIGN__`,
|
||||
aaaid
|
||||
|
||||
FROM
|
||||
`test_cc_aaaid2`
|
||||
`test_cc_aaaid2`
|
||||
WHERE
|
||||
aaaid = '1111111'"""
|
||||
} finally {
|
||||
@ -333,7 +333,7 @@ suite("test_point_query", "nonConcurrent") {
|
||||
explain {
|
||||
sql("select * from table_3821461 where col1 = -10 and col2 = 20 and loc3 = 'aabc'")
|
||||
contains "SHORT-CIRCUIT"
|
||||
}
|
||||
}
|
||||
qt_sql "select * from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';"
|
||||
sql "delete from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';"
|
||||
qt_sql "select * from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';"
|
||||
@ -419,4 +419,24 @@ suite("test_point_query", "nonConcurrent") {
|
||||
assertNotEquals(result1, result2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// test variant type
|
||||
sql "DROP TABLE IF EXISTS test_with_variant"
|
||||
sql """
|
||||
CREATE TABLE `test_with_variant` (
|
||||
`col1` bigint NULL,
|
||||
`col2` variant NULL
|
||||
) ENGINE=OLAP
|
||||
UNIQUE KEY(`col1`)
|
||||
DISTRIBUTED BY HASH(`col1`) BUCKETS 1
|
||||
PROPERTIES (
|
||||
"replication_allocation" = "tag.location.default: 1",
|
||||
"enable_unique_key_merge_on_write" = "true",
|
||||
"store_row_column" = "true"
|
||||
);
|
||||
"""
|
||||
sql """
|
||||
INSERT INTO test_with_variant VALUES(1, '{"k1":"v1", "k2": 200}');
|
||||
"""
|
||||
qt_sql "select col2['k1'] from test_with_variant where col1=1"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user