Skip to content

Commit ee1e939

Browse files
authored
[fix](restore) Persist the sqlMode field of the View (#40612)
During initialization, the View will parse inlineViewRef again according to the sqlMode value. Therefore, sqlMode must be persisted.
1 parent a01c85e commit ee1e939

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

fe/fe-core/src/main/java/org/apache/doris/catalog/View.java

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public class View extends Table implements GsonPostProcessable {
7676
private String inlineViewDef;
7777

7878
// for persist
79+
@SerializedName("sm")
7980
private long sqlMode = 0L;
8081

8182
// View definition created by parsing inlineViewDef_ into a QueryStmt.

regression-test/suites/backup_restore/test_backup_restore_with_view.groovy

+16
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,22 @@ suite("test_backup_restore_with_view", "backup_restore") {
9292
assertTrue(show_view.contains("${dbName1}"))
9393
assertTrue(show_view.contains("${tableName}"))
9494

95+
// restore to db, test the view signature.
96+
sql """
97+
RESTORE SNAPSHOT ${dbName}.${snapshotName}
98+
FROM `${repoName}`
99+
PROPERTIES
100+
(
101+
"backup_timestamp" = "${snapshot}",
102+
"reserve_replica" = "true"
103+
)
104+
"""
105+
106+
syncer.waitAllRestoreFinish(dbName)
107+
def restore_result = sql_return_maparray """ SHOW RESTORE FROM ${dbName} WHERE Label ="${snapshotName}" """
108+
restore_result.last()
109+
logger.info("show restore result: ${restore_result}")
110+
assertTrue(restore_result.last().State == "FINISHED")
95111

96112
sql "DROP TABLE ${dbName}.${tableName} FORCE"
97113
sql "DROP VIEW ${dbName}.${viewName}"

0 commit comments

Comments
 (0)