public class CreateJoinTableRequest extends Object implements org.apache.avro.generic.IndexedRecord
GPUdb.createJoinTable(CreateJoinTableRequest).
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.
| Modifier and Type | Class and Description |
|---|---|
static class |
CreateJoinTableRequest.Options
Optional parameters.
|
| Constructor and 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.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
Object |
get(int index)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
static org.apache.avro.Schema |
getClassSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
List<String> |
getColumnNames() |
List<String> |
getExpressions() |
String |
getJoinTableName() |
Map<String,String> |
getOptions() |
org.apache.avro.Schema |
getSchema()
This method supports the Avro framework and is not intended to be called
directly by the user.
|
List<String> |
getTableNames() |
int |
hashCode() |
void |
put(int index,
Object value)
This method supports the Avro framework and is not intended to be called
directly by the user.
|
CreateJoinTableRequest |
setColumnNames(List<String> columnNames) |
CreateJoinTableRequest |
setExpressions(List<String> expressions) |
CreateJoinTableRequest |
setJoinTableName(String joinTableName) |
CreateJoinTableRequest |
setOptions(Map<String,String> options) |
CreateJoinTableRequest |
setTableNames(List<String> tableNames) |
String |
toString() |
public CreateJoinTableRequest()
public CreateJoinTableRequest(String joinTableName, List<String> tableNames, List<String> columnNames, List<String> expressions, Map<String,String> options)
joinTableName - Name of the join table to be created. Has the
same naming restrictions as tables.tableNames - The list of table names composing the join.
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 empty List.options - Optional parameters.
COLLECTION_NAME: Name of a collection which is to
contain the join. If the collection provided is
non-existent, the collection will be automatically
created. If empty, then the join will be at the top
level. The default value is ''.
MAX_QUERY_DIMENSIONS: The maximum number of tables in a
join that can be accessed by a query and are not equated
by a foreign-key to primary-key equality predicate
OPTIMIZE_LOOKUPS: Use more memory to speed up the
joining of tables.
Supported values:
The default value is FALSE.
REFRESH_METHOD: Method by which the join can be
refreshed when the data in underlying member tables have
changed.
Supported values:
MANUAL: refresh only occurs when manually requested by
calling this endpoint with refresh option set to refresh or full_refresh
ON_QUERY: incrementally refresh (refresh just those
records added) whenever a new query is issued and new
data is inserted into the base table. A full refresh of
all the records occurs when a new query is issued and
there have been inserts to any non-base-tables since the
last query. TTL will be set to not expire; any
ttl specified will be ignored.
ON_INSERT: incrementally refresh (refresh just those
records added) whenever new data is inserted into a base
table. A full refresh of all the records occurs when a
new query is issued and there have been inserts to any
non-base-tables since the last query. TTL will be set to not expire; any
ttl specified will be ignored.
MANUAL.
REFRESH: Do a manual refresh of the join if it exists -
throws an error otherwise
Supported values:
NO_REFRESH: don't refresh
REFRESH: incrementally refresh (refresh just those
records added) if new data has been inserted into the
base table. A full refresh of all the records occurs if
there have been inserts to any non-base-tables since the
last refresh
FULL_REFRESH: always refresh even if no new records
have been added. Only refresh method guaranteed to do a
full refresh (refresh all the records) if a delete or
update has occurred since the last refresh.
NO_REFRESH.
TTL: Sets the TTL of the join table specified in
joinTableName. Ignored if refresh_method is either on_insert or on_query.
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 for show_table. optimization needed for
large overlapped equi-join stencils. The default value
is 'false'.
CHUNK_SIZE: Maximum size of a joined-chunk for this
table. Defaults to the gpudb.conf file chunk size
ALLOW_RIGHT_PRIMARY_KEY_JOIN: When true allows right
joins from a key to a primary key to be done as primary
key joins. Such a join table cannot be joined to other
join tables. When false the right join shall be done as
an equi-join. The default value is 'false'.
Map.public static org.apache.avro.Schema getClassSchema()
public String getJoinTableName()
public CreateJoinTableRequest setJoinTableName(String joinTableName)
joinTableName - Name of the join table to be created. Has the
same naming restrictions as tables.this to mimic the builder pattern.public List<String> getTableNames()
public CreateJoinTableRequest setTableNames(List<String> tableNames)
tableNames - The list of table names composing the join.
Corresponds to a SQL statement FROM clause.this to mimic the builder pattern.public List<String> getColumnNames()
public CreateJoinTableRequest setColumnNames(List<String> columnNames)
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.this to mimic the builder pattern.public List<String> getExpressions()
List.public CreateJoinTableRequest setExpressions(List<String> expressions)
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 empty List.this to mimic the builder pattern.public Map<String,String> getOptions()
COLLECTION_NAME: Name of a collection which is to contain the
join. If the collection provided is non-existent, the collection
will be automatically created. If empty, then the join will be
at the top level. The default value is ''.
MAX_QUERY_DIMENSIONS: The maximum number of tables in a join
that can be accessed by a query and are not equated by a
foreign-key to primary-key equality predicate
OPTIMIZE_LOOKUPS: Use more memory to speed up the joining of
tables.
Supported values:
The default value is FALSE.
REFRESH_METHOD: Method by which the join can be refreshed when
the data in underlying member tables have changed.
Supported values:
MANUAL: refresh only occurs when manually requested by calling
this endpoint with refresh option set to refresh or
full_refresh
ON_QUERY: incrementally refresh (refresh just those records
added) whenever a new query is issued and new data is inserted
into the base table. A full refresh of all the records occurs
when a new query is issued and there have been inserts to any
non-base-tables since the last query. TTL
will be set to not expire; any ttl specified will be
ignored.
ON_INSERT: incrementally refresh (refresh just those records
added) whenever new data is inserted into a base table. A full
refresh of all the records occurs when a new query is issued and
there have been inserts to any non-base-tables since the last
query. TTL will be set to not expire; any ttl
specified will be ignored.
MANUAL.
REFRESH: Do a manual refresh of the join if it exists - throws
an error otherwise
Supported values:
NO_REFRESH: don't refresh
REFRESH: incrementally refresh (refresh just those records
added) if new data has been inserted into the base table. A
full refresh of all the records occurs if there have been
inserts to any non-base-tables since the last refresh
FULL_REFRESH: always refresh even if no new records have been
added. Only refresh method guaranteed to do a full refresh
(refresh all the records) if a delete or update has occurred
since the last refresh.
NO_REFRESH.
TTL: Sets
the TTL of the join table specified in joinTableName. Ignored if refresh_method is either
on_insert or on_query.
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 for show_table. optimization needed for large overlapped
equi-join stencils. The default value is 'false'.
CHUNK_SIZE: Maximum size of a joined-chunk for this table.
Defaults to the gpudb.conf file chunk size
ALLOW_RIGHT_PRIMARY_KEY_JOIN: When true allows right joins from
a key to a primary key to be done as primary key joins. Such a
join table cannot be joined to other join tables. When false
the right join shall be done as an equi-join. The default value
is 'false'.
Map.public CreateJoinTableRequest setOptions(Map<String,String> options)
options - Optional parameters.
COLLECTION_NAME: Name of a collection which is to
contain the join. If the collection provided is
non-existent, the collection will be automatically
created. If empty, then the join will be at the top
level. The default value is ''.
MAX_QUERY_DIMENSIONS: The maximum number of tables in a
join that can be accessed by a query and are not equated
by a foreign-key to primary-key equality predicate
OPTIMIZE_LOOKUPS: Use more memory to speed up the
joining of tables.
Supported values:
The default value is FALSE.
REFRESH_METHOD: Method by which the join can be
refreshed when the data in underlying member tables have
changed.
Supported values:
MANUAL: refresh only occurs when manually requested by
calling this endpoint with refresh option set to refresh or full_refresh
ON_QUERY: incrementally refresh (refresh just those
records added) whenever a new query is issued and new
data is inserted into the base table. A full refresh of
all the records occurs when a new query is issued and
there have been inserts to any non-base-tables since the
last query. TTL will be set to not expire; any
ttl specified will be ignored.
ON_INSERT: incrementally refresh (refresh just those
records added) whenever new data is inserted into a base
table. A full refresh of all the records occurs when a
new query is issued and there have been inserts to any
non-base-tables since the last query. TTL will be set to not expire; any
ttl specified will be ignored.
MANUAL.
REFRESH: Do a manual refresh of the join if it exists -
throws an error otherwise
Supported values:
NO_REFRESH: don't refresh
REFRESH: incrementally refresh (refresh just those
records added) if new data has been inserted into the
base table. A full refresh of all the records occurs if
there have been inserts to any non-base-tables since the
last refresh
FULL_REFRESH: always refresh even if no new records
have been added. Only refresh method guaranteed to do a
full refresh (refresh all the records) if a delete or
update has occurred since the last refresh.
NO_REFRESH.
TTL: Sets the TTL of the join table specified in
joinTableName. Ignored if refresh_method is either on_insert or on_query.
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 for show_table. optimization needed for
large overlapped equi-join stencils. The default value
is 'false'.
CHUNK_SIZE: Maximum size of a joined-chunk for this
table. Defaults to the gpudb.conf file chunk size
ALLOW_RIGHT_PRIMARY_KEY_JOIN: When true allows right
joins from a key to a primary key to be done as primary
key joins. Such a join table cannot be joined to other
join tables. When false the right join shall be done as
an equi-join. The default value is 'false'.
Map.this to mimic the builder pattern.public org.apache.avro.Schema getSchema()
getSchema in interface org.apache.avro.generic.GenericContainerpublic Object get(int index)
get in interface org.apache.avro.generic.IndexedRecordindex - the position of the field to getIndexOutOfBoundsExceptionpublic void put(int index,
Object value)
put in interface org.apache.avro.generic.IndexedRecordindex - the position of the field to setvalue - the value to setIndexOutOfBoundsExceptionCopyright © 2019. All rights reserved.