Version:

/create/jointableΒΆ

URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/create/jointable

Creates a table that is the result of a SQL JOIN. For details see: join concept documentation.

Input Parameter Description

Name Type Description
join_table_name string Name of the join table to be created. Must not be the name of a currently existing GPUdb table or join table. Cannot be an empty string.
table_names array of strings The list of table names making up the joined set. Corresponds to a SQL statement FROM clause
aliases array of strings The list of aliases for each of the corresponding tables.
expression string An optional expression GPUdb uses to combine and filter the joined set. Corresponds to a SQL statement WHERE clause. For details see: expressions. Default value is ''.
expressions array of strings An optional list of expressions GPUdb uses to combine and filter the joined set. Corresponds to a SQL statement WHERE clause. For details see: expressions. Default value is an empty array ( [] ).
options map of strings

Optional parameters. Default value is an empty map ( {} ).

Supported Parameters (keys) Parameter Description
collection_name Name of a collection in GPUdb to which the join table is to be assigned as a child table. If empty, then the join table will be a top level table. Default value is ''.
max_query_dimensions The maximum number of tables in a joined table that can be accessed by a query and are not equated by a foreign-key to primary-key equality predicate
optimize_lookups Use the applied filters to precalculate the lookup table to get data from the primary key sets
refresh_method

Method by which the join table can be refreshed when underlying member tables have changed. Default value is 'manual'.

Supported Values Description
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
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
refresh

Do a manual refresh of the join table if it exists - throws an error otherwise Default value is 'no_refresh'.

Supported Values Description
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.

Output Parameter Description

The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:

Name Type Description
status String 'OK' or 'ERROR'
message String Empty if success or an error message
data_type String 'create_join_table_request' or 'none' in case of an error
data String Empty string
data_str JSON or String

This embedded JSON represents the result of the /create/jointable endpoint:

Name Type Description
join_table_name string Value of input parameter join_table_name.
count long The number of records in the join table filtered by the given select expression.

Empty string in case of an error.