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.IndexedRecordA set of parameters for
GPUdb.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 ClassesModifier and TypeClassDescriptionstatic final classA set of string constants for theCreateJoinTableRequestparameteroptions.Constructor Summary
ConstructorsConstructorDescriptionConstructs 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
Modifier and TypeMethodDescriptionbooleanget(int index) This method supports the Avro framework and is not intended to be called directly by the user.static org.apache.avro.SchemaThis method supports the Avro framework and is not intended to be called directly by the user.List of member table columns or column expressions to be included in the join.An optional list of expressions to combine and filter the joined tables.Name of the join table to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.Optional parameters.org.apache.avro.SchemaThis method supports the Avro framework and is not intended to be called directly by the user.The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules.inthashCode()voidThis method supports the Avro framework and is not intended to be called directly by the user.setColumnNames(List<String> columnNames) List of member table columns or column expressions to be included in the join.setExpressions(List<String> expressions) An optional list of expressions to combine and filter the joined tables.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.setOptions(Map<String, String> options) Optional parameters.setTableNames(List<String> tableNames) The list of table names composing the join, each in [schema_name.]table_name format, using standard name resolution rules.toString()
Constructor Details
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 size.ENABLE_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-join.ENABLE_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-join.ENABLE_PK_EQUI_JOIN: Use equi-join to do primary key joins rather than using primary key index.
Map.
Method Details
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
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 ofjoinTableName.setJoinTableName
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
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 oftableNames.setTableNames
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
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 ofcolumnNames.setColumnNames
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
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 ofexpressions.setExpressions
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
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 size.ENABLE_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-join.ENABLE_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-join.ENABLE_PK_EQUI_JOIN: Use equi-join to do primary key joins rather than using primary key index.
Map.Returns:The current value ofoptions.setOptions
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 size.ENABLE_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-join.ENABLE_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-join.ENABLE_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.GenericContainerReturns:The schema object describing this class.get
This method supports the Avro framework and is not intended to be called directly by the user.Specified by:getin interfaceorg.apache.avro.generic.IndexedRecordParameters:index- the position of the field to getReturns:value of the field with the given index.Throws:put
This method supports the Avro framework and is not intended to be called directly by the user.Specified by:putin interfaceorg.apache.avro.generic.IndexedRecordParameters:index- the position of the field to setvalue- the value to setThrows: