Skip to main content
Source

pub async fn create_projection( &self, table_name: String, projection_name: String, column_names: Vec<String>, ) -> Result<CreateProjectionResponse, KineticaError>

Create a projection of an existing table

Creates a new projection of an existing table. A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as /get/records/bycolumn.

A projection can be created with a different shard key than the source table. By specifying shard_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If table_name is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

  • table_name - Name of the existing table on which the projection is to be applied, in [schema_name.]table_name format, using standard name resolution rules. An empty table name creates a projection from a single-row virtual table, where columns specified should be constants or constant expressions.
  • projection_name - Name of the projection to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.
  • column_names - List of columns from table_name to be included in the projection. Can include derived columns. Can be specified as aliased via the syntax ‘column_name as alias’.
Source

pub async fn create_projection_with_opts( &self, table_name: String, projection_name: String, column_names: Vec<String>, options: CreateProjectionRequestOptions, ) -> Result<CreateProjectionResponse, KineticaError>

Create a projection of an existing table

Creates a new projection of an existing table. A projection represents a subset of the columns (potentially including derived columns) of a table.

For projection details and examples, see Projections. For limitations, see Projection Limitations and Cautions.

Window functions, which can perform operations like moving averages, are available through this endpoint as well as /get/records/bycolumn.

A projection can be created with a different shard key than the source table. By specifying shard_key, the projection will be sharded according to the specified columns, regardless of how the source table is sharded. The source table can even be unsharded or replicated.

If table_name is empty, selection is performed against a single-row virtual table. This can be useful in executing temporal (NOW()), identity (USER()), or constant-based functions (GEODIST(-77.11, 38.88, -71.06, 42.36)).

  • table_name - Name of the existing table on which the projection is to be applied, in [schema_name.]table_name format, using standard name resolution rules. An empty table name creates a projection from a single-row virtual table, where columns specified should be constants or constant expressions.
  • projection_name - Name of the projection to be created, in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria.
  • column_names - List of columns from table_name to be included in the projection. Can include derived columns. Can be specified as aliased via the syntax ‘column_name as alias’.
  • options - The optional parameters; any left unset take the server’s defaults.

Sends a pre-built CreateProjectionRequest to the /create/projection endpoint.

Sends a pre-built CreateProjectionRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.