Expand description
The scalar, aggregate and window function library.
Rank 7 in the layer rule. See xtask/layers.toml and spec/18-package-layout.md.
Most of what is here is the signature half: given a name and the types of the arguments, which function is that and what does it return. The implementations are separate work and they go behind the same names, so the binder does not change when they arrive.
file is the exception and it reads a file. A table function that scans a Parquet file cannot
be resolved from a table of names, because its columns are in the file, so resolving one means
opening it. That is the only I/O in this crate and it is the reason rudb-io and rudb-parquet
are dependencies of it.
Re-exports§
pub use entrycatalog::DUCKDB;pub use entrycatalog::canonical;pub use entrycatalog::column_fields;pub use entrycatalog::database_fields;pub use entrycatalog::numeric_facts;pub use entrycatalog::schema_fields;pub use entrycatalog::table_fields;pub use entrycatalog::view_fields;pub use file::csv_fields;pub use file::csv_given;pub use file::files;pub use file::is_file;pub use file::is_pattern;pub use file::open_csv;pub use file::open_parquet;pub use file::parquet_fields;pub use functioncatalog::CONSISTENT;pub use functioncatalog::FUNCTION_CATALOG;pub use functioncatalog::FUNCTION_SCHEMA;pub use functioncatalog::FunctionEntry;pub use functioncatalog::function_entries;pub use functioncatalog::function_fields;pub use settingcatalog::GLOBAL;pub use settingcatalog::SETTINGS;pub use settingcatalog::SettingEntry;pub use settingcatalog::setting_fields;pub use settingcatalog::setting_named;pub use settingcatalog::unknown_setting;pub use signature::FunctionKind;pub use signature::FunctionRow;pub use signature::Resolved;pub use signature::function_rows;pub use signature::kind_of;pub use signature::part_type;pub use signature::resolve;pub use table::Columns;pub use table::FILE_ROW_NUMBER;pub use table::ResolvedTable;pub use table::TableFunction;pub use table::database_size_fields;pub use table::dialect_fields;pub use table::extension_fields;pub use table::grammar_extension_fields;pub use table::keyword_categories;pub use table::keyword_fields;pub use table::optimizer_fields;pub use table::platform_fields;pub use table::resolve_pragma;pub use table::resolve_table;pub use table::series;pub use table::series_length;pub use table::strategy_fields;pub use table::user_agent_fields;pub use table::version_fields;pub use typecatalog::Signature;pub use typecatalog::TYPE_NAMES;pub use typecatalog::TypeEntry;pub use typecatalog::representative;pub use typecatalog::sort_key;pub use typecatalog::type_category;pub use typecatalog::type_fields;pub use typecatalog::type_oid;pub use typecatalog::type_size;
Modules§
- entrycatalog
- The columns of the tables that describe what somebody created.
- file
- The table functions that read a file, which today are
read_parquetandread_csv. - functioncatalog
- What
duckdb_functions()says about each function this engine knows. - settingcatalog
- What
duckdb_settings()says about each setting this engine has. - signature
- What a function call resolves to.
- table
- What a table function call resolves to.
- typecatalog
- What
duckdb_types()says about each type name this engine knows.
Structs§
- Given
- What the caller said about how the file is written, where the sniffer would otherwise decide.