| commit | 1fa25ae5d50c5f34f17e77e9f635f854ef5e7642 | [log] [tgz] |
|---|---|---|
| author | wiedld <wiedld@users.noreply.github.com> | Sun Mar 31 05:09:06 2024 -0700 |
| committer | Andy Grove <andygrove73@gmail.com> | Sun Mar 31 13:52:41 2024 -0600 |
| tree | 37bae0618c1aaf6304f5f5b1766b7bf5848d78e4 | |
| parent | 799be5e76bd631608b2357dbbe600afc2cebc359 [diff] |
fix(9870): common expression elimination optimization, should always re-find the correct expression during re-write. (#9871) * test(9870): reproducer of error with jumping traversal patterns in common-expr-elimination traversals * refactor: remove the IdArray ordered idx, since the idx ordering does not always stay in sync with the updated TreeNode traversal * refactor: use the only reproducible key (expr_identifer) for expr_set, while keeping the (stack-popped) symbol used for alias. * refactor: encapsulate most of the logic within ExprSet, and delineate the expr_identifier from the alias symbol * test(9870): demonstrate that the sqllogictests are now passing
Website | Guides | API Docs | Chat
DataFusion is a very fast, extensible query engine for building high-quality data-centric systems in Rust, using the Apache Arrow in-memory format. Python Bindings are also available. DataFusion offers SQL and Dataframe APIs, excellent performance, built-in support for CSV, Parquet, JSON, and Avro, extensive customization, and a great community.
Here are links to some important information
DataFusion is great for building projects such as domain specific query engines, new database platforms and data pipelines, query languages and more. It lets you start quickly from a fully working engine, and then customize those features specific to your use. Click Here to see a list known users.
Please see the contributor guide and communication pages for more information.
This crate has several features which can be specified in your Cargo.toml.
Default features:
array_expressions: functions for working with arrays such as array_to_stringcompression: reading files compressed with xz2, bzip2, flate2, and zstdcrypto_expressions: cryptographic functions such as md5 and sha256datetime_expressions: date and time functions such as to_timestampencoding_expressions: encode and decode functionsparquet: support for reading the Apache Parquet formatregex_expressions: regular expression functions, such as regexp_matchunicode_expressions: Include unicode aware functions such as character_lengthunparser : enables support to reverse LogicalPlans back into SQLOptional features:
avro: support for reading the Apache Avro formatbacktrace: include backtrace information in error messagespyarrow: conversions between PyArrow and DataFusion typesserde: enable arrow-schema's serde featureDataFusion's Minimum Required Stable Rust Version (MSRV) policy is to support each stable Rust version for 6 months after it is released. This generally translates to support for the most recent 3 to 4 stable Rust versions.
We enforce this policy using a MSRV CI Check