Increased compatibility with mysql (#3235)

Add divPrecisionIncrement and utf8-superset transform
This commit is contained in:
Stalary
2020-04-01 09:57:00 +08:00
committed by GitHub
parent 68a801ffbe
commit 028da655a9
2 changed files with 15 additions and 0 deletions

View File

@ -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);

View File

@ -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() {