Execute a proc
Executes a proc. This endpoint is asynchronous and does not wait for the proc to complete before returning.
If the proc being executed is distributed, input_table_names and input_column_names may be passed to the proc to use for reading data, and output_table_names may be passed to the proc to use for writing data.
If the proc being executed is non-distributed, these table parameters will be ignored.
proc_name- Name of the proc to execute. Must be the name of a currently existing proc.params- A map containing named parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value.bin_params- A map containing named binary parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value.input_table_names- Names of the tables containing data to be passed to the proc. Each name specified must be the name of a currently existing table, in [schema_name.]table_name format, using standard name resolution rules. If no table names are specified, no data will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode.input_column_names- Map of table names frominput_table_namesto lists of names of columns from those tables that will be passed to the proc. Each column name specified must be the name of an existing column in the corresponding table. If a table name frominput_table_namesis not included, all columns from that table will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode.output_table_names- Names of the tables to which output data from the proc will be written, each in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. If a specified table does not exist, it will automatically be created with the same schema as the corresponding table (by order) frominput_table_names, excluding any primary and shard keys. If a specified table is a non-persistent result table, it must not have primary or shard keys. If no table names are specified, no output data can be returned from the proc. This parameter is ignored if the proc has a non-distributed execution mode.
pub async fn execute_proc_with_opts( &self, proc_name: String, params: HashMap<String, String>, bin_params: HashMap<String, ByteBuf>, input_table_names: Vec<String>, input_column_names: HashMap<String, Vec<String>>, output_table_names: Vec<String>, options: ExecuteProcRequestOptions, ) -> Result<ExecuteProcResponse, KineticaError>
Execute a proc
Executes a proc. This endpoint is asynchronous and does not wait for the proc to complete before returning.
If the proc being executed is distributed, input_table_names and input_column_names may be passed to the proc to use for reading data, and output_table_names may be passed to the proc to use for writing data.
If the proc being executed is non-distributed, these table parameters will be ignored.
proc_name- Name of the proc to execute. Must be the name of a currently existing proc.params- A map containing named parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value.bin_params- A map containing named binary parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value.input_table_names- Names of the tables containing data to be passed to the proc. Each name specified must be the name of a currently existing table, in [schema_name.]table_name format, using standard name resolution rules. If no table names are specified, no data will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode.input_column_names- Map of table names frominput_table_namesto lists of names of columns from those tables that will be passed to the proc. Each column name specified must be the name of an existing column in the corresponding table. If a table name frominput_table_namesis not included, all columns from that table will be passed to the proc. This parameter is ignored if the proc has a non-distributed execution mode.output_table_names- Names of the tables to which output data from the proc will be written, each in [schema_name.]table_name format, using standard name resolution rules and meeting table naming criteria. If a specified table does not exist, it will automatically be created with the same schema as the corresponding table (by order) frominput_table_names, excluding any primary and shard keys. If a specified table is a non-persistent result table, it must not have primary or shard keys. If no table names are specified, no output data can be returned from the proc. This parameter is ignored if the proc has a non-distributed execution mode.options- The optional parameters; any left unset take the server’s defaults.
pub async fn execute_proc_raw( &self, request: &ExecuteProcRequest, ) -> Result<ExecuteProcResponse, KineticaError>
Sends a pre-built ExecuteProcRequest to the /execute/proc endpoint.
pub async fn execute_proc_from_url( &self, url: &str, request: &ExecuteProcRequest, ) -> Result<ExecuteProcResponse, KineticaError>
Sends a pre-built ExecuteProcRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.