table_function_flight_info
Action
This table_function_flight_info
action is used to determine the schema of a table function supplied by an Arrow Flight Server. Since table functions can be dynamic based on their paraemters, this action is called with the parameters passed to the table function.
Input Parameters
There is a single msgpack
encoded parameter passed to the action.
struct AirportTableFunctionFlightInfoParameters
{
std::string catalog;
std::string schema_name;
std::string action_name;
std::string parameters;
std::string table_input_schema;
// Specify the point in time information if not specified
// these fields are empty strings.
std::string at_unit;
std::string at_value;
(catalog, schema_name, action_name, parameters, table_input_schema, at_unit, at_value)
MSGPACK_DEFINE_MAP};
The parameters
field contains a serialized Arrow Record Batch with the parameter values. The field names of the record batch are the same as defined by the input schema of the function.
Output Result
The table_function_flight_info
is expected to return a single serialized Arrow FlightInfo
structure, that will then be used to retrieve the data. The custom action of `table_function_flight_info
is used because it allows additional data to be serialized compared with the GetFlightInfo
Arrow RPC method.