diff --git a/fe/src/main/java/org/apache/doris/analysis/SetNamesVar.java b/fe/src/main/java/org/apache/doris/analysis/SetNamesVar.java index 5cb180ae07..efca533da6 100644 --- a/fe/src/main/java/org/apache/doris/analysis/SetNamesVar.java +++ b/fe/src/main/java/org/apache/doris/analysis/SetNamesVar.java @@ -49,6 +49,10 @@ public class SetNamesVar extends SetVar { } else { charset = charset.toLowerCase(); } + // utf8-superset transform to utf8 + if (charset.startsWith(DEFAULT_NAMES)) { + charset = DEFAULT_NAMES; + } if (!charset.equalsIgnoreCase(DEFAULT_NAMES)) { ErrorReport.reportAnalysisException(ErrorCode.ERR_UNKNOWN_CHARACTER_SET, charset); diff --git a/fe/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/src/main/java/org/apache/doris/qe/SessionVariable.java index 70ffbfc5cd..63b56a0c6b 100644 --- a/fe/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -94,6 +94,7 @@ public class SessionVariable implements Serializable, Writable { public static final String REWRITE_COUNT_DISTINCT_TO_BITMAP_HLL = "rewrite_count_distinct_to_bitmap_hll"; public static final String EVENT_SCHEDULER = "event_scheduler"; public static final String STORAGE_ENGINE = "storage_engine"; + public static final String DIV_PRECISION_INCREMENT = "div_precision_increment"; // max memory used on every backend. @VariableMgr.VarAttr(name = EXEC_MEM_LIMIT) @@ -238,6 +239,8 @@ public class SessionVariable implements Serializable, Writable { private String eventScheduler = "OFF"; @VariableMgr.VarAttr(name = STORAGE_ENGINE) private String storageEngine = "olap"; + @VariableMgr.VarAttr(name = DIV_PRECISION_INCREMENT) + private int divPrecisionIncrement = 4; public long getMaxExecMemByte() { return maxExecMemByte; @@ -439,6 +442,14 @@ public class SessionVariable implements Serializable, Writable { this.storageEngine = storageEngine; } + public int getDivPrecisionIncrement() { + return divPrecisionIncrement; + } + + public void setDivPrecisionIncrement(int divPrecisionIncrement) { + this.divPrecisionIncrement = divPrecisionIncrement; + } + // Serialize to thrift object // used for rest api public TQueryOptions toThrift() {