commit | 7ead2ad9588636001022e357ffb7adb80ba1a542 | [log] [tgz] |
---|---|---|
author | kf zheng <100595273+Kev1n8@users.noreply.github.com> | Sat Sep 07 04:39:58 2024 +0800 |
committer | GitHub <noreply@github.com> | Fri Sep 06 16:39:58 2024 -0400 |
tree | ac2ede5bc7272465b5e313e99adeeb5fa2abfd92 | |
parent | 5756f39d97c2dbedbf8323e54c35514604eeb8e2 [diff] |
Improve StringView support for SUBSTR (#12044) * operate stringview instead of generating string in SUBSTR * treat Utf8View as Text in sqllogictests output * add bench to see enhancement of utf8view against utf8 and large_utf8 * fix a tiny bug * make clippy happy * add tests to cover stringview larger than 12B and correct the code * better comments * fix lint * correct feature setting * avoid expensive utf8 and some other checks * fix lint * remove unnecessary indirection * add optimized_utf8_to_str_type * Simplify type check * Use ByteView * update datafusion-cli.lock * Remove duration override * format toml * refactor the code, using append_view_u128 from arrow * manually collect the views and nulls * remove bench file and fix some comments * fix tiny mistake * Update Cargo.lock --------- Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Website | Guides | API Docs | Chat
Apache 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:
nested_expressions
: functions for working with nested type function such as array_to_string
compression
: reading files compressed with xz2
, bzip2
, flate2
, and zstd
crypto_expressions
: cryptographic functions such as md5
and sha256
datetime_expressions
: date and time functions such as to_timestamp
encoding_expressions
: encode
and decode
functionsparquet
: support for reading the Apache Parquet formatregex_expressions
: regular expression functions, such as regexp_match
unicode_expressions
: Include unicode aware functions such as character_length
unparser
: 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