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 parameter input_table_names and input parameter input_column_names may be passed to the proc to use for reading data, and input parameter 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.
Parameters
Name of the proc to execute. Must be the name of a currently existing proc.
A map containing named parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty dict ( ).
A map containing named binary parameters to pass to the proc. Each key/value pair specifies the name of a parameter and its value. The default value is an empty dict ( ).
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. The default value is an empty list ( [] ). The user can provide a single element (which will be automatically promoted to a list internally) or a list.
Map of table names from input parameter input_table_names to 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 from input parameter input_table_names is 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. The default value is an empty dict ( ).
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) from input parameter input_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. The default value is an empty list ( [] ). The user can provide a single element (which will be automatically promoted to a list internally) or a list.
Optional parameters. Allowed keys are:
cache_input – No longer supported; option will be ignored. The default value is ‘’.
use_cached_input – No longer supported; option will be ignored. The default value is ‘’.
run_tag – A string that, if not empty, can be used in subsequent calls to
GPUdb.show_proc_status()orGPUdb.kill_proc()to identify the proc instance. The default value is ‘’.max_output_lines – The maximum number of lines of output from stdout and stderr to return via
GPUdb.show_proc_status(). If the number of lines output exceeds the maximum, earlier lines are discarded. The default value is ‘100’.execute_at_startup – If true, an instance of the proc will run when the database is started instead of running immediately. The output parameter run_id can be retrieved using
GPUdb.show_proc()and used inGPUdb.show_proc_status(). Allowed values are:true
false
The default value is ‘false’.
execute_at_startup_as – Sets the alternate user name to execute this proc instance as when execute_at_startup is true. The default value is ‘’.
The default value is an empty dict ( ).
Returns
A dict with the following entries–
The run ID of the running proc instance. This may be passed to GPUdb.show_proc_status() to obtain status information, or GPUdb.kill_proc() to kill the proc instance.
Additional information. Allowed keys are:
deferred_tables – <DEVELOPER>
The default value is an empty dict ( ).