[Bug] Compatible with Datagrip, fix checkStyle (#10143)

* Compatible with Datagrip, fix checkStyle

* ADD: comment
This commit is contained in:
Stalary
2022-06-17 11:05:17 +08:00
committed by GitHub
parent 67e95276fb
commit b9f8df0264
2 changed files with 377 additions and 363 deletions

View File

@ -33,47 +33,22 @@ import java.util.List;
import java.util.Map;
/**
* Palo representation of MySQL information schema table metadata,
* Doris's representation of MySQL information schema table metadata.
*/
public class SchemaTable extends Table {
private final static int FN_REFLEN = 512;
private final static int NAME_CHAR_LEN = 64;
private final static int MY_CS_NAME_SIZE = 32;
private final static int GRANTEE_len = 81;
private final static int PRIVILEGE_TYPE_LEN = 64;
private final static int IS_GRANTABLE_LEN = 3;
private SchemaTableType schemaTableType;
protected SchemaTable(long id, String name, TableType type, List<Column> baseSchema) {
super(id, name, type, baseSchema);
}
@Override
public void write(DataOutput out) throws IOException {
throw new UnsupportedOperationException("Do not allow to write SchemaTable to image.");
}
public void readFields(DataInput in) throws IOException {
throw new UnsupportedOperationException("Do not allow read SchemaTable from image.");
}
public static Builder builder() {
return new Builder();
}
private static final int FN_REFLEN = 512;
private static final int NAME_CHAR_LEN = 64;
private static final int MY_CS_NAME_SIZE = 32;
private static final int GRANTEE_len = 81;
private static final int PRIVILEGE_TYPE_LEN = 64;
private static final int IS_GRANTABLE_LEN = 3;
// Now we just mock tables, table_privileges, referential_constraints, key_column_usage and routines table
// Because in MySQL ODBC, these tables are used.
// TODO(zhaochun): Review some commercial BI to check if we need support where clause in show statement
// like 'show table where_clause'. If we decide to support it, we must mock these related table here.
public static Map<String, Table> TABLE_MAP =
ImmutableMap
.<String, Table>builder()
.put("tables", new SchemaTable(
SystemIdGenerator.getNextId(),
"tables",
TableType.SCHEMA,
builder()
.column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
public static Map<String, Table> TABLE_MAP = ImmutableMap.<String, Table>builder().put("tables",
new SchemaTable(SystemIdGenerator.getNextId(), "tables", TableType.SCHEMA,
builder().column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
.column("TABLE_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("TABLE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("TABLE_TYPE", ScalarType.createVarchar(NAME_CHAR_LEN))
@ -93,47 +68,30 @@ public class SchemaTable extends Table {
.column("TABLE_COLLATION", ScalarType.createVarchar(MY_CS_NAME_SIZE))
.column("CHECKSUM", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATE_OPTIONS", ScalarType.createVarchar(255))
.column("TABLE_COMMENT", ScalarType.createVarchar(2048))
.build()))
.put("table_privileges", new SchemaTable(
SystemIdGenerator.getNextId(),
"table_privileges",
TableType.SCHEMA,
builder()
.column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("TABLE_COMMENT", ScalarType.createVarchar(2048)).build()))
.put("table_privileges",
new SchemaTable(SystemIdGenerator.getNextId(), "table_privileges", TableType.SCHEMA,
builder().column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
.column("TABLE_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("TABLE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("PRIVILEGE_TYPE", ScalarType.createVarchar(PRIVILEGE_TYPE_LEN))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN))
.build()))
.put("schema_privileges", new SchemaTable(
SystemIdGenerator.getNextId(),
"schema_privileges",
TableType.SCHEMA,
builder()
.column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN)).build()))
.put("schema_privileges",
new SchemaTable(SystemIdGenerator.getNextId(), "schema_privileges", TableType.SCHEMA,
builder().column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
.column("TABLE_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("PRIVILEGE_TYPE", ScalarType.createVarchar(PRIVILEGE_TYPE_LEN))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN))
.build()))
.put("user_privileges", new SchemaTable(
SystemIdGenerator.getNextId(),
"user_privileges",
TableType.SCHEMA,
builder()
.column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
.column("PRIVILEGE_TYPE", ScalarType.createVarchar(PRIVILEGE_TYPE_LEN))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN))
.build()))
.put("referential_constraints", new SchemaTable(
SystemIdGenerator.getNextId(),
"referential_constraints",
TableType.SCHEMA,
builder()
.column("CONSTRAINT_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN)).build()))
.put("user_privileges", new SchemaTable(SystemIdGenerator.getNextId(), "user_privileges", TableType.SCHEMA,
builder().column("GRANTEE", ScalarType.createVarchar(GRANTEE_len))
.column("TABLE_CATALOG", ScalarType.createVarchar(FN_REFLEN))
.column("PRIVILEGE_TYPE", ScalarType.createVarchar(PRIVILEGE_TYPE_LEN))
.column("IS_GRANTABLE", ScalarType.createVarchar(IS_GRANTABLE_LEN)).build()))
.put("referential_constraints",
new SchemaTable(SystemIdGenerator.getNextId(), "referential_constraints", TableType.SCHEMA,
builder().column("CONSTRAINT_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CONSTRAINT_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CONSTRAINT_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("UNIQUE_CONSTRAINT_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
@ -143,14 +101,10 @@ public class SchemaTable extends Table {
.column("UPDATE_RULE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DELETE_RULE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("TABLE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("REFERENCED_TABLE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.build()))
.put("key_column_usage", new SchemaTable(
SystemIdGenerator.getNextId(),
"key_column_usage",
TableType.SCHEMA,
builder()
.column("CONSTRAINT_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("REFERENCED_TABLE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN)).build()))
.put("key_column_usage",
new SchemaTable(SystemIdGenerator.getNextId(), "key_column_usage", TableType.SCHEMA,
builder().column("CONSTRAINT_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CONSTRAINT_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CONSTRAINT_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("TABLE_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
@ -159,73 +113,51 @@ public class SchemaTable extends Table {
.column("COLUMN_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ORDINAL_POSITION", ScalarType.createType(PrimitiveType.BIGINT))
.column("POSITION_IN_UNIQUE_CONSTRAINT",
ScalarType.createType(PrimitiveType.BIGINT))
ScalarType.createType(PrimitiveType.BIGINT))
.column("REFERENCED_TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("REFERENCED_TABLE_NAME", ScalarType.createVarchar(64))
.column("REFERENCED_COLUMN_NAME", ScalarType.createVarchar(64))
.build()))
.put("routines", new SchemaTable(
SystemIdGenerator.getNextId(),
"routines",
TableType.SCHEMA,
builder()
.column("SPECIFIC_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_TYPE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DTD_IDENTIFIER", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_BODY", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_DEFINITION", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("EXTERNAL_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("EXTERNAL_LANGUAGE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("PARAMETER_STYLE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("IS_DETERMINISTIC", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SQL_DATA_ACCESS", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SQL_PATH", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SECURITY_TYPE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CREATED", ScalarType.createType(PrimitiveType.DATETIME))
.column("LAST_ALTERED", ScalarType.createType(PrimitiveType.DATETIME))
.column("SQL_MODE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_COMMENT", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DEFINER", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DATABASE_COLLATION", ScalarType.createVarchar(NAME_CHAR_LEN))
.build()))
.put("schemata", new SchemaTable(
SystemIdGenerator.getNextId(),
"schemata",
TableType.SCHEMA,
builder()
.column("CATALOG_NAME", ScalarType.createVarchar(512))
.column("SCHEMA_NAME", ScalarType.createVarchar(32))
.column("DEFAULT_CHARACTER_SET_NAME", ScalarType.createVarchar(32))
.column("DEFAULT_COLLATION_NAME", ScalarType.createVarchar(32))
.column("SQL_PATH", ScalarType.createVarchar(512))
.build()))
.put("session_variables", new SchemaTable(
SystemIdGenerator.getNextId(),
"session_variables",
TableType.SCHEMA,
builder()
.column("VARIABLE_NAME", ScalarType.createVarchar(64))
.column("VARIABLE_VALUE", ScalarType.createVarchar(1024))
.build()))
.put("global_variables", new SchemaTable(
SystemIdGenerator.getNextId(),
"global_variables",
TableType.SCHEMA,
builder()
.column("VARIABLE_NAME", ScalarType.createVarchar(64))
.column("VARIABLE_VALUE", ScalarType.createVarchar(1024))
.build()))
.put("columns", new SchemaTable(
SystemIdGenerator.getNextId(),
"columns",
TableType.SCHEMA,
builder()
.column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("REFERENCED_COLUMN_NAME", ScalarType.createVarchar(64)).build()))
.put("routines", new SchemaTable(SystemIdGenerator.getNextId(), "routines", TableType.SCHEMA,
builder().column("SPECIFIC_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_CATALOG", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_SCHEMA", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_TYPE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DTD_IDENTIFIER", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_BODY", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_DEFINITION", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("EXTERNAL_NAME", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("EXTERNAL_LANGUAGE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("PARAMETER_STYLE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("IS_DETERMINISTIC", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SQL_DATA_ACCESS", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SQL_PATH", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("SECURITY_TYPE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CREATED", ScalarType.createType(PrimitiveType.DATETIME))
.column("LAST_ALTERED", ScalarType.createType(PrimitiveType.DATETIME))
.column("SQL_MODE", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("ROUTINE_COMMENT", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DEFINER", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(NAME_CHAR_LEN))
.column("DATABASE_COLLATION", ScalarType.createVarchar(NAME_CHAR_LEN)).build()))
.put("schemata", new SchemaTable(SystemIdGenerator.getNextId(), "schemata", TableType.SCHEMA,
builder().column("CATALOG_NAME", ScalarType.createVarchar(512))
.column("SCHEMA_NAME", ScalarType.createVarchar(32))
.column("DEFAULT_CHARACTER_SET_NAME", ScalarType.createVarchar(32))
.column("DEFAULT_COLLATION_NAME", ScalarType.createVarchar(32))
.column("SQL_PATH", ScalarType.createVarchar(512)).build()))
.put("session_variables",
new SchemaTable(SystemIdGenerator.getNextId(), "session_variables", TableType.SCHEMA,
builder().column("VARIABLE_NAME", ScalarType.createVarchar(64))
.column("VARIABLE_VALUE", ScalarType.createVarchar(1024)).build()))
.put("global_variables",
new SchemaTable(SystemIdGenerator.getNextId(), "global_variables", TableType.SCHEMA,
builder().column("VARIABLE_NAME", ScalarType.createVarchar(64))
.column("VARIABLE_VALUE", ScalarType.createVarchar(1024)).build()))
.put("columns",
new SchemaTable(SystemIdGenerator.getNextId(), "columns", TableType.SCHEMA,
builder().column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("COLUMN_NAME", ScalarType.createVarchar(64))
@ -233,10 +165,8 @@ public class SchemaTable extends Table {
.column("COLUMN_DEFAULT", ScalarType.createVarchar(1024))
.column("IS_NULLABLE", ScalarType.createVarchar(3))
.column("DATA_TYPE", ScalarType.createVarchar(64))
.column("CHARACTER_MAXIMUM_LENGTH",
ScalarType.createType(PrimitiveType.BIGINT))
.column("CHARACTER_OCTET_LENGTH",
ScalarType.createType(PrimitiveType.BIGINT))
.column("CHARACTER_MAXIMUM_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("CHARACTER_OCTET_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("NUMERIC_PRECISION", ScalarType.createType(PrimitiveType.BIGINT))
.column("NUMERIC_SCALE", ScalarType.createType(PrimitiveType.BIGINT))
.column("DATETIME_PRECISION", ScalarType.createType(PrimitiveType.BIGINT))
@ -250,177 +180,218 @@ public class SchemaTable extends Table {
.column("COLUMN_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("DECIMAL_DIGITS", ScalarType.createType(PrimitiveType.BIGINT))
.column("GENERATION_EXPRESSION", ScalarType.createVarchar(64))
.column("SRS_ID", ScalarType.createType(PrimitiveType.BIGINT))
.build()))
.put("character_sets", new SchemaTable(
SystemIdGenerator.getNextId(),
"character_sets",
TableType.SCHEMA,
builder()
.column("CHARACTER_SET_NAME", ScalarType.createVarchar(512))
.column("DEFAULT_COLLATE_NAME", ScalarType.createVarchar(64))
.column("DESCRIPTION", ScalarType.createVarchar(64))
.column("MAXLEN", ScalarType.createType(PrimitiveType.BIGINT))
.build()))
.put("collations", new SchemaTable(
SystemIdGenerator.getNextId(),
"collations",
TableType.SCHEMA,
builder()
.column("COLLATION_NAME", ScalarType.createVarchar(512))
.column("SRS_ID", ScalarType.createType(PrimitiveType.BIGINT)).build()))
.put("character_sets", new SchemaTable(SystemIdGenerator.getNextId(), "character_sets", TableType.SCHEMA,
builder().column("CHARACTER_SET_NAME", ScalarType.createVarchar(512))
.column("DEFAULT_COLLATE_NAME", ScalarType.createVarchar(64))
.column("DESCRIPTION", ScalarType.createVarchar(64))
.column("MAXLEN", ScalarType.createType(PrimitiveType.BIGINT)).build()))
.put("collations",
new SchemaTable(SystemIdGenerator.getNextId(), "collations", TableType.SCHEMA,
builder().column("COLLATION_NAME", ScalarType.createVarchar(512))
.column("CHARACTER_SET_NAME", ScalarType.createVarchar(64))
.column("ID", ScalarType.createType(PrimitiveType.BIGINT))
.column("IS_DEFAULT", ScalarType.createVarchar(64))
.column("IS_COMPILED", ScalarType.createVarchar(64))
.column("SORTLEN", ScalarType.createType(PrimitiveType.BIGINT))
.build()))
.put("table_constraints", new SchemaTable(
SystemIdGenerator.getNextId(),
"table_constraints",
TableType.SCHEMA,
builder()
.column("CONSTRAINT_CATALOG", ScalarType.createVarchar(512))
.column("SORTLEN", ScalarType.createType(PrimitiveType.BIGINT)).build()))
.put("table_constraints",
new SchemaTable(SystemIdGenerator.getNextId(), "table_constraints", TableType.SCHEMA,
builder().column("CONSTRAINT_CATALOG", ScalarType.createVarchar(512))
.column("CONSTRAINT_SCHEMA", ScalarType.createVarchar(64))
.column("CONSTRAINT_NAME", ScalarType.createVarchar(64))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("CONSTRAINT_TYPE", ScalarType.createVarchar(64))
.build()))
.put("engines",
new SchemaTable(
SystemIdGenerator.getNextId(),
"engines",
TableType.SCHEMA,
builder()
.column("ENGINE", ScalarType.createVarchar(64))
.column("SUPPORT", ScalarType.createVarchar(8))
.column("COMMENT", ScalarType.createVarchar(80))
.column("TRANSACTIONS", ScalarType.createVarchar(3))
.column("XA", ScalarType.createVarchar(3))
.column("SAVEPOINTS", ScalarType.createVarchar(3))
.build()))
.put("views",
new SchemaTable(
SystemIdGenerator.getNextId(),
"views",
TableType.SCHEMA,
builder()
.column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("VIEW_DEFINITION", ScalarType.createVarchar(8096))
.column("CHECK_OPTION", ScalarType.createVarchar(8))
.column("IS_UPDATABLE", ScalarType.createVarchar(3))
.column("DEFINER", ScalarType.createVarchar(77))
.column("SECURITY_TYPE", ScalarType.createVarchar(7))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(32))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(32))
.build()))
.put("statistics",
new SchemaTable(
SystemIdGenerator.getNextId(),
"statistics",
TableType.SCHEMA,
builder()
.column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("NON_UNIQUE", ScalarType.createType(PrimitiveType.BIGINT))
.column("INDEX_SCHEMA", ScalarType.createVarchar(64))
.column("INDEX_NAME", ScalarType.createVarchar(64))
.column("SEQ_IN_INDEX", ScalarType.createType(PrimitiveType.BIGINT))
.column("COLUMN_NAME", ScalarType.createVarchar(64))
.column("COLLATION", ScalarType.createVarchar(1))
.column("CARDINALITY", ScalarType.createType(PrimitiveType.BIGINT))
.column("SUB_PART", ScalarType.createType(PrimitiveType.BIGINT))
.column("PACKED", ScalarType.createVarchar(10))
.column("NULLABLE", ScalarType.createVarchar(3))
.column("INDEX_TYPE", ScalarType.createVarchar(16))
.column("COMMENT", ScalarType.createVarchar(16))
.build()))
.put("files",
new SchemaTable(
SystemIdGenerator.getNextId(),
"files",
TableType.SCHEMA,
builder()
.column("FILE_ID", ScalarType.createType(PrimitiveType.BIGINT))
.column("FILE_NAME", ScalarType.createStringType())
.column("FILE_TYPE", ScalarType.createVarchar(256))
.column("TABLESPACE_NAME", ScalarType.createVarchar(256))
.column("TABLE_CATALOG", ScalarType.createCharType(16))
.column("TABLE_SCHEMA", ScalarType.createStringType())
.column("TABLE_NAME", ScalarType.createStringType())
.column("LOGFILE_GROUP_NAME", ScalarType.createVarchar(256))
.column("LOGFILE_GROUP_NUMBER", ScalarType.createType(PrimitiveType.BIGINT))
.column("ENGINE", ScalarType.createVarchar(64))
.column("FULLTEXT_KEYS", ScalarType.createStringType())
.column("DELETED_ROWS", ScalarType.createStringType())
.column("UPDATE_COUNT", ScalarType.createStringType())
.column("FREE_EXTENTS", ScalarType.createType(PrimitiveType.BIGINT))
.column("TOTAL_EXTENTS", ScalarType.createType(PrimitiveType.BIGINT))
.column("EXTENT_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("INITIAL_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("MAXIMUM_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("AUTOEXTEND_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATION_TIME", ScalarType.createStringType())
.column("LAST_UPDATE_TIME", ScalarType.createStringType())
.column("LAST_ACCESS_TIME", ScalarType.createStringType())
.column("RECOVER_TIME", ScalarType.createStringType())
.column("TRANSACTION_COUNTER", ScalarType.createStringType())
.column("VERSION", ScalarType.createType(PrimitiveType.BIGINT))
.column("ROW_FORMAT", ScalarType.createVarchar(256))
.column("TABLE_ROWS", ScalarType.createStringType())
.column("AVG_ROW_LENGTH", ScalarType.createStringType())
.column("DATA_LENGTH", ScalarType.createStringType())
.column("MAX_DATA_LENGTH", ScalarType.createStringType())
.column("INDEX_LENGTH", ScalarType.createStringType())
.column("DATA_FREE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATE_TIME", ScalarType.createStringType())
.column("UPDATE_TIME", ScalarType.createStringType())
.column("CHECK_TIME", ScalarType.createStringType())
.column("CHECKSUM", ScalarType.createStringType())
.column("STATUS", ScalarType.createVarchar(256))
.column("EXTRA", ScalarType.createVarchar(256))
.build()))
.put("partitions",
new SchemaTable(
SystemIdGenerator.getNextId(),
"partitions",
TableType.SCHEMA,
builder()
.column("TABLE_CATALOG", ScalarType.createVarchar(64))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("PARTITION_NAME", ScalarType.createVarchar(64))
.column("SUBPARTITION_NAME", ScalarType.createVarchar(64))
.column("PARTITION_ORDINAL_POSITION",
ScalarType.createType(PrimitiveType.INT))
.column("SUBPARTITION_ORDINAL_POSITION",
ScalarType.createType(PrimitiveType.INT))
.column("PARTITION_METHOD", ScalarType.createVarchar(13))
.column("SUBPARTITION_METHOD", ScalarType.createVarchar(13))
.column("PARTITION_EXPRESSION", ScalarType.createVarchar(2048))
.column("SUBPARTITION_EXPRESSION", ScalarType.createVarchar(2048))
.column("PARTITION_DESCRIPTION", ScalarType.createStringType())
.column("TABLE_ROWS", ScalarType.createType(PrimitiveType.BIGINT))
.column("AVG_ROW_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("DATA_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("MAX_DATA_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("INDEX_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("DATA_FREE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATE_TIME", ScalarType.createType(PrimitiveType.BIGINT))
.column("UPDATE_TIME", ScalarType.createType(PrimitiveType.DATETIME))
.column("CHECK_TIME", ScalarType.createType(PrimitiveType.DATETIME))
.column("CHECKSUM", ScalarType.createType(PrimitiveType.BIGINT))
.column("PARTITION_COMMENT", ScalarType.createStringType())
.column("NODEGROUP", ScalarType.createVarchar(256))
.column("TABLESPACE_NAME", ScalarType.createVarchar(268))
.build()))
.build();
// statistics is table provides information about table indexes in mysql: 5.7
// views column is from show create table views in mysql: 5.5.6
.column("CONSTRAINT_TYPE", ScalarType.createVarchar(64)).build()))
.put("engines",
new SchemaTable(SystemIdGenerator.getNextId(), "engines", TableType.SCHEMA,
builder().column("ENGINE", ScalarType.createVarchar(64))
.column("SUPPORT", ScalarType.createVarchar(8))
.column("COMMENT", ScalarType.createVarchar(80))
.column("TRANSACTIONS", ScalarType.createVarchar(3))
.column("XA", ScalarType.createVarchar(3))
.column("SAVEPOINTS", ScalarType.createVarchar(3)).build()))
.put("views",
new SchemaTable(SystemIdGenerator.getNextId(), "views", TableType.SCHEMA,
builder().column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("VIEW_DEFINITION", ScalarType.createVarchar(8096))
.column("CHECK_OPTION", ScalarType.createVarchar(8))
.column("IS_UPDATABLE", ScalarType.createVarchar(3))
.column("DEFINER", ScalarType.createVarchar(77))
.column("SECURITY_TYPE", ScalarType.createVarchar(7))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(32))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(32)).build()))
// statistics is table provides information about table indexes in mysql: 5.7
.put("statistics", new SchemaTable(SystemIdGenerator.getNextId(), "statistics", TableType.SCHEMA,
builder().column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("NON_UNIQUE", ScalarType.createType(PrimitiveType.BIGINT))
.column("INDEX_SCHEMA", ScalarType.createVarchar(64))
.column("INDEX_NAME", ScalarType.createVarchar(64))
.column("SEQ_IN_INDEX", ScalarType.createType(PrimitiveType.BIGINT))
.column("COLUMN_NAME", ScalarType.createVarchar(64))
.column("COLLATION", ScalarType.createVarchar(1))
.column("CARDINALITY", ScalarType.createType(PrimitiveType.BIGINT))
.column("SUB_PART", ScalarType.createType(PrimitiveType.BIGINT))
.column("PACKED", ScalarType.createVarchar(10))
.column("NULLABLE", ScalarType.createVarchar(3))
.column("INDEX_TYPE", ScalarType.createVarchar(16))
.column("COMMENT", ScalarType.createVarchar(16))
// for datagrip
.column("INDEX_COMMENT", ScalarType.createVarchar(1024)).build()))
.put("files",
new SchemaTable(SystemIdGenerator.getNextId(), "files", TableType.SCHEMA,
builder().column("FILE_ID", ScalarType.createType(PrimitiveType.BIGINT))
.column("FILE_NAME", ScalarType.createStringType())
.column("FILE_TYPE", ScalarType.createVarchar(256))
.column("TABLESPACE_NAME", ScalarType.createVarchar(256))
.column("TABLE_CATALOG", ScalarType.createCharType(16))
.column("TABLE_SCHEMA", ScalarType.createStringType())
.column("TABLE_NAME", ScalarType.createStringType())
.column("LOGFILE_GROUP_NAME", ScalarType.createVarchar(256))
.column("LOGFILE_GROUP_NUMBER", ScalarType.createType(PrimitiveType.BIGINT))
.column("ENGINE", ScalarType.createVarchar(64))
.column("FULLTEXT_KEYS", ScalarType.createStringType())
.column("DELETED_ROWS", ScalarType.createStringType())
.column("UPDATE_COUNT", ScalarType.createStringType())
.column("FREE_EXTENTS", ScalarType.createType(PrimitiveType.BIGINT))
.column("TOTAL_EXTENTS", ScalarType.createType(PrimitiveType.BIGINT))
.column("EXTENT_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("INITIAL_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("MAXIMUM_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("AUTOEXTEND_SIZE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATION_TIME", ScalarType.createStringType())
.column("LAST_UPDATE_TIME", ScalarType.createStringType())
.column("LAST_ACCESS_TIME", ScalarType.createStringType())
.column("RECOVER_TIME", ScalarType.createStringType())
.column("TRANSACTION_COUNTER", ScalarType.createStringType())
.column("VERSION", ScalarType.createType(PrimitiveType.BIGINT))
.column("ROW_FORMAT", ScalarType.createVarchar(256))
.column("TABLE_ROWS", ScalarType.createStringType())
.column("AVG_ROW_LENGTH", ScalarType.createStringType())
.column("DATA_LENGTH", ScalarType.createStringType())
.column("MAX_DATA_LENGTH", ScalarType.createStringType())
.column("INDEX_LENGTH", ScalarType.createStringType())
.column("DATA_FREE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATE_TIME", ScalarType.createStringType())
.column("UPDATE_TIME", ScalarType.createStringType())
.column("CHECK_TIME", ScalarType.createStringType())
.column("CHECKSUM", ScalarType.createStringType())
.column("STATUS", ScalarType.createVarchar(256))
.column("EXTRA", ScalarType.createVarchar(256)).build()))
.put("partitions",
new SchemaTable(SystemIdGenerator.getNextId(), "partitions", TableType.SCHEMA,
builder().column("TABLE_CATALOG", ScalarType.createVarchar(64))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("PARTITION_NAME", ScalarType.createVarchar(64))
.column("SUBPARTITION_NAME", ScalarType.createVarchar(64))
.column("PARTITION_ORDINAL_POSITION", ScalarType.createType(PrimitiveType.INT))
.column("SUBPARTITION_ORDINAL_POSITION", ScalarType.createType(PrimitiveType.INT))
.column("PARTITION_METHOD", ScalarType.createVarchar(13))
.column("SUBPARTITION_METHOD", ScalarType.createVarchar(13))
.column("PARTITION_EXPRESSION", ScalarType.createVarchar(2048))
.column("SUBPARTITION_EXPRESSION", ScalarType.createVarchar(2048))
.column("PARTITION_DESCRIPTION", ScalarType.createStringType())
.column("TABLE_ROWS", ScalarType.createType(PrimitiveType.BIGINT))
.column("AVG_ROW_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("DATA_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("MAX_DATA_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("INDEX_LENGTH", ScalarType.createType(PrimitiveType.BIGINT))
.column("DATA_FREE", ScalarType.createType(PrimitiveType.BIGINT))
.column("CREATE_TIME", ScalarType.createType(PrimitiveType.BIGINT))
.column("UPDATE_TIME", ScalarType.createType(PrimitiveType.DATETIME))
.column("CHECK_TIME", ScalarType.createType(PrimitiveType.DATETIME))
.column("CHECKSUM", ScalarType.createType(PrimitiveType.BIGINT))
.column("PARTITION_COMMENT", ScalarType.createStringType())
.column("NODEGROUP", ScalarType.createVarchar(256))
.column("TABLESPACE_NAME", ScalarType.createVarchar(268)).build()))
// Compatible with Datagrip
.put("column_privileges",
new SchemaTable(SystemIdGenerator.getNextId(), "column_privileges", TableType.SCHEMA,
builder().column("GRANTEE", ScalarType.createVarchar(128))
.column("TABLE_CATALOG", ScalarType.createVarchar(512))
.column("TABLE_SCHEMA", ScalarType.createVarchar(64))
.column("TABLE_NAME", ScalarType.createVarchar(64))
.column("COLUMN_NAME", ScalarType.createVarchar(64))
.column("PRIVILEGE_TYPE", ScalarType.createVarchar(64))
.column("IS_GRANTABLE", ScalarType.createVarchar(3)).build()))
// Compatible with Datagrip
.put("triggers",
new SchemaTable(SystemIdGenerator.getNextId(), "triggers", TableType.SCHEMA,
builder().column("TRIGGER_CATALOG", ScalarType.createVarchar(512))
.column("TRIGGER_SCHEMA", ScalarType.createVarchar(64))
.column("TRIGGER_NAME", ScalarType.createVarchar(64))
.column("EVENT_MANIPULATION", ScalarType.createVarchar(6))
.column("EVENT_OBJECT_CATALOG", ScalarType.createVarchar(512))
.column("EVENT_OBJECT_SCHEMA", ScalarType.createVarchar(64))
.column("EVENT_OBJECT_TABLE", ScalarType.createVarchar(64))
.column("ACTION_ORDER", ScalarType.createVarchar(4))
.column("ACTION_CONDITION", ScalarType.createVarchar(512))
.column("ACTION_STATEMENT", ScalarType.createVarchar(512))
.column("ACTION_ORIENTATION", ScalarType.createVarchar(9))
.column("ACTION_TIMING", ScalarType.createVarchar(6))
.column("ACTION_REFERENCE_OLD_TABLE", ScalarType.createVarchar(64))
.column("ACTION_REFERENCE_NEW_TABLE", ScalarType.createVarchar(64))
.column("ACTION_REFERENCE_OLD_ROW", ScalarType.createVarchar(3))
.column("ACTION_REFERENCE_NEW_ROW", ScalarType.createVarchar(3))
.column("CREATED", ScalarType.createType(PrimitiveType.DATETIME))
.column("SQL_MODE", ScalarType.createVarchar(8192))
.column("DEFINER", ScalarType.createVarchar(77))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(32))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(32))
.column("DATABASE_COLLATION", ScalarType.createVarchar(32)).build()))
// Compatible with Datagrip
.put("events",
new SchemaTable(SystemIdGenerator.getNextId(), "events", TableType.SCHEMA,
builder().column("EVENT_CATALOG", ScalarType.createVarchar(64))
.column("EVENT_SCHEMA", ScalarType.createVarchar(64))
.column("EVENT_NAME", ScalarType.createVarchar(64))
.column("DEFINER", ScalarType.createVarchar(77))
.column("TIME_ZONE", ScalarType.createVarchar(64))
.column("EVENT_BODY", ScalarType.createVarchar(8))
.column("EVENT_DEFINITION", ScalarType.createVarchar(512))
.column("EVENT_TYPE", ScalarType.createVarchar(9))
.column("EXECUTE_AT", ScalarType.createType(PrimitiveType.DATETIME))
.column("INTERVAL_VALUE", ScalarType.createVarchar(256))
.column("INTERVAL_FIELD", ScalarType.createVarchar(18))
.column("SQL_MODE", ScalarType.createVarchar(8192))
.column("STARTS", ScalarType.createType(PrimitiveType.DATETIME))
.column("ENDS", ScalarType.createType(PrimitiveType.DATETIME))
.column("STATUS", ScalarType.createVarchar(18))
.column("ON_COMPLETION", ScalarType.createVarchar(12))
.column("CREATED", ScalarType.createType(PrimitiveType.DATETIME))
.column("LAST_ALTERED", ScalarType.createType(PrimitiveType.DATETIME))
.column("LAST_EXECUTED", ScalarType.createType(PrimitiveType.DATETIME))
.column("EVENT_COMMENT", ScalarType.createVarchar(64))
.column("ORIGINATOR", ScalarType.createType(PrimitiveType.INT))
.column("CHARACTER_SET_CLIENT", ScalarType.createVarchar(32))
.column("COLLATION_CONNECTION", ScalarType.createVarchar(32))
.column("DATABASE_COLLATION", ScalarType.createVarchar(32)).build())).build();
private SchemaTableType schemaTableType;
protected SchemaTable(long id, String name, TableType type, List<Column> baseSchema) {
super(id, name, type, baseSchema);
}
@Override
public void write(DataOutput out) throws IOException {
throw new UnsupportedOperationException("Do not allow to write SchemaTable to image.");
}
public void readFields(DataInput in) throws IOException {
throw new UnsupportedOperationException("Do not allow read SchemaTable from image.");
}
public static Builder builder() {
return new Builder();
}
/**
* For TABLE_MAP.
**/
public static class Builder {
List<Column> columns;
@ -441,8 +412,7 @@ public class SchemaTable extends Table {
@Override
public TTableDescriptor toThrift() {
TSchemaTable tSchemaTable = new TSchemaTable(SchemaTableType.getThriftType(this.name));
TTableDescriptor tTableDescriptor =
new TTableDescriptor(getId(), TTableType.SCHEMA_TABLE,
TTableDescriptor tTableDescriptor = new TTableDescriptor(getId(), TTableType.SCHEMA_TABLE,
TABLE_MAP.get(this.name).getBaseSchema().size(), 0, this.name, "");
tTableDescriptor.setSchemaTable(tSchemaTable);
return tTableDescriptor;

View File

@ -37,9 +37,11 @@ import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
// System variable
/**
* System variable.
**/
public class SessionVariable implements Serializable, Writable {
static final Logger LOG = LogManager.getLogger(SessionVariable.class);
public static final Logger LOG = LogManager.getLogger(SessionVariable.class);
public static final String EXEC_MEM_LIMIT = "exec_mem_limit";
public static final String QUERY_TIMEOUT = "query_timeout";
@ -112,6 +114,10 @@ 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";
// Compatible with datagrip mysql
public static final String DEFAULT_STORAGE_ENGINE = "default_storage_engine";
public static final String DEFAULT_TMP_STORAGE_ENGINE = "default_tmp_storage_engine";
public static final String DIV_PRECISION_INCREMENT = "div_precision_increment";
// see comment of `doris_max_scan_key_num` and `max_pushdown_conditions_per_column` in BE config
@ -160,7 +166,8 @@ public class SessionVariable implements Serializable, Writable {
public static final String PARTITION_PRUNE_ALGORITHM_VERSION = "partition_prune_algorithm_version";
public static final long MIN_INSERT_VISIBLE_TIMEOUT_MS = 1000; // If user set a very small value, use this value instead.
// If user set a very small value, use this value instead.
public static final long MIN_INSERT_VISIBLE_TIMEOUT_MS = 1000;
public static final String ENABLE_VECTORIZED_ENGINE = "enable_vectorized_engine";
@ -180,7 +187,8 @@ public class SessionVariable implements Serializable, Writable {
public static final String ENABLE_PROJECTION = "enable_projection";
public static final String TRIM_TAILING_SPACES_FOR_EXTERNAL_TABLE_QUERY = "trim_tailing_spaces_for_external_table_query";
public static final String TRIM_TAILING_SPACES_FOR_EXTERNAL_TABLE_QUERY =
"trim_tailing_spaces_for_external_table_query";
static final String ENABLE_ARRAY_TYPE = "enable_array_type";
@ -322,9 +330,6 @@ public class SessionVariable implements Serializable, Writable {
@VariableMgr.VarAttr(name = PREFER_JOIN_METHOD)
public String preferJoinMethod = "broadcast";
@VariableMgr.VarAttr(name = ENABLE_FOLD_CONSTANT_BY_BE)
private boolean enableFoldConstantByBe = false;
/*
* the parallel exec instance num for one Fragment in one BE
* 1 means disable this feature
@ -344,9 +349,6 @@ public class SessionVariable implements Serializable, Writable {
@VariableMgr.VarAttr(name = ENABLE_PARTITION_CACHE)
public boolean enablePartitionCache = false;
@VariableMgr.VarAttr(name = ENABLE_COST_BASED_JOIN_REORDER)
private boolean enableJoinReorderBasedCost = false;
@VariableMgr.VarAttr(name = FORWARD_TO_MASTER)
public boolean forwardToMaster = true;
@ -368,6 +370,10 @@ public class SessionVariable implements Serializable, Writable {
public String eventScheduler = "OFF";
@VariableMgr.VarAttr(name = STORAGE_ENGINE)
public String storageEngine = "olap";
@VariableMgr.VarAttr(name = DEFAULT_STORAGE_ENGINE)
public String defaultStorageEngine = "olap";
@VariableMgr.VarAttr(name = DEFAULT_TMP_STORAGE_ENGINE)
public String defaultTmpStorageEngine = "olap";
@VariableMgr.VarAttr(name = DIV_PRECISION_INCREMENT)
public int divPrecisionIncrement = 4;
@ -394,45 +400,21 @@ public class SessionVariable implements Serializable, Writable {
@VariableMgr.VarAttr(name = PARTITION_PRUNE_ALGORITHM_VERSION, needForward = true)
public int partitionPruneAlgorithmVersion = 2;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_MODE)
private String runtimeFilterMode = "GLOBAL";
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_SIZE)
private int runtimeBloomFilterSize = 2097152;
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_MIN_SIZE)
private int runtimeBloomFilterMinSize = 1048576;
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_MAX_SIZE)
private int runtimeBloomFilterMaxSize = 16777216;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_WAIT_TIME_MS)
private int runtimeFilterWaitTimeMs = 1000;
@VariableMgr.VarAttr(name = RUNTIME_FILTERS_MAX_NUM)
private int runtimeFiltersMaxNum = 10;
// Set runtimeFilterType to IN_OR_BLOOM filter
@VariableMgr.VarAttr(name = RUNTIME_FILTER_TYPE)
private int runtimeFilterType = 8;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_MAX_IN_NUM)
private int runtimeFilterMaxInNum = 1024;
@VariableMgr.VarAttr(name = ENABLE_VECTORIZED_ENGINE)
public boolean enableVectorizedEngine = true;
@VariableMgr.VarAttr(name = ENABLE_PARALLEL_OUTFILE)
public boolean enableParallelOutfile = false;
@VariableMgr.VarAttr(name = CPU_RESOURCE_LIMIT)
public int cpuResourceLimit = -1;
@VariableMgr.VarAttr(name = DISABLE_JOIN_REORDER)
private boolean disableJoinReorder = false;
@VariableMgr.VarAttr(name = ENABLE_INFER_PREDICATE)
private boolean enableInferPredicate = true;
@VariableMgr.VarAttr(name = SQL_QUOTE_SHOW_CREATE)
public boolean sqlQuoteShowCreate = true;
@VariableMgr.VarAttr(name = RETURN_OBJECT_DATA_AS_BINARY)
private boolean returnObjectDataAsBinary = false;
@VariableMgr.VarAttr(name = TRIM_TAILING_SPACES_FOR_EXTERNAL_TABLE_QUERY, needForward = true)
public boolean trimTailingSpacesForExternalTableQuery = false;
@VariableMgr.VarAttr(name = BLOCK_ENCRYPTION_MODE)
private String blockEncryptionMode = "";
// the maximum size in bytes for a table that will be broadcast to all be nodes
// when performing a join, By setting this value to -1 broadcasting can be disabled.
@ -440,14 +422,54 @@ public class SessionVariable implements Serializable, Writable {
@VariableMgr.VarAttr(name = AUTO_BROADCAST_JOIN_THRESHOLD)
public double autoBroadcastJoinThreshold = 0.8;
@VariableMgr.VarAttr(name = ENABLE_COST_BASED_JOIN_REORDER)
private boolean enableJoinReorderBasedCost = false;
@VariableMgr.VarAttr(name = ENABLE_FOLD_CONSTANT_BY_BE)
private boolean enableFoldConstantByBe = false;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_MODE)
private String runtimeFilterMode = "GLOBAL";
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_SIZE)
private int runtimeBloomFilterSize = 2097152;
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_MIN_SIZE)
private int runtimeBloomFilterMinSize = 1048576;
@VariableMgr.VarAttr(name = RUNTIME_BLOOM_FILTER_MAX_SIZE)
private int runtimeBloomFilterMaxSize = 16777216;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_WAIT_TIME_MS)
private int runtimeFilterWaitTimeMs = 1000;
@VariableMgr.VarAttr(name = RUNTIME_FILTERS_MAX_NUM)
private int runtimeFiltersMaxNum = 10;
// Set runtimeFilterType to IN_OR_BLOOM filter
@VariableMgr.VarAttr(name = RUNTIME_FILTER_TYPE)
private int runtimeFilterType = 8;
@VariableMgr.VarAttr(name = RUNTIME_FILTER_MAX_IN_NUM)
private int runtimeFilterMaxInNum = 1024;
@VariableMgr.VarAttr(name = DISABLE_JOIN_REORDER)
private boolean disableJoinReorder = false;
@VariableMgr.VarAttr(name = ENABLE_INFER_PREDICATE)
private boolean enableInferPredicate = true;
@VariableMgr.VarAttr(name = RETURN_OBJECT_DATA_AS_BINARY)
private boolean returnObjectDataAsBinary = false;
@VariableMgr.VarAttr(name = BLOCK_ENCRYPTION_MODE)
private String blockEncryptionMode = "";
@VariableMgr.VarAttr(name = ENABLE_PROJECTION)
private boolean enableProjection = true;
@VariableMgr.VarAttr(name = TRIM_TAILING_SPACES_FOR_EXTERNAL_TABLE_QUERY, needForward = true)
public boolean trimTailingSpacesForExternalTableQuery = false;
@VariableMgr.VarAttr(name = ENABLE_ARRAY_TYPE)
boolean enableArrayType = false;
private boolean enableArrayType = false;
public String getBlockEncryptionMode() {
return blockEncryptionMode;
@ -589,6 +611,9 @@ public class SessionVariable implements Serializable, Writable {
return codegenLevel;
}
/**
* setMaxExecMemByte.
**/
public void setMaxExecMemByte(long maxExecMemByte) {
if (maxExecMemByte < MIN_EXEC_MEM_LIMIT) {
this.maxExecMemByte = MIN_EXEC_MEM_LIMIT;
@ -831,6 +856,9 @@ public class SessionVariable implements Serializable, Writable {
this.enableVectorizedEngine = enableVectorizedEngine;
}
/**
* getInsertVisibleTimeoutMs.
**/
public long getInsertVisibleTimeoutMs() {
if (insertVisibleTimeoutMs < MIN_INSERT_VISIBLE_TIMEOUT_MS) {
return MIN_INSERT_VISIBLE_TIMEOUT_MS;
@ -839,6 +867,9 @@ public class SessionVariable implements Serializable, Writable {
}
}
/**
* setInsertVisibleTimeoutMs.
**/
public void setInsertVisibleTimeoutMs(long insertVisibleTimeoutMs) {
if (insertVisibleTimeoutMs < MIN_INSERT_VISIBLE_TIMEOUT_MS) {
this.insertVisibleTimeoutMs = MIN_INSERT_VISIBLE_TIMEOUT_MS;
@ -939,8 +970,10 @@ public class SessionVariable implements Serializable, Writable {
this.enableArrayType = enableArrayType;
}
// Serialize to thrift object
// used for rest api
/**
* Serialize to thrift object.
* Used for rest api.
**/
public TQueryOptions toThrift() {
TQueryOptions tResult = new TQueryOptions();
tResult.setMemLimit(maxExecMemByte);
@ -1072,7 +1105,9 @@ public class SessionVariable implements Serializable, Writable {
}
}
// Get all variables which need to forward along with statement
/**
* Get all variables which need to forward along with statement.
**/
public Map<String, String> getForwardVariables() {
HashMap<String, String> map = new HashMap<String, String>();
try {
@ -1090,6 +1125,9 @@ public class SessionVariable implements Serializable, Writable {
return map;
}
/**
* Set forwardedSessionVariables for variables.
**/
public void setForwardedSessionVariables(Map<String, String> variables) {
try {
Field[] fields = SessionVariable.class.getFields();
@ -1134,15 +1172,9 @@ public class SessionVariable implements Serializable, Writable {
}
}
// Get all variables which need to be set in TQueryOptions
public TQueryOptions getQueryOptionVariables() {
TQueryOptions queryOptions = new TQueryOptions();
queryOptions.setMemLimit(maxExecMemByte);
queryOptions.setQueryTimeout(queryTimeoutS);
queryOptions.setLoadMemLimit(loadMemLimit);
return queryOptions;
}
/**
* Set forwardedSessionVariables for queryOptions.
**/
public void setForwardedSessionVariables(TQueryOptions queryOptions) {
if (queryOptions.isSetMemLimit()) {
setMaxExecMemByte(queryOptions.getMemLimit());
@ -1154,4 +1186,16 @@ public class SessionVariable implements Serializable, Writable {
setLoadMemLimit(queryOptions.getLoadMemLimit());
}
}
/**
* Get all variables which need to be set in TQueryOptions.
**/
public TQueryOptions getQueryOptionVariables() {
TQueryOptions queryOptions = new TQueryOptions();
queryOptions.setMemLimit(maxExecMemByte);
queryOptions.setQueryTimeout(queryTimeoutS);
queryOptions.setLoadMemLimit(loadMemLimit);
return queryOptions;
}
}