Package com.gpudb.protocol
Class CreateJoinTableRequest
- java.lang.Object
-
- com.gpudb.protocol.CreateJoinTableRequest
-
- All Implemented Interfaces:
org.apache.avro.generic.GenericContainer,org.apache.avro.generic.IndexedRecord
public class CreateJoinTableRequest extends Object implements org.apache.avro.generic.IndexedRecord
A set of parameters forGPUdb.createJoinTable.Creates a table that is the result of a SQL JOIN.
For join details and examples see: Joins. For limitations, see Join Limitations and Cautions.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCreateJoinTableRequest.OptionsA set of string constants for theCreateJoinTableRequestparameteroptions.
-
Constructor Summary
Constructors Constructor Description CreateJoinTableRequest()Constructs a CreateJoinTableRequest object with default parameters.CreateJoinTableRequest(String joinTableName, List<String> tableNames, List<String> columnNames, List<String> expressions, Map<String,String> options)Constructs a CreateJoinTableRequest object with the specified parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)Objectget(int index)This method supports the Avro framework and is not intended to be called directly by the user.static org.apache.avro.SchemagetClassSchema()This method supports the Avro framework and is not intended to be called directly by the user.List<String>getColumnNames()List of member table columns or column expressions to be included in the join.List<String>getExpressions()An optional list of expressions to combine and filter the joined tables.StringgetJoinTableName()Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.Map<String,String>getOptions()Optional parameters.org.apache.avro.SchemagetSchema()This method supports the Avro framework and is not intended to be called directly by the user.List<String>getTableNames()The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules.inthashCode()voidput(int index, Object value)This method supports the Avro framework and is not intended to be called directly by the user.CreateJoinTableRequestsetColumnNames(List<String> columnNames)List of member table columns or column expressions to be included in the join.CreateJoinTableRequestsetExpressions(List<String> expressions)An optional list of expressions to combine and filter the joined tables.CreateJoinTableRequestsetJoinTableName(String joinTableName)Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.CreateJoinTableRequestsetOptions(Map<String,String> options)Optional parameters.CreateJoinTableRequestsetTableNames(List<String> tableNames)The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules.StringtoString()
-
-
-
Constructor Detail
-
CreateJoinTableRequest
public CreateJoinTableRequest()
Constructs a CreateJoinTableRequest object with default parameters.
-
CreateJoinTableRequest
public CreateJoinTableRequest(String joinTableName, List<String> tableNames, List<String> columnNames, List<String> expressions, Map<String,String> options)
Constructs a CreateJoinTableRequest object with the specified parameters.- Parameters:
joinTableName- Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.tableNames- The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules. Corresponds to a SQL statement FROM clause.columnNames- List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table_id.column_name', where 'table_id' is the table name or alias. Columns can be aliased via the syntax 'column_name as alias'. Wild cards '*' can be used to include all columns across member tables or 'table_id.*' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased--therefore, the '*' wild card cannot be used if column names aren't unique across all tables.expressions- An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: expressions. The default value is an emptyList.options- Optional parameters.CREATE_TEMP_TABLE: IfTRUE, a unique temporary table name will be generated in the sys_temp schema and used in place ofjoinTableName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned inQUALIFIED_JOIN_TABLE_NAME. Supported values: The default value isFALSE.COLLECTION_NAME: [DEPRECATED--please specify the containing schema for the join as part ofjoinTableNameand useGPUdb.createSchemato create the schema if non-existent] Name of a schema for the join. If the schema is non-existent, it will be automatically created. The default value is ''.MAX_QUERY_DIMENSIONS: No longer used.STRATEGY_DEFINITION: The tier strategy for the table and its columns.TTL: Sets the TTL of the join table specified injoinTableName.VIEW_ID: view this projection is part of. The default value is ''.NO_COUNT: Return a count of 0 for the join table for logging and forGPUdb.showTable; optimization needed for large overlapped equi-join stencils. The default value is 'false'.CHUNK_SIZE: Maximum number of records per joined-chunk for this table. Defaults to the gpudb.conf file chunk sizeENABLE_VIRTUAL_CHUNKING: Collect chunks with accumulated size less than chunk_size into a single chunk. The default value is 'false'.MAX_VIRTUAL_CHUNK_SIZE: Maximum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.MIN_VIRTUAL_CHUNK_SIZE: Minimum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.ENABLE_SPARSE_VIRTUAL_CHUNKING: materialize virtual chunks with only non-deleted values. The default value is 'false'.ENABLE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PREDICATE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk predicate-equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PK_EQUI_JOIN: Use equi-join to do primary key joins rather than using primary-key-index
Map.
-
-
Method Detail
-
getClassSchema
public static org.apache.avro.Schema getClassSchema()
This method supports the Avro framework and is not intended to be called directly by the user.- Returns:
- The schema for the class.
-
getJoinTableName
public String getJoinTableName()
Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.- Returns:
- The current value of
joinTableName.
-
setJoinTableName
public CreateJoinTableRequest setJoinTableName(String joinTableName)
Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.- Parameters:
joinTableName- The new value forjoinTableName.- Returns:
thisto mimic the builder pattern.
-
getTableNames
public List<String> getTableNames()
The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules. Corresponds to a SQL statement FROM clause.- Returns:
- The current value of
tableNames.
-
setTableNames
public CreateJoinTableRequest setTableNames(List<String> tableNames)
The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules. Corresponds to a SQL statement FROM clause.- Parameters:
tableNames- The new value fortableNames.- Returns:
thisto mimic the builder pattern.
-
getColumnNames
public List<String> getColumnNames()
List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table_id.column_name', where 'table_id' is the table name or alias. Columns can be aliased via the syntax 'column_name as alias'. Wild cards '*' can be used to include all columns across member tables or 'table_id.*' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased--therefore, the '*' wild card cannot be used if column names aren't unique across all tables.- Returns:
- The current value of
columnNames.
-
setColumnNames
public CreateJoinTableRequest setColumnNames(List<String> columnNames)
List of member table columns or column expressions to be included in the join. Columns can be prefixed with 'table_id.column_name', where 'table_id' is the table name or alias. Columns can be aliased via the syntax 'column_name as alias'. Wild cards '*' can be used to include all columns across member tables or 'table_id.*' for all of a single table's columns. Columns and column expressions composing the join must be uniquely named or aliased--therefore, the '*' wild card cannot be used if column names aren't unique across all tables.- Parameters:
columnNames- The new value forcolumnNames.- Returns:
thisto mimic the builder pattern.
-
getExpressions
public List<String> getExpressions()
An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: expressions. The default value is an emptyList.- Returns:
- The current value of
expressions.
-
setExpressions
public CreateJoinTableRequest setExpressions(List<String> expressions)
An optional list of expressions to combine and filter the joined tables. Corresponds to a SQL statement WHERE clause. For details see: expressions. The default value is an emptyList.- Parameters:
expressions- The new value forexpressions.- Returns:
thisto mimic the builder pattern.
-
getOptions
public Map<String,String> getOptions()
Optional parameters.CREATE_TEMP_TABLE: IfTRUE, a unique temporary table name will be generated in the sys_temp schema and used in place ofjoinTableName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned inQUALIFIED_JOIN_TABLE_NAME. Supported values: The default value isFALSE.COLLECTION_NAME: [DEPRECATED--please specify the containing schema for the join as part ofjoinTableNameand useGPUdb.createSchemato create the schema if non-existent] Name of a schema for the join. If the schema is non-existent, it will be automatically created. The default value is ''.MAX_QUERY_DIMENSIONS: No longer used.STRATEGY_DEFINITION: The tier strategy for the table and its columns.TTL: Sets the TTL of the join table specified injoinTableName.VIEW_ID: view this projection is part of. The default value is ''.NO_COUNT: Return a count of 0 for the join table for logging and forGPUdb.showTable; optimization needed for large overlapped equi-join stencils. The default value is 'false'.CHUNK_SIZE: Maximum number of records per joined-chunk for this table. Defaults to the gpudb.conf file chunk sizeENABLE_VIRTUAL_CHUNKING: Collect chunks with accumulated size less than chunk_size into a single chunk. The default value is 'false'.MAX_VIRTUAL_CHUNK_SIZE: Maximum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.MIN_VIRTUAL_CHUNK_SIZE: Minimum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.ENABLE_SPARSE_VIRTUAL_CHUNKING: materialize virtual chunks with only non-deleted values. The default value is 'false'.ENABLE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PREDICATE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk predicate-equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PK_EQUI_JOIN: Use equi-join to do primary key joins rather than using primary-key-index
Map.- Returns:
- The current value of
options.
-
setOptions
public CreateJoinTableRequest setOptions(Map<String,String> options)
Optional parameters.CREATE_TEMP_TABLE: IfTRUE, a unique temporary table name will be generated in the sys_temp schema and used in place ofjoinTableName. This is always allowed even if the caller does not have permission to create tables. The generated name is returned inQUALIFIED_JOIN_TABLE_NAME. Supported values: The default value isFALSE.COLLECTION_NAME: [DEPRECATED--please specify the containing schema for the join as part ofjoinTableNameand useGPUdb.createSchemato create the schema if non-existent] Name of a schema for the join. If the schema is non-existent, it will be automatically created. The default value is ''.MAX_QUERY_DIMENSIONS: No longer used.STRATEGY_DEFINITION: The tier strategy for the table and its columns.TTL: Sets the TTL of the join table specified injoinTableName.VIEW_ID: view this projection is part of. The default value is ''.NO_COUNT: Return a count of 0 for the join table for logging and forGPUdb.showTable; optimization needed for large overlapped equi-join stencils. The default value is 'false'.CHUNK_SIZE: Maximum number of records per joined-chunk for this table. Defaults to the gpudb.conf file chunk sizeENABLE_VIRTUAL_CHUNKING: Collect chunks with accumulated size less than chunk_size into a single chunk. The default value is 'false'.MAX_VIRTUAL_CHUNK_SIZE: Maximum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.MIN_VIRTUAL_CHUNK_SIZE: Minimum number of records per virtual-chunk. When set, enables virtual chunking. Defaults to chunk_size if virtual chunking otherwise enabled.ENABLE_SPARSE_VIRTUAL_CHUNKING: materialize virtual chunks with only non-deleted values. The default value is 'false'.ENABLE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PREDICATE_EQUI_JOIN_LAZY_RESULT_STORE: Allow using the lazy result store to cache computation of one side of a multichunk predicate-equi-join. Reduces computation but also reduces parallelism to the number of chunks on the other side of the equi-joinENABLE_PK_EQUI_JOIN: Use equi-join to do primary key joins rather than using primary-key-index
Map.- Parameters:
options- The new value foroptions.- Returns:
thisto mimic the builder pattern.
-
getSchema
public org.apache.avro.Schema getSchema()
This method supports the Avro framework and is not intended to be called directly by the user.- Specified by:
getSchemain interfaceorg.apache.avro.generic.GenericContainer- Returns:
- The schema object describing this class.
-
get
public Object get(int index)
This method supports the Avro framework and is not intended to be called directly by the user.- Specified by:
getin interfaceorg.apache.avro.generic.IndexedRecord- Parameters:
index- the position of the field to get- Returns:
- value of the field with the given index.
- Throws:
IndexOutOfBoundsException
-
put
public void put(int index, Object value)This method supports the Avro framework and is not intended to be called directly by the user.- Specified by:
putin interfaceorg.apache.avro.generic.IndexedRecord- Parameters:
index- the position of the field to setvalue- the value to set- Throws:
IndexOutOfBoundsException
-
-