Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::TableFunction Class Reference
Inheritance diagram for duckdb::TableFunction:
Collaboration diagram for duckdb::TableFunction:

Public Member Functions

DUCKDB_API TableFunction (string name, const vector< LogicalType > &arguments, table_function_t function, table_function_bind_t bind=nullptr, table_function_init_global_t init_global=nullptr, table_function_init_local_t init_local=nullptr)
 
DUCKDB_API TableFunction (const vector< LogicalType > &arguments, table_function_t function, table_function_bind_t bind=nullptr, table_function_init_global_t init_global=nullptr, table_function_init_local_t init_local=nullptr)
 
DUCKDB_API TableFunction (string name, const vector< LogicalType > &arguments, std::nullptr_t function, table_function_bind_t bind=nullptr, table_function_init_global_t init_global=nullptr, table_function_init_local_t init_local=nullptr)
 
DUCKDB_API TableFunction (const vector< LogicalType > &arguments, std::nullptr_t function, table_function_bind_t bind=nullptr, table_function_init_global_t init_global=nullptr, table_function_init_local_t init_local=nullptr)
 
bool HasBindCallback () const
 
table_function_bind_t GetBindCallback () const
 
bool HasSerializationCallbacks () const
 
void SetSerializeCallback (table_function_serialize_t callback)
 
void SetDeserializeCallback (table_function_deserialize_t callback)
 
table_function_serialize_t GetSerializeCallback () const
 
table_function_deserialize_t GetDeserializeCallback () const
 
DUCKDB_API bool Equal (const TableFunction &rhs) const
 
DUCKDB_API bool operator== (const TableFunction &rhs) const
 
DUCKDB_API bool operator!= (const TableFunction &rhs) const
 
- Public Member Functions inherited from duckdb::SimpleNamedParameterFunction
DUCKDB_API SimpleNamedParameterFunction (string name, vector< LogicalType > arguments, LogicalType varargs=LogicalType(LogicalTypeId::INVALID))
 
DUCKDB_API string ToString () const override
 
DUCKDB_API bool HasNamedParameters () const
 
- Public Member Functions inherited from duckdb::SimpleFunction
DUCKDB_API SimpleFunction (string name, vector< LogicalType > arguments, LogicalType varargs=LogicalType(LogicalTypeId::INVALID))
 
DUCKDB_API bool HasVarArgs () const
 
- Public Member Functions inherited from duckdb::Function
DUCKDB_API Function (string name)
 

Public Attributes

table_function_bind_t bind
 
table_function_bind_replace_t bind_replace
 
table_function_bind_operator_t bind_operator
 
table_function_init_global_t init_global
 
table_function_init_local_t init_local
 
table_function_t function
 The main function.
 
table_in_out_function_t in_out_function
 The table in-out function (if this is an in-out function)
 
table_in_out_function_final_t in_out_function_final
 The table in-out final function (if this is an in-out function)
 
table_statistics_t statistics
 
table_statistics_extended_t statistics_extended
 
table_function_dependency_t dependency
 
table_function_cardinality_t cardinality
 
table_function_rows_scanned_t rows_scanned
 (Optional) returns the number of rows that have benn scanned
 
table_function_pushdown_complex_filter_t pushdown_complex_filter
 
table_function_pushdown_expression_t pushdown_expression
 (Optional) whether or not this table function supports pushing down an expression into a TableFilter
 
table_function_to_string_t to_string
 (Optional) function for rendering the operator to a string in explain/profiling output (invoked pre-execution)
 
table_function_dynamic_to_string_t dynamic_to_string
 (Optional) function for rendering the operator to a string in profiling output (invoked post-execution)
 
table_function_progress_t table_scan_progress
 (Optional) return how much of the table we have scanned up to this point (% of the data)
 
table_function_get_partition_data_t get_partition_data
 (Optional) returns the partition info of the current scan operator
 
table_function_get_bind_info_t get_bind_info
 (Optional) returns extra bind info
 
table_function_type_pushdown_t type_pushdown
 (Optional) pushes down type information to scanner, returns true if pushdown was successful
 
table_function_get_multi_file_reader_t get_multi_file_reader
 (Optional) allows injecting a custom MultiFileReader implementation
 
table_function_supports_pushdown_type_t supports_pushdown_type
 (Optional) If this scanner supports filter pushdown, but not to all data types
 
table_function_supports_pushdown_extract_t supports_pushdown_extract
 (Optional) If this scanner supports projection pushdown of struct extracts
 
table_function_get_partition_info_t get_partition_info
 Get partition info of the table.
 
table_function_get_partition_stats_t get_partition_stats
 (Optional) get a list of all the partition stats of the table
 
table_function_get_virtual_columns_t get_virtual_columns
 (Optional) returns a list of virtual columns emitted by the table function
 
table_function_get_row_id_columns get_row_id_columns
 (Optional) returns a list of row id columns
 
table_function_set_scan_order set_scan_order
 (Optional) sets the order to scan the row groups in
 
table_function_serialize_t serialize
 
table_function_deserialize_t deserialize
 
bool verify_serialization = true
 
bool projection_pushdown
 
bool filter_pushdown
 
bool filter_prune
 
bool sampling_pushdown
 
bool late_materialization
 Whether or not the table function supports late materialization.
 
shared_ptr< TableFunctionInfofunction_info
 Additional function info, passed to the bind.
 
OrderPreservationType order_preservation_type = OrderPreservationType::INSERTION_ORDER
 The order preservation type of the table function.
 
TableFunctionInitialization global_initialization = TableFunctionInitialization::INITIALIZE_ON_EXECUTE
 
- Public Attributes inherited from duckdb::SimpleNamedParameterFunction
named_parameter_type_map_t named_parameters
 The named parameters of the function.
 
- Public Attributes inherited from duckdb::SimpleFunction
vector< LogicalTypearguments
 The set of arguments of the function.
 
vector< LogicalTypeoriginal_arguments
 
LogicalType varargs
 
- Public Attributes inherited from duckdb::Function
string name
 The name of the function.
 
string extra_info
 Additional Information to specify function from it's name.
 
string catalog_name
 
string schema_name
 

Additional Inherited Members

- Static Public Member Functions inherited from duckdb::Function
static DUCKDB_API string CallToString (const string &catalog_name, const string &schema_name, const string &name, const vector< LogicalType > &arguments, const LogicalType &varargs=LogicalType::INVALID)
 Returns the formatted string name(arg1, arg2, ...)
 
static DUCKDB_API string CallToString (const string &catalog_name, const string &schema_name, const string &name, const vector< LogicalType > &arguments, const LogicalType &varargs, const LogicalType &return_type)
 Returns the formatted string name(arg1, arg2..) -> return_type.
 
static DUCKDB_API string CallToString (const string &catalog_name, const string &schema_name, const string &name, const vector< LogicalType > &arguments, const named_parameter_type_map_t &named_parameters)
 Returns the formatted string name(arg1, arg2.., np1=a, np2=b, ...)
 
static DUCKDB_API void EraseArgument (SimpleFunction &bound_function, vector< unique_ptr< Expression > > &arguments, idx_t argument_index)
 Used in the bind to erase an argument from a function.
 

Member Function Documentation

◆ HasBindCallback()

bool duckdb::TableFunction::HasBindCallback ( ) const
inline
26520 {
26521 return bind != nullptr;
26522 }
table_function_bind_t bind
Definition duckdb.hpp:26545

◆ GetBindCallback()

table_function_bind_t duckdb::TableFunction::GetBindCallback ( ) const
inline
26523 {
26524 return bind;
26525 }

◆ HasSerializationCallbacks()

bool duckdb::TableFunction::HasSerializationCallbacks ( ) const
inline
26526 {
26527 return serialize != nullptr && deserialize != nullptr;
26528 }

◆ SetSerializeCallback()

void duckdb::TableFunction::SetSerializeCallback ( table_function_serialize_t  callback)
inline
26529 {
26530 serialize = callback;
26531 }

◆ SetDeserializeCallback()

void duckdb::TableFunction::SetDeserializeCallback ( table_function_deserialize_t  callback)
inline
26532 {
26533 deserialize = callback;
26534 }

◆ GetSerializeCallback()

table_function_serialize_t duckdb::TableFunction::GetSerializeCallback ( ) const
inline
26535 {
26536 return serialize;
26537 }

◆ GetDeserializeCallback()

table_function_deserialize_t duckdb::TableFunction::GetDeserializeCallback ( ) const
inline
26538 {
26539 return deserialize;
26540 }

Member Data Documentation

◆ bind

table_function_bind_t duckdb::TableFunction::bind

Bind function This function is used for determining the return type of a table producing function and returning bind data The returned FunctionData object should be constant and should not be changed during execution.

◆ bind_replace

table_function_bind_replace_t duckdb::TableFunction::bind_replace

(Optional) Bind replace function This function is called before the regular bind function. It allows returning a TableRef that will be used to to generate a logical plan that replaces the LogicalGet of a regularly bound TableFunction. The BindReplace can also return a nullptr to indicate a regular bind needs to be performed instead.

◆ bind_operator

table_function_bind_operator_t duckdb::TableFunction::bind_operator

(Optional) Bind operator function This function is called before the regular bind function - similar to bind_replace - but allows returning a custom LogicalOperator instead.

◆ init_global

table_function_init_global_t duckdb::TableFunction::init_global

(Optional) global init function Initialize the global operator state of the function. The global operator state is used to keep track of the progress in the table function and is shared between all threads working on the table function.

◆ init_local

table_function_init_local_t duckdb::TableFunction::init_local

(Optional) local init function Initialize the local operator state of the function. The local operator state is used to keep track of the progress in the table function and is thread-local.

◆ statistics

table_statistics_t duckdb::TableFunction::statistics

(Optional) statistics function Returns the statistics of a specified column

◆ statistics_extended

table_statistics_extended_t duckdb::TableFunction::statistics_extended

(Optional) statistics function fed a ColumnIndex instead of a column_t Returns the statistics of a specified column

◆ dependency

table_function_dependency_t duckdb::TableFunction::dependency

(Optional) dependency function Sets up which catalog entries this table function depend on

◆ cardinality

table_function_cardinality_t duckdb::TableFunction::cardinality

(Optional) cardinality function Returns the expected cardinality of this scan

◆ pushdown_complex_filter

table_function_pushdown_complex_filter_t duckdb::TableFunction::pushdown_complex_filter

(Optional) pushdown a set of arbitrary filter expressions, rather than only simple comparisons with a constant Any functions remaining in the expression list will be pushed as a regular filter after the scan

◆ projection_pushdown

bool duckdb::TableFunction::projection_pushdown

Whether or not the table function supports projection pushdown. If not supported a projection will be added that filters out unused columns.

◆ filter_pushdown

bool duckdb::TableFunction::filter_pushdown

Whether or not the table function supports filter pushdown. If not supported a filter will be added that applies the table filter directly.

◆ filter_prune

bool duckdb::TableFunction::filter_prune

Whether or not the table function can immediately prune out filter columns that are unused in the remainder of the query plan, e.g., "SELECT i FROM tbl WHERE j = 42;" - j does not need to leave the table function at all

◆ sampling_pushdown

bool duckdb::TableFunction::sampling_pushdown

Whether or not the table function supports sampling pushdown. If not supported a sample will be taken after the table function.

◆ global_initialization

TableFunctionInitialization duckdb::TableFunction::global_initialization = TableFunctionInitialization::INITIALIZE_ON_EXECUTE

When to call init_global By default init_global is called when the pipeline is ready for execution If this is set to INITIALIZE_ON_SCHEDULE the table function is initialized when the query is scheduled


The documentation for this class was generated from the following file: