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.GenericContainer
public Object get(int index)
get
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to getIndexOutOfBoundsException
public void put(int index, Object value)
put
in interface org.apache.avro.generic.IndexedRecord
index
- the position of the field to setvalue
- the value to setIndexOutOfBoundsException
Copyright © 2019. All rights reserved.