diff --git a/dask_planner/.cargo/config.toml b/.cargo/config.toml
similarity index 100%
rename from dask_planner/.cargo/config.toml
rename to .cargo/config.toml
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 527d01fa2..1ff63a673 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -2,4 +2,7 @@
* @ayushdg @charlesbluca @galipremsagar
# rust codeowners
-dask_planner/ @ayushdg @charlesbluca @galipremsagar @jdye64
+.cargo/ @ayushdg @charlesbluca @galipremsagar @jdye64
+src/ @ayushdg @charlesbluca @galipremsagar @jdye64
+Cargo.toml @ayushdg @charlesbluca @galipremsagar @jdye64
+Cargo.lock @ayushdg @charlesbluca @galipremsagar @jdye64
diff --git a/.github/workflows/conda.yml b/.github/workflows/conda.yml
index 78253db6b..d67798646 100644
--- a/.github/workflows/conda.yml
+++ b/.github/workflows/conda.yml
@@ -6,10 +6,9 @@ on:
pull_request:
paths:
- setup.py
- - dask_planner/Cargo.toml
- - dask_planner/Cargo.lock
- - dask_planner/pyproject.toml
- - dask_planner/rust-toolchain.toml
+ - Cargo.toml
+ - Cargo.lock
+ - pyproject.toml
- continuous_integration/recipe/**
- .github/workflows/conda.yml
schedule:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1ee1e6397..7a837af3b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -60,21 +60,21 @@ jobs:
CARGO_NET_GIT_FETCH_WITH_CLI="true"
PATH="$HOME/.cargo/bin:$HOME/.local/bin:$PATH"
CIBW_ENVIRONMENT_WINDOWS: 'PATH="$UserProfile\.cargo\bin;$PATH"'
- CIBW_BEFORE_BUILD: 'pip install -U setuptools-rust'
+ CIBW_BEFORE_BUILD: 'pip install -U "maturin>=0.15,<0.16"'
CIBW_BEFORE_BUILD_LINUX: >
ARCH=$([ $(uname -m) == x86_64 ] && echo x86_64 || echo aarch_64) &&
DOWNLOAD_URL=$(curl --retry 6 --retry-delay 10 -s https://api.github.com/repos/protocolbuffers/protobuf/releases/latest | grep -o '"browser_download_url": "[^"]*' | cut -d'"' -f4 | grep "\linux-${ARCH}.zip$") &&
curl --retry 6 --retry-delay 10 -LO $DOWNLOAD_URL &&
unzip protoc-*-linux-$ARCH.zip -d $HOME/.local &&
protoc --version &&
- pip install -U setuptools-rust &&
+ pip install -U "maturin>=0.15,<0.16" &&
pip list &&
curl --retry 6 --retry-delay 10 https://sh.rustup.rs -sSf | sh -s -- --default-toolchain=stable --profile=minimal -y &&
rustup show
with:
package-dir: .
output-dir: dist
- config-file: "dask_planner/pyproject.toml"
+ config-file: "pyproject.toml"
- name: Set up Python
uses: conda-incubator/setup-miniconda@v2.2.0
with:
@@ -127,7 +127,7 @@ jobs:
channel-priority: strict
- name: Build source distribution
run: |
- mamba install setuptools-rust twine
+ mamba install "maturin>=0.15,<0.16" twine
python setup.py sdist
- name: Check dist files
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 7e983172b..a9eeab1ab 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -51,7 +51,6 @@ jobs:
- name: Optionally update upstream dependencies
if: needs.detect-ci-trigger.outputs.triggered == 'true'
run: |
- cd dask_planner
bash update-dependencies.sh
- name: Install Protoc
uses: arduino/setup-protoc@v1
@@ -60,11 +59,9 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check workspace in debug mode
run: |
- cd dask_planner
cargo check
- name: Check workspace in release mode
run: |
- cd dask_planner
cargo check --release
# test the crate
@@ -84,7 +81,6 @@ jobs:
- name: Optionally update upstream dependencies
if: needs.detect-ci-trigger.outputs.triggered == 'true'
run: |
- cd dask_planner
bash update-dependencies.sh
- name: Install Protoc
uses: arduino/setup-protoc@v1
@@ -93,5 +89,4 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
run: |
- cd dask_planner
cargo test
diff --git a/.github/workflows/test-upstream.yml b/.github/workflows/test-upstream.yml
index ff0296b15..7c231c929 100644
--- a/.github/workflows/test-upstream.yml
+++ b/.github/workflows/test-upstream.yml
@@ -68,11 +68,10 @@ jobs:
- name: Optionally update upstream cargo dependencies
if: env.which_upstream == 'DataFusion'
run: |
- cd dask_planner
bash update-dependencies.sh
- name: Build the Rust DataFusion bindings
run: |
- python setup.py build install
+ maturin develop
- name: Install hive testing dependencies
if: matrix.os == 'ubuntu-latest'
run: |
@@ -122,11 +121,9 @@ jobs:
env:
UPDATE_ALL_CARGO_DEPS: false
run: |
- cd dask_planner
bash update-dependencies.sh
- name: Install dependencies and nothing else
run: |
- mamba install setuptools-rust
pip install -e . -vv
which python
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index be2d98126..b3ec34a76 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -72,7 +72,7 @@ jobs:
shared-key: test
- name: Build the Rust DataFusion bindings
run: |
- python setup.py build install
+ maturin develop
- name: Install hive testing dependencies
if: matrix.os == 'ubuntu-latest'
run: |
@@ -116,7 +116,6 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies and nothing else
run: |
- mamba install "setuptools-rust>=1.5.2"
pip install -e . -vv
which python
diff --git a/.gitignore b/.gitignore
index 245817fc1..d41df8a68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,23 +46,15 @@ venv
# IDE
.idea
.vscode
-planner/.classpath
-planner/.project
-planner/.settings/
-planner/.idea
-planner/*.iml
*.swp
# project specific
-planner/dependency-reduced-pom.xml
-planner/target/
-dask_sql/jar
-.next/
dask-worker-space/
node_modules/
docs/source/_build/
tests/unit/queries
tests/unit/data
+target/*
# Ignore development specific local testing files
dev_tests
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ed701014a..094c4ada1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -20,9 +20,9 @@ repos:
rev: v1.0
hooks:
- id: cargo-check
- args: ['--manifest-path', './dask_planner/Cargo.toml', '--verbose', '--']
+ args: ['--manifest-path', './Cargo.toml', '--verbose', '--']
- id: clippy
- args: ['--manifest-path', './dask_planner/Cargo.toml', '--verbose', '--', '-D', 'warnings']
+ args: ['--manifest-path', './Cargo.toml', '--verbose', '--', '-D', 'warnings']
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
hooks:
@@ -39,4 +39,4 @@ repos:
entry: cargo +nightly fmt
language: system
types: [rust]
- args: ['--manifest-path', './dask_planner/Cargo.toml', '--verbose', '--']
+ args: ['--manifest-path', './Cargo.toml', '--verbose', '--']
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9ab31230f..a6cd56c59 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -49,7 +49,7 @@ Note that while `setuptools-rust` is used by CI and should be used during your d
Building Dask-SQL is straightforward with Python. To build run ```python setup.py install```. This will build both the Rust and Python codebase and install it into your locally activated conda environment. While not required, if you have updated dependencies for Rust you might prefer a clean build. To clean your setup run ```python setup.py clean``` and then run ```python setup.py install```
#### DataFusion Modules
-DataFusion is broken down into a few modules. We consume those modules in our [Cargo.toml](dask_planner/Cargo.toml). The modules that we use currently are
+DataFusion is broken down into a few modules. We consume those modules in our [Cargo.toml](Cargo.toml). The modules that we use currently are
- `datafusion-common` - Datastructures and core logic
- `datafusion-expr` - Expression based logic and operators
@@ -57,7 +57,7 @@ DataFusion is broken down into a few modules. We consume those modules in our [C
- `datafusion-optimizer` - Optimization logic and datastructures for modifying current plans into more efficient ones.
#### Retrieving Upstream Dependencies
-During development you might find yourself needing some upstream DataFusion changes not present in the projects current version. Luckily this can easily be achieved by updating [Cargo.toml](dask_planner/Cargo.toml) and changing the `rev` to the SHA of the version you need. Note that the same SHA should be used for all DataFusion modules.
+During development you might find yourself needing some upstream DataFusion changes not present in the projects current version. Luckily this can easily be achieved by updating [Cargo.toml](Cargo.toml) and changing the `rev` to the SHA of the version you need. Note that the same SHA should be used for all DataFusion modules.
After updating the `Cargo.toml` file the codebase can be re-built to reflect those changes by running `python setup.py install`
@@ -72,40 +72,40 @@ Sometimes when building against the latest Github commits for DataFusion you may
### Datastructures
While working in the Rust codebase there are a few datastructures that you should make yourself familiar with. This section does not aim to verbosely list out all of the datastructure with in the project but rather just the key datastructures that you are likely to encounter while working on almost any feature/issue. The aim is to give you a better overview of the codebase without having to manually dig through the all the source code.
-- [`PyLogicalPlan`](dask_planner/src/sql/logical.rs) -> [DataFusion LogicalPlan](https://docs.rs/datafusion/latest/datafusion/logical_plan/enum.LogicalPlan.html)
+- [`PyLogicalPlan`](src/sql/logical.rs) -> [DataFusion LogicalPlan](https://docs.rs/datafusion/latest/datafusion/logical_plan/enum.LogicalPlan.html)
- Often encountered in Python code with variable name `rel`
- Python serializable umbrella representation of the entire LogicalPlan that was generated by DataFusion
- Provides access to `DaskTable` instances and type information for each table
- Access to individual nodes in the logical plan tree. Ex: `TableScan`
-- [`DaskSQLContext`](dask_planner/src/sql.rs)
+- [`DaskSQLContext`](src/sql.rs)
- Analogous to Python `Context`
- Contains metadata about the tables, schemas, functions, operators, and configurations that are persent within the current execution context
- When adding custom functions/UDFs this is the location that you would register them
- Entry point for parsing SQL strings to sql node trees. This is the location Python will begin its interactions with Rust
-- [`PyExpr`](dask_planner/src/expression.rs) -> [DataFusion Expr](https://docs.rs/datafusion/latest/datafusion/prelude/enum.Expr.html)
+- [`PyExpr`](src/expression.rs) -> [DataFusion Expr](https://docs.rs/datafusion/latest/datafusion/prelude/enum.Expr.html)
- Arguably where most of your time will be spent
- Represents a single node in sql tree. Ex: `avg(age)` from `SELECT avg(age) FROM people`
- Is associate with a single `RexType`
- Can contain literal values or represent function calls, `avg()` for example
- The expressions "index" in the tree can be retrieved by calling `PyExpr.index()` on an instance. This is useful when mapping frontend column names in Dask code to backend Dataframe columns
- Certain `PyExpr`s contain operands. Ex: `2 + 2` would contain 3 operands. 1) A literal `PyExpr` instance with value 2 2) Another literal `PyExpr` instance with a value of 2. 3) A `+` `PyExpr` representing the addition of the 2 literals.
-- [`DaskSqlOptimizer`](dask_planner/src/sql/optimizer.rs)
+- [`DaskSqlOptimizer`](src/sql/optimizer.rs)
- Registering location for all Dask-SQL specific logical plan optimizations
- Optimizations that are written either custom or use from another source, DataFusion, are registered here in the order they are wished to be executed
- Represents functions that modify/convert an original `PyLogicalPlan` into another `PyLogicalPlan` that would be more efficient when running in the underlying Dask framework
-- [`RelDataType`](dask_planner/src/sql/types/rel_data_type.rs)
+- [`RelDataType`](src/sql/types/rel_data_type.rs)
- Not a fan of this name, was chosen to match existing Calcite logic
- Represents a "row" in a table
- Contains a list of "columns" that are present in that row
- - [RelDataTypeField](dask_planner/src/sql/types/rel_data_type_field.rs)
-- [RelDataTypeField](dask_planner/src/sql/types/rel_data_type_field.rs)
+ - [RelDataTypeField](src/sql/types/rel_data_type_field.rs)
+- [RelDataTypeField](src/sql/types/rel_data_type_field.rs)
- Represents an individual column in a table
- Contains:
- `qualifier` - schema the field belongs to
- `name` - name of the column/field
- `data_type` - `DaskTypeMap` instance containing information about the SQL type and underlying Arrow DataType
- `index` - location of the field in the LogicalPlan
-- [DaskTypeMap](dask_planner/src/sql/types.rs)
+- [DaskTypeMap](src/sql/types.rs)
- Maps a conventional SQL type to an underlying Arrow DataType
diff --git a/dask_planner/Cargo.lock b/Cargo.lock
similarity index 64%
rename from dask_planner/Cargo.lock
rename to Cargo.lock
index bfa4e2c89..ad28ac4d6 100644
--- a/dask_planner/Cargo.lock
+++ b/Cargo.lock
@@ -2,6 +2,15 @@
# It is not intended for manual editing.
version = 3
+[[package]]
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
[[package]]
name = "adler"
version = "1.0.2"
@@ -29,9 +38,9 @@ dependencies = [
[[package]]
name = "aho-corasick"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
dependencies = [
"memchr",
]
@@ -51,6 +60,18 @@ dependencies = [
"alloc-no-stdlib",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
[[package]]
name = "android_system_properties"
version = "0.1.5"
@@ -62,9 +83,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.71"
+version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
[[package]]
name = "apache-avro"
@@ -85,8 +106,8 @@ dependencies = [
"serde",
"serde_json",
"snap",
- "strum",
- "strum_macros",
+ "strum 0.24.1",
+ "strum_macros 0.24.3",
"thiserror",
"typed-builder",
"uuid",
@@ -107,15 +128,15 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
[[package]]
name = "arrayvec"
-version = "0.7.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
name = "arrow"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "990dfa1a9328504aa135820da1c95066537b69ad94c04881b785f64328e0fa6b"
+checksum = "773d18d72cd290f3f9e2149a714c8ac404b6c3fd614c684f0015449940fca899"
dependencies = [
"ahash",
"arrow-arith",
@@ -136,9 +157,9 @@ dependencies = [
[[package]]
name = "arrow-arith"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2b2e52de0ab54173f9b08232b7184c26af82ee7ab4ac77c83396633c90199fa"
+checksum = "93bc0da4b22ba63807fa2a74998e21209179c93c67856ae65d9218b81f3ef918"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -151,9 +172,9 @@ dependencies = [
[[package]]
name = "arrow-array"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e10849b60c17dbabb334be1f4ef7550701aa58082b71335ce1ed586601b2f423"
+checksum = "ea9a0fd21121304cad96f307c938d861cb1e7f0c151b93047462cd9817d760fb"
dependencies = [
"ahash",
"arrow-buffer",
@@ -162,15 +183,15 @@ dependencies = [
"chrono",
"chrono-tz",
"half",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
"num",
]
[[package]]
name = "arrow-buffer"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0746ae991b186be39933147117f8339eb1c4bbbea1c8ad37e7bf5851a1a06ba"
+checksum = "30ce342ecf5971004e23cef8b5fb3bacd2bbc48a381464144925074e1472e9eb"
dependencies = [
"half",
"num",
@@ -178,9 +199,9 @@ dependencies = [
[[package]]
name = "arrow-cast"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b88897802515d7b193e38b27ddd9d9e43923d410a9e46307582d756959ee9595"
+checksum = "4b94a0ce7d27abbb02e2ee4db770f593127610f57b32625b0bc6a1a90d65f085"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -189,15 +210,16 @@ dependencies = [
"arrow-select",
"chrono",
"comfy-table",
+ "half",
"lexical-core",
"num",
]
[[package]]
name = "arrow-csv"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c8220d9741fc37961262710ceebd8451a5b393de57c464f0267ffdda1775c0a"
+checksum = "0f3be10a00a43c4bf0d243c070754ebdde17c5d576b4928d9c3efbe3005a3853"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -214,9 +236,9 @@ dependencies = [
[[package]]
name = "arrow-data"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "533f937efa1aaad9dc86f6a0e382c2fa736a4943e2090c946138079bdf060cef"
+checksum = "1d9a83dad6a53d6907765106d3bc61d6d9d313cfe1751701b3ef0948e7283dc2"
dependencies = [
"arrow-buffer",
"arrow-schema",
@@ -226,9 +248,9 @@ dependencies = [
[[package]]
name = "arrow-ipc"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18b75296ff01833f602552dff26a423fc213db8e5049b540ca4a00b1c957e41c"
+checksum = "a46da5e438a854e0386b38774da88a98782c0973c6dbc5c949ca4e02faf9b016"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -240,9 +262,9 @@ dependencies = [
[[package]]
name = "arrow-json"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e501d3de4d612c90677594896ca6c0fa075665a7ff980dc4189bb531c17e19f6"
+checksum = "d5f27a1fbc76553ad92dc1a9583e56b7058d8c418c4089b0b689f5b87e2da5e1"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -251,17 +273,18 @@ dependencies = [
"arrow-schema",
"chrono",
"half",
- "indexmap",
+ "indexmap 1.9.3",
"lexical-core",
"num",
+ "serde",
"serde_json",
]
[[package]]
name = "arrow-ord"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33d2671eb3793f9410230ac3efb0e6d36307be8a2dac5fad58ac9abde8e9f01e"
+checksum = "f2373661f6c2233e18f6fa69c40999a9440231d1e8899be8bbbe73c7e24aa3b4"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -274,9 +297,9 @@ dependencies = [
[[package]]
name = "arrow-row"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc11fa039338cebbf4e29cf709c8ac1d6a65c7540063d4a25f991ab255ca85c8"
+checksum = "377cd5158b7de4034a175e296726c40c3236e65d71d90a5dab2fb4fab526a8f4"
dependencies = [
"ahash",
"arrow-array",
@@ -284,23 +307,23 @@ dependencies = [
"arrow-data",
"arrow-schema",
"half",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
]
[[package]]
name = "arrow-schema"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04f17f7b86ded0b5baf98fe6123391c4343e031acc3ccc5fa604cc180bff220"
+checksum = "ba9ed245bd2d7d97ad1457cb281d4296e8b593588758b8fec6d67b2b2b0f2265"
dependencies = [
- "bitflags 2.2.1",
+ "bitflags 2.3.3",
]
[[package]]
name = "arrow-select"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "163e35de698098ff5f5f672ada9dc1f82533f10407c7a11e2cd09f3bcf31d18a"
+checksum = "0dc9bd6aebc565b1d04bae64a0f4dda3abc677190eb7d960471b1b20e1cebed0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -311,9 +334,9 @@ dependencies = [
[[package]]
name = "arrow-string"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdfbed1b10209f0dc68e6aa4c43dc76079af65880965c7c3b73f641f23d4aba"
+checksum = "23cf2baea2ef53787332050decf7d71aca836a352e188c8ad062892405955d2b"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -321,14 +344,14 @@ dependencies = [
"arrow-schema",
"arrow-select",
"regex",
- "regex-syntax 0.6.29",
+ "regex-syntax",
]
[[package]]
name = "async-compression"
-version = "0.3.15"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a"
+checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6"
dependencies = [
"bzip2",
"flate2",
@@ -338,8 +361,8 @@ dependencies = [
"pin-project-lite",
"tokio",
"xz2",
- "zstd 0.11.2+zstd.1.5.2",
- "zstd-safe 5.0.2+zstd.1.5.2",
+ "zstd",
+ "zstd-safe",
]
[[package]]
@@ -350,7 +373,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -361,7 +384,7 @@ checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -370,11 +393,26 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+[[package]]
+name = "backtrace"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
[[package]]
name = "base64"
-version = "0.21.0"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
[[package]]
name = "bitflags"
@@ -384,9 +422,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.2.1"
+version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
[[package]]
name = "blake2"
@@ -399,9 +437,9 @@ dependencies = [
[[package]]
name = "blake3"
-version = "1.3.3"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
+checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5"
dependencies = [
"arrayref",
"arrayvec",
@@ -441,32 +479,11 @@ dependencies = [
"alloc-stdlib",
]
-[[package]]
-name = "bstr"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09"
-dependencies = [
- "memchr",
- "once_cell",
- "regex-automata",
- "serde",
-]
-
-[[package]]
-name = "btoi"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad"
-dependencies = [
- "num-traits",
-]
-
[[package]]
name = "bumpalo"
-version = "3.12.1"
+version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
[[package]]
name = "byteorder"
@@ -518,25 +535,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
-version = "0.4.24"
+version = "0.4.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
dependencies = [
+ "android-tzdata",
"iana-time-zone",
- "js-sys",
- "num-integer",
"num-traits",
"serde",
- "time 0.1.45",
- "wasm-bindgen",
"winapi",
]
[[package]]
name = "chrono-tz"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9cc2b23599e6d7479755f3594285efb3f74a1bdca7a7374948bc831e23a552"
+checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7"
dependencies = [
"chrono",
"chrono-tz-build",
@@ -545,39 +559,23 @@ dependencies = [
[[package]]
name = "chrono-tz-build"
-version = "0.1.0"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751"
+checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf"
dependencies = [
"parse-zoneinfo",
"phf",
"phf_codegen",
]
-[[package]]
-name = "clru"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807"
-
-[[package]]
-name = "codespan-reporting"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
-dependencies = [
- "termcolor",
- "unicode-width",
-]
-
[[package]]
name = "comfy-table"
-version = "6.1.4"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d"
+checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b"
dependencies = [
- "strum",
- "strum_macros",
+ "strum 0.24.1",
+ "strum_macros 0.24.3",
"unicode-width",
]
@@ -605,9 +603,9 @@ dependencies = [
[[package]]
name = "constant_time_eq"
-version = "0.2.5"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
[[package]]
name = "core-foundation-sys"
@@ -617,9 +615,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
"libc",
]
@@ -651,9 +649,9 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
+checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086"
dependencies = [
"csv-core",
"itoa",
@@ -670,85 +668,43 @@ dependencies = [
"memchr",
]
-[[package]]
-name = "cxx"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
-dependencies = [
- "cc",
- "cxxbridge-flags",
- "cxxbridge-macro",
- "link-cplusplus",
-]
-
-[[package]]
-name = "cxx-build"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
-dependencies = [
- "cc",
- "codespan-reporting",
- "once_cell",
- "proc-macro2",
- "quote",
- "scratch",
- "syn 2.0.23",
-]
-
-[[package]]
-name = "cxxbridge-flags"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
-
-[[package]]
-name = "cxxbridge-macro"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.23",
-]
-
[[package]]
name = "dashmap"
-version = "5.4.0"
+version = "5.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
+checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d"
dependencies = [
"cfg-if",
- "hashbrown 0.12.3",
+ "hashbrown 0.14.0",
"lock_api",
"once_cell",
"parking_lot_core",
]
[[package]]
-name = "dask_planner"
-version = "0.1.0"
+name = "dask-sql"
+version = "2023.6.0"
dependencies = [
"async-trait",
"datafusion-python",
"env_logger",
"log",
"pyo3",
- "pyo3-build-config 0.19.1",
+ "pyo3-build-config",
"pyo3-log",
]
[[package]]
name = "datafusion"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bdb93fee4f30368f1f71bfd5cd28882ec9fab0183db7924827b76129d33227c"
+checksum = "e96f6e4eb10bd3e6b709686858246466983e8c5354a928ff77ee34919aa60d00"
dependencies = [
"ahash",
"apache-avro",
"arrow",
+ "arrow-array",
+ "arrow-schema",
"async-compression",
"async-trait",
"bytes",
@@ -765,9 +721,9 @@ dependencies = [
"flate2",
"futures",
"glob",
- "hashbrown 0.13.2",
- "indexmap",
- "itertools",
+ "hashbrown 0.14.0",
+ "indexmap 1.9.3",
+ "itertools 0.11.0",
"lazy_static",
"log",
"num-traits",
@@ -782,19 +738,18 @@ dependencies = [
"sqlparser",
"tempfile",
"tokio",
- "tokio-stream",
"tokio-util",
"url",
"uuid",
"xz2",
- "zstd 0.12.3+zstd.1.5.2",
+ "zstd",
]
[[package]]
name = "datafusion-common"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e82401ce129e601d406012b6d718f8978ba84c386e1c342fa155877120d68824"
+checksum = "00e5fddcc0dd49bbe199e43aa406f39c46c790bb2a43c7b36a478e5f3f971235"
dependencies = [
"apache-avro",
"arrow",
@@ -809,14 +764,14 @@ dependencies = [
[[package]]
name = "datafusion-execution"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b08b2078aed21a27239cd93f3015e492a58b0d50ebeeaf8d2236cf108ef583ce"
+checksum = "cfd50b6cb17acc78d2473c0d28014b8fd4e2e0a2c067c07645d6547b33b0aeeb"
dependencies = [
"dashmap",
"datafusion-common",
"datafusion-expr",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
"log",
"object_store",
"parking_lot",
@@ -827,21 +782,24 @@ dependencies = [
[[package]]
name = "datafusion-expr"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b5b977ce9695fb4c67614266ec57f384fc11e9a9f9b3e6d0e62b9c5a9f2c1f"
+checksum = "e1a35dc2cd9eac18063d636f7ddf4f090fe1f34284d80192ac7ade38cc3c6991"
dependencies = [
"ahash",
"arrow",
"datafusion-common",
+ "lazy_static",
"sqlparser",
+ "strum 0.25.0",
+ "strum_macros 0.25.1",
]
[[package]]
name = "datafusion-optimizer"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0b2bb9e73ed778d1bc5af63a270f0154bf6eab5099c77668a6362296888e46b"
+checksum = "5f5043afeb45ec1c0f45519e1eed6a477f2d30732e8f975d9cf9a75fba0ca716"
dependencies = [
"arrow",
"async-trait",
@@ -849,17 +807,17 @@ dependencies = [
"datafusion-common",
"datafusion-expr",
"datafusion-physical-expr",
- "hashbrown 0.13.2",
- "itertools",
+ "hashbrown 0.14.0",
+ "itertools 0.11.0",
"log",
- "regex-syntax 0.6.29",
+ "regex-syntax",
]
[[package]]
name = "datafusion-physical-expr"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80cd8ea5ab0a07b1b2a3e17d5909f1b1035bd129ffeeb5c66842a32e682f8f79"
+checksum = "6cc892a24f4b829ee7718ad3950884c0346dbdf1517f3df153af4bcf54d8ca4d"
dependencies = [
"ahash",
"arrow",
@@ -873,10 +831,11 @@ dependencies = [
"datafusion-expr",
"datafusion-row",
"half",
- "hashbrown 0.13.2",
- "indexmap",
- "itertools",
+ "hashbrown 0.14.0",
+ "indexmap 1.9.3",
+ "itertools 0.11.0",
"lazy_static",
+ "libc",
"md-5",
"paste",
"petgraph",
@@ -889,8 +848,8 @@ dependencies = [
[[package]]
name = "datafusion-python"
-version = "22.0.0"
-source = "git+https://github.com/apache/arrow-datafusion-python.git?rev=9493638#94936380e58a266f5dd5de6b70a06d3aa36fbe22"
+version = "27.0.0"
+source = "git+https://github.com/jdye64/arrow-datafusion-python.git?branch=logical_extension#df4bb9fdc2977a1d29838a1e70e31ca518ee874a"
dependencies = [
"async-trait",
"datafusion",
@@ -903,11 +862,13 @@ dependencies = [
"mimalloc",
"object_store",
"parking_lot",
+ "prost",
+ "prost-types",
"pyo3",
- "pyo3-build-config 0.18.3",
+ "pyo3-build-config",
"rand",
- "regex-syntax 0.6.29",
- "syn 2.0.23",
+ "regex-syntax",
+ "syn 2.0.26",
"tokio",
"url",
"uuid",
@@ -915,9 +876,9 @@ dependencies = [
[[package]]
name = "datafusion-row"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a95d6badab19fd6e9195fdc5209ac0a7e5ce9bcdedc67767b9ffc1b4e645760"
+checksum = "ce75c660bbddfdd254109e668e5b5bd69df31ea26e3768e15cef0c68015e650e"
dependencies = [
"arrow",
"datafusion-common",
@@ -927,9 +888,9 @@ dependencies = [
[[package]]
name = "datafusion-sql"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a78f8fc67123c4357e63bc0c87622a2a663d26f074958d749a633d0ecde90f"
+checksum = "49cab87e4933a452e0b7b3f0cbd0e760daf7d33fb54d09d70d3ffba229eaa652"
dependencies = [
"arrow",
"arrow-schema",
@@ -941,68 +902,43 @@ dependencies = [
[[package]]
name = "datafusion-substrait"
-version = "22.0.0"
+version = "27.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae6ed64a2005f0d78f2b1b3ec3f8148183f4523d5d364e5367115f8d8a82b7df"
+checksum = "ba77d22232053f6cdd98bd6f5328940850844450253f25b8c50bfc5199c505d4"
dependencies = [
"async-recursion",
"chrono",
"datafusion",
- "itertools",
+ "itertools 0.11.0",
"object_store",
"prost",
+ "prost-types",
"substrait",
"tokio",
]
[[package]]
name = "digest"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer",
"crypto-common",
"subtle",
]
-[[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
[[package]]
name = "doc-comment"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-[[package]]
-name = "dunce"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
-
[[package]]
name = "dyn-clone"
-version = "1.0.11"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30"
+checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272"
[[package]]
name = "either"
@@ -1032,6 +968,12 @@ dependencies = [
"termcolor",
]
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
[[package]]
name = "errno"
version = "0.3.1"
@@ -1040,7 +982,7 @@ checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -1062,18 +1004,6 @@ dependencies = [
"instant",
]
-[[package]]
-name = "filetime"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "fixedbitset"
version = "0.4.2"
@@ -1082,9 +1012,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
name = "flatbuffers"
-version = "23.1.21"
+version = "23.5.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77f5399c2c9c50ae9418e522842ad362f61ee48b346ac106807bd355a8a7c619"
+checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640"
dependencies = [
"bitflags 1.3.2",
"rustc_version",
@@ -1108,9 +1038,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
dependencies = [
"percent-encoding",
]
@@ -1171,7 +1101,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -1216,555 +1146,34 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
"cfg-if",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gix"
-version = "0.43.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c256ea71cc1967faaefdaad15f334146b7c806f12460dcafd3afed845c8c78dd"
-dependencies = [
- "gix-actor",
- "gix-attributes",
- "gix-config",
- "gix-credentials",
- "gix-date",
- "gix-diff",
- "gix-discover",
- "gix-features 0.28.1",
- "gix-glob",
- "gix-hash 0.10.4",
- "gix-hashtable",
- "gix-index",
- "gix-lock",
- "gix-mailmap",
- "gix-object",
- "gix-odb",
- "gix-pack",
- "gix-path",
- "gix-prompt",
- "gix-ref",
- "gix-refspec",
- "gix-revision",
- "gix-sec",
- "gix-tempfile",
- "gix-traverse",
- "gix-url",
- "gix-validate",
- "gix-worktree",
- "log",
- "once_cell",
- "signal-hook",
- "smallvec",
- "thiserror",
- "unicode-normalization",
-]
-
-[[package]]
-name = "gix-actor"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc22b0cdc52237667c301dd7cdc6ead8f8f73c9f824e9942c8ebd6b764f6c0bf"
-dependencies = [
- "bstr",
- "btoi",
- "gix-date",
- "itoa",
- "nom",
- "thiserror",
-]
-
-[[package]]
-name = "gix-attributes"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2231a25934a240d0a4b6f4478401c73ee81d8be52de0293eedbc172334abf3e1"
-dependencies = [
- "bstr",
- "gix-features 0.28.1",
- "gix-glob",
- "gix-path",
- "gix-quote",
- "thiserror",
- "unicode-bom",
-]
-
-[[package]]
-name = "gix-bitmap"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55a95f4942360766c3880bdb2b4b57f1ef73b190fc424755e7fdf480430af618"
-dependencies = [
- "thiserror",
-]
-
-[[package]]
-name = "gix-chunk"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0d39583cab06464b8bf73b3f1707458270f0e7383cb24c3c9c1a16e6f792978"
-dependencies = [
- "thiserror",
-]
-
-[[package]]
-name = "gix-command"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2c6f75c1e0f924de39e750880a6e21307194bb1ab773efe3c7d2d787277f8ab"
-dependencies = [
- "bstr",
-]
-
-[[package]]
-name = "gix-config"
-version = "0.20.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fbad5ce54a8fc997acc50febd89ec80fa6e97cb7f8d0654cb229936407489d8"
-dependencies = [
- "bstr",
- "gix-config-value",
- "gix-features 0.28.1",
- "gix-glob",
- "gix-path",
- "gix-ref",
- "gix-sec",
- "log",
- "memchr",
- "nom",
- "once_cell",
- "smallvec",
- "thiserror",
- "unicode-bom",
-]
-
-[[package]]
-name = "gix-config-value"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d09154c0c8677e4da0ec35e896f56ee3e338e741b9599fae06075edd83a4081c"
-dependencies = [
- "bitflags 1.3.2",
- "bstr",
- "gix-path",
- "libc",
- "thiserror",
-]
-
-[[package]]
-name = "gix-credentials"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "750b684197374518ea057e0a0594713e07683faa0a3f43c0f93d97f64130ad8d"
-dependencies = [
- "bstr",
- "gix-command",
- "gix-config-value",
- "gix-path",
- "gix-prompt",
- "gix-sec",
- "gix-url",
- "thiserror",
-]
-
-[[package]]
-name = "gix-date"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b96271912ce39822501616f177dea7218784e6c63be90d5f36322ff3a722aae2"
-dependencies = [
- "bstr",
- "itoa",
- "thiserror",
- "time 0.3.20",
-]
-
-[[package]]
-name = "gix-diff"
-version = "0.28.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "103a0fa79b0d438f5ecb662502f052e530ace4fe1fe8e1c83c0c6da76d728e67"
-dependencies = [
- "gix-hash 0.10.4",
- "gix-object",
- "imara-diff",
- "thiserror",
-]
-
-[[package]]
-name = "gix-discover"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eba8ba458cb8f4a6c33409b0fe650b1258655175a7ffd1d24fafd3ed31d880b"
-dependencies = [
- "bstr",
- "dunce",
- "gix-hash 0.10.4",
- "gix-path",
- "gix-ref",
- "gix-sec",
- "thiserror",
-]
-
-[[package]]
-name = "gix-features"
-version = "0.28.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b76f9a80f6dd7be66442ae86e1f534effad9546676a392acc95e269d0c21c22"
-dependencies = [
- "crc32fast",
- "flate2",
- "gix-hash 0.10.4",
- "libc",
- "once_cell",
- "prodash",
- "sha1_smol",
- "thiserror",
- "walkdir",
-]
-
-[[package]]
-name = "gix-features"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf69b0f5c701cc3ae22d3204b671907668f6437ca88862d355eaf9bc47a4f897"
-dependencies = [
- "gix-hash 0.11.1",
- "libc",
-]
-
-[[package]]
-name = "gix-fs"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b37a1832f691fdc09910bd267f9a2e413737c1f9ec68c6e31f9e802616278a9"
-dependencies = [
- "gix-features 0.29.0",
-]
-
-[[package]]
-name = "gix-glob"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93e43efd776bc543f46f0fd0ca3d920c37af71a764a16f2aebd89765e9ff2993"
-dependencies = [
- "bitflags 1.3.2",
- "bstr",
-]
-
-[[package]]
-name = "gix-hash"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a258595457bc192d1f1c59d0d168a1e34e2be9b97a614e14995416185de41a7"
-dependencies = [
- "hex",
- "thiserror",
-]
-
-[[package]]
-name = "gix-hash"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "078eec3ac2808cc03f0bddd2704cb661da5c5dc33b41a9d7947b141d499c7c42"
-dependencies = [
- "hex",
- "thiserror",
-]
-
-[[package]]
-name = "gix-hashtable"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4e55e40dfd694884f0eb78796c5bddcf2f8b295dace47039099dd7e76534973"
-dependencies = [
- "gix-hash 0.10.4",
- "hashbrown 0.13.2",
- "parking_lot",
-]
-
-[[package]]
-name = "gix-index"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "717ab601ece7921f59fe86849dbe27d44a46ebb883b5885732c4f30df4996177"
-dependencies = [
- "bitflags 1.3.2",
- "bstr",
- "btoi",
- "filetime",
- "gix-bitmap",
- "gix-features 0.28.1",
- "gix-hash 0.10.4",
- "gix-lock",
- "gix-object",
- "gix-traverse",
- "itoa",
- "memmap2",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gix-lock"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c693d7f05730fa74a7c467150adc7cea393518410c65f0672f80226b8111555"
-dependencies = [
- "gix-tempfile",
- "gix-utils",
- "thiserror",
-]
-
-[[package]]
-name = "gix-mailmap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b66aea5e52875cd4915f4957a6f4b75831a36981e2ec3f5fad9e370e444fe1a"
-dependencies = [
- "bstr",
- "gix-actor",
- "thiserror",
-]
-
-[[package]]
-name = "gix-object"
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8df068db9180ee935fbb70504848369e270bdcb576b05c0faa8b9fd3b86fc017"
-dependencies = [
- "bstr",
- "btoi",
- "gix-actor",
- "gix-features 0.28.1",
- "gix-hash 0.10.4",
- "gix-validate",
- "hex",
- "itoa",
- "nom",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gix-odb"
-version = "0.43.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e83af2e3e36005bfe010927f0dff41fb5acc3e3d89c6f1174135b3a34086bda2"
-dependencies = [
- "arc-swap",
- "gix-features 0.28.1",
- "gix-hash 0.10.4",
- "gix-object",
- "gix-pack",
- "gix-path",
- "gix-quote",
- "parking_lot",
- "tempfile",
- "thiserror",
-]
-
-[[package]]
-name = "gix-pack"
-version = "0.33.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9401911c7fe032ad7b31c6a6b5be59cb283d1d6c999417a8215056efe6d635f3"
-dependencies = [
- "clru",
- "gix-chunk",
- "gix-diff",
- "gix-features 0.28.1",
- "gix-hash 0.10.4",
- "gix-hashtable",
- "gix-object",
- "gix-path",
- "gix-tempfile",
- "gix-traverse",
- "memmap2",
- "parking_lot",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gix-path"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32370dce200bb951df013e03dff35b4233fc7a89458642b047629b91734a7e19"
-dependencies = [
- "bstr",
- "thiserror",
-]
-
-[[package]]
-name = "gix-prompt"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3034d4d935aef2c7bf719aaa54b88c520e82413118d886ae880a31d5bdee57"
-dependencies = [
- "gix-command",
- "gix-config-value",
- "nix",
- "parking_lot",
- "thiserror",
-]
-
-[[package]]
-name = "gix-quote"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a282f5a8d9ee0b09ec47390ac727350c48f2f5c76d803cd8da6b3e7ad56e0bcb"
-dependencies = [
- "bstr",
- "btoi",
- "thiserror",
-]
-
-[[package]]
-name = "gix-ref"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4e909396ed3b176823991ccc391c276ae2a015e54edaafa3566d35123cfac9d"
-dependencies = [
- "gix-actor",
- "gix-features 0.28.1",
- "gix-hash 0.10.4",
- "gix-lock",
- "gix-object",
- "gix-path",
- "gix-tempfile",
- "gix-validate",
- "memmap2",
- "nom",
- "thiserror",
-]
-
-[[package]]
-name = "gix-refspec"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aba332462bda2e8efeae4302b39a6ed01ad56ef772fd5b7ef197cf2798294d65"
-dependencies = [
- "bstr",
- "gix-hash 0.10.4",
- "gix-revision",
- "gix-validate",
- "smallvec",
- "thiserror",
+ "wasi",
]
[[package]]
-name = "gix-revision"
-version = "0.12.2"
+name = "gimli"
+version = "0.27.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c6f6ff53f888858afc24bf12628446a14279ceec148df6194481f306f553ad2"
-dependencies = [
- "bstr",
- "gix-date",
- "gix-hash 0.10.4",
- "gix-hashtable",
- "gix-object",
- "thiserror",
-]
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
[[package]]
-name = "gix-sec"
-version = "0.6.2"
+name = "git2"
+version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8ffa5bf0772f9b01de501c035b6b084cf9b8bb07dec41e3afc6a17336a65f47"
+checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
dependencies = [
"bitflags 1.3.2",
- "dirs",
- "gix-path",
- "libc",
- "windows 0.43.0",
-]
-
-[[package]]
-name = "gix-tempfile"
-version = "5.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71a0d32f34e71e86586124225caefd78dabc605d0486de580d717653addf182"
-dependencies = [
- "gix-fs",
"libc",
- "once_cell",
- "parking_lot",
- "signal-hook",
- "signal-hook-registry",
- "tempfile",
-]
-
-[[package]]
-name = "gix-traverse"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd9a4a07bb22168dc79c60e1a6a41919d198187ca83d8a5940ad8d7122a45df3"
-dependencies = [
- "gix-hash 0.10.4",
- "gix-hashtable",
- "gix-object",
- "thiserror",
-]
-
-[[package]]
-name = "gix-url"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a22b4b32ad14d68f7b7fb6458fa58d44b01797d94c1b8f4db2d9c7b3c366b5"
-dependencies = [
- "bstr",
- "gix-features 0.28.1",
- "gix-path",
- "home",
- "thiserror",
+ "libgit2-sys",
+ "log",
"url",
]
-[[package]]
-name = "gix-utils"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c10b69beac219acb8df673187a1f07dde2d74092f974fb3f9eb385aeb667c909"
-dependencies = [
- "fastrand",
-]
-
-[[package]]
-name = "gix-validate"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd629d3680773e1785e585d76fd4295b740b559cad9141517300d99a0c8c049"
-dependencies = [
- "bstr",
- "thiserror",
-]
-
-[[package]]
-name = "gix-worktree"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54ec9a000b4f24af706c3cc680c7cda235656cbe3216336522f5692773b8a301"
-dependencies = [
- "bstr",
- "gix-attributes",
- "gix-features 0.28.1",
- "gix-glob",
- "gix-hash 0.10.4",
- "gix-index",
- "gix-object",
- "gix-path",
- "io-close",
- "thiserror",
-]
-
[[package]]
name = "glob"
version = "0.3.1"
@@ -1773,9 +1182,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "h2"
-version = "0.3.18"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21"
+checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
dependencies = [
"bytes",
"fnv",
@@ -1783,7 +1192,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
- "indexmap",
+ "indexmap 1.9.3",
"slab",
"tokio",
"tokio-util",
@@ -1792,10 +1201,11 @@ dependencies = [
[[package]]
name = "half"
-version = "2.2.1"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
dependencies = [
+ "cfg-if",
"crunchy",
"num-traits",
]
@@ -1816,40 +1226,26 @@ dependencies = [
]
[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
+name = "hashbrown"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
dependencies = [
- "libc",
+ "ahash",
+ "allocator-api2",
]
[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "hex"
-version = "0.4.3"
+name = "heck"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
-name = "home"
-version = "0.5.5"
+name = "hermit-abi"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-dependencies = [
- "windows-sys 0.48.0",
-]
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "http"
@@ -1893,9 +1289,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hyper"
-version = "0.14.26"
+version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
"bytes",
"futures-channel",
@@ -1917,10 +1313,11 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.23.2"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
+checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
dependencies = [
+ "futures-util",
"http",
"hyper",
"rustls",
@@ -1930,56 +1327,55 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows 0.48.0",
+ "windows",
]
[[package]]
name = "iana-time-zone-haiku"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
dependencies = [
- "cxx",
- "cxx-build",
+ "cc",
]
[[package]]
name = "idna"
-version = "0.3.0"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
dependencies = [
"unicode-bidi",
"unicode-normalization",
]
[[package]]
-name = "imara-diff"
-version = "0.1.5"
+name = "indexmap"
+version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
dependencies = [
- "ahash",
+ "autocfg",
"hashbrown 0.12.3",
]
[[package]]
name = "indexmap"
-version = "1.9.3"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
+ "equivalent",
+ "hashbrown 0.14.0",
]
[[package]]
@@ -2003,43 +1399,32 @@ version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02"
-[[package]]
-name = "io-close"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cadcf447f06744f8ce713d2d6239bb5bde2c357a452397a9ed90c625da390bc"
-dependencies = [
- "libc",
- "winapi",
-]
-
[[package]]
name = "io-lifetimes"
-version = "1.0.10"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
"libc",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
name = "ipnet"
-version = "2.7.2"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
[[package]]
name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
- "rustix",
- "windows-sys 0.48.0",
+ "hermit-abi",
+ "rustix 0.38.4",
+ "windows-sys",
]
[[package]]
@@ -2051,11 +1436,20 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "jobserver"
@@ -2068,9 +1462,9 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.61"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
dependencies = [
"wasm-bindgen",
]
@@ -2147,15 +1541,15 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.142"
+version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libflate"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97822bf791bd4d5b403713886a5fbe8bf49520fe78e323b0dc480ca1a03e50b0"
+checksum = "5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18"
dependencies = [
"adler32",
"crc32fast",
@@ -2171,11 +1565,23 @@ dependencies = [
"rle-decode-fast",
]
+[[package]]
+name = "libgit2-sys"
+version = "0.15.2+1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa"
+dependencies = [
+ "cc",
+ "libc",
+ "libz-sys",
+ "pkg-config",
+]
+
[[package]]
name = "libm"
-version = "0.2.6"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
+checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
[[package]]
name = "libmimalloc-sys"
@@ -2188,25 +1594,34 @@ dependencies = [
]
[[package]]
-name = "link-cplusplus"
-version = "1.0.8"
+name = "libz-sys"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
dependencies = [
"cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
]
[[package]]
name = "linux-raw-sys"
-version = "0.3.7"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
[[package]]
name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
"autocfg",
"scopeguard",
@@ -2264,20 +1679,11 @@ version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-[[package]]
-name = "memmap2"
-version = "0.5.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "memoffset"
-version = "0.8.0"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
dependencies = [
"autocfg",
]
@@ -2297,12 +1703,6 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
[[package]]
name = "miniz_oxide"
version = "0.7.1"
@@ -2314,49 +1714,26 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.6"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
dependencies = [
"libc",
- "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "wasi",
+ "windows-sys",
]
[[package]]
name = "multimap"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
-
-[[package]]
-name = "nix"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "static_assertions",
-]
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
+checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
[[package]]
name = "num"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af"
dependencies = [
"num-bigint",
"num-complex",
@@ -2431,35 +1808,37 @@ dependencies = [
[[package]]
name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
"libc",
]
[[package]]
-name = "num_threads"
-version = "0.1.6"
+name = "object"
+version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
dependencies = [
- "libc",
+ "memchr",
]
[[package]]
name = "object_store"
-version = "0.5.6"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec9cd6ca25e796a49fa242876d1c4de36a24a6da5258e9f0bc062dbf5e81c53b"
+checksum = "27c776db4f332b571958444982ff641d2531417a326ca368995073b639205d58"
dependencies = [
"async-trait",
"base64",
"bytes",
"chrono",
"futures",
- "itertools",
+ "humantime",
+ "hyper",
+ "itertools 0.10.5",
"parking_lot",
"percent-encoding",
"quick-xml",
@@ -2478,9 +1857,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "ordered-float"
@@ -2503,22 +1882,22 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.2.16",
+ "redox_syscall",
"smallvec",
- "windows-sys 0.45.0",
+ "windows-targets",
]
[[package]]
name = "parquet"
-version = "36.0.0"
+version = "42.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "321a15f8332645759f29875b07f8233d16ed8ec1b3582223de81625a9f8506b7"
+checksum = "baab9c36b1c8300b81b4d577d306a0a733f9d34021363098d3548e37757ed6c8"
dependencies = [
"ahash",
"arrow-array",
@@ -2534,17 +1913,18 @@ dependencies = [
"chrono",
"flate2",
"futures",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
"lz4",
"num",
"num-bigint",
+ "object_store",
"paste",
"seq-macro",
"snap",
"thrift",
"tokio",
"twox-hash",
- "zstd 0.12.3+zstd.1.5.2",
+ "zstd",
]
[[package]]
@@ -2558,15 +1938,15 @@ dependencies = [
[[package]]
name = "paste"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "petgraph"
@@ -2575,23 +1955,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
dependencies = [
"fixedbitset",
- "indexmap",
+ "indexmap 1.9.3",
]
[[package]]
name = "phf"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
"phf_shared",
]
[[package]]
name = "phf_codegen"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
dependencies = [
"phf_generator",
"phf_shared",
@@ -2599,9 +1979,9 @@ dependencies = [
[[package]]
name = "phf_generator"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
dependencies = [
"phf_shared",
"rand",
@@ -2609,18 +1989,18 @@ dependencies = [
[[package]]
name = "phf_shared"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [
"siphasher",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
[[package]]
name = "pin-utils"
@@ -2642,12 +2022,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "prettyplease"
-version = "0.2.4"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ceca8aaf45b5c46ec7ed39fff75f57290368c1846d33d24a122ca81416ab058"
+checksum = "92139198957b410250d43fad93e630d956499a625c527eda65175c8680f83387"
dependencies = [
"proc-macro2",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -2658,19 +2038,13 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
dependencies = [
"unicode-ident",
]
-[[package]]
-name = "prodash"
-version = "23.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9516b775656bc3e8985e19cd4b8c0c0de045095074e453d2c0a513b5f978392d"
-
[[package]]
name = "prost"
version = "0.11.9"
@@ -2689,7 +2063,7 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
dependencies = [
"bytes",
"heck",
- "itertools",
+ "itertools 0.10.5",
"lazy_static",
"log",
"multimap",
@@ -2708,7 +2082,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
dependencies = [
"anyhow",
- "itertools",
+ "itertools 0.10.5",
"proc-macro2",
"quote",
"syn 1.0.109",
@@ -2725,31 +2099,21 @@ dependencies = [
[[package]]
name = "pyo3"
-version = "0.18.3"
+version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+checksum = "ffb88ae05f306b4bfcde40ac4a51dc0b05936a9207a4b75b798c7729c4258a59"
dependencies = [
"cfg-if",
"indoc",
"libc",
"memoffset",
"parking_lot",
- "pyo3-build-config 0.18.3",
+ "pyo3-build-config",
"pyo3-ffi",
"pyo3-macros",
"unindent",
]
-[[package]]
-name = "pyo3-build-config"
-version = "0.18.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
-dependencies = [
- "once_cell",
- "target-lexicon",
-]
-
[[package]]
name = "pyo3-build-config"
version = "0.19.1"
@@ -2762,19 +2126,19 @@ dependencies = [
[[package]]
name = "pyo3-ffi"
-version = "0.18.3"
+version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+checksum = "922ede8759e8600ad4da3195ae41259654b9c55da4f7eec84a0ccc7d067a70a4"
dependencies = [
"libc",
- "pyo3-build-config 0.18.3",
+ "pyo3-build-config",
]
[[package]]
name = "pyo3-log"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c94ff6535a6bae58d7d0b85e60d4c53f7f84d0d0aa35d6a28c3f3e70bfe51444"
+checksum = "f47b0777feb17f61eea78667d61103758b243a871edc09a7786500a50467b605"
dependencies = [
"arc-swap",
"log",
@@ -2783,9 +2147,9 @@ dependencies = [
[[package]]
name = "pyo3-macros"
-version = "0.18.3"
+version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+checksum = "8a5caec6a1dd355964a841fcbeeb1b89fe4146c87295573f94228911af3cc5a2"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
@@ -2795,9 +2159,9 @@ dependencies = [
[[package]]
name = "pyo3-macros-backend"
-version = "0.18.3"
+version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+checksum = "e0b78ccbb160db1556cdb6fd96c50334c5d4ec44dc5e0a968d0a1208fa0efa8b"
dependencies = [
"proc-macro2",
"quote",
@@ -2822,9 +2186,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.29"
+version = "1.0.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
dependencies = [
"proc-macro2",
]
@@ -2859,15 +2223,6 @@ dependencies = [
"getrandom",
]
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
[[package]]
name = "redox_syscall"
version = "0.3.5"
@@ -2877,51 +2232,40 @@ dependencies = [
"bitflags 1.3.2",
]
-[[package]]
-name = "redox_users"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-dependencies = [
- "getrandom",
- "redox_syscall 0.2.16",
- "thiserror",
-]
-
[[package]]
name = "regex"
-version = "1.8.1"
+version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.7.1",
+ "regex-automata",
+ "regex-syntax",
]
[[package]]
name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
[[package]]
name = "regex-syntax"
-version = "0.7.1"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]]
name = "regress"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d995d590bd8ec096d1893f414bf3f5e8b0ee4c9eed9a5642b9766ef2c8e2e8e9"
+checksum = "82a9ecfa0cb04d0b04dddb99b8ccf4f66bc8dfd23df694b398570bd8ae3a50fb"
dependencies = [
"hashbrown 0.13.2",
"memchr",
@@ -2929,9 +2273,9 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.11.17"
+version = "0.11.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91"
+checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
dependencies = [
"base64",
"bytes",
@@ -2989,6 +2333,12 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -3000,50 +2350,73 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.37.19"
+version = "0.37.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
dependencies = [
"bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
- "linux-raw-sys",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.3.8",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+dependencies = [
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys",
]
[[package]]
name = "rustls"
-version = "0.20.8"
+version = "0.21.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36"
dependencies = [
"log",
"ring",
+ "rustls-webpki",
"sct",
- "webpki",
]
[[package]]
name = "rustls-pemfile"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
"base64",
]
+[[package]]
+name = "rustls-webpki"
+version = "0.101.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
[[package]]
name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]]
name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "same-file"
@@ -3080,15 +2453,9 @@ dependencies = [
[[package]]
name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "scratch"
-version = "1.0.5"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "sct"
@@ -3102,34 +2469,34 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
[[package]]
name = "seq-macro"
-version = "0.3.3"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc"
+checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
[[package]]
name = "serde"
-version = "1.0.160"
+version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
+checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.160"
+version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -3145,9 +2512,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
dependencies = [
"itoa",
"ryu",
@@ -3156,13 +2523,14 @@ dependencies = [
[[package]]
name = "serde_tokenstream"
-version = "0.1.7"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "797ba1d80299b264f3aac68ab5d12e5825a561749db4df7cd7c8083900c5d4e9"
+checksum = "8a00ffd23fd882d096f09fcaae2a9de8329a328628e86027e049ee051dc1621f"
dependencies = [
"proc-macro2",
+ "quote",
"serde",
- "syn 1.0.109",
+ "syn 2.0.26",
]
[[package]]
@@ -3179,53 +2547,28 @@ dependencies = [
[[package]]
name = "serde_yaml"
-version = "0.9.21"
+version = "0.9.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c"
+checksum = "bd5f51e3fdb5b9cdd1577e1cb7a733474191b1aca6a72c2e50913241632c1180"
dependencies = [
- "indexmap",
+ "indexmap 2.0.0",
"itoa",
"ryu",
"serde",
"unsafe-libyaml",
]
-[[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
[[package]]
name = "sha2"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
dependencies = [
"cfg-if",
"cpufeatures",
"digest",
]
-[[package]]
-name = "signal-hook"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "siphasher"
version = "0.3.10"
@@ -3243,15 +2586,15 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "snafu"
-version = "0.7.4"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0656e7e3ffb70f6c39b3c2a86332bb74aa3c679da781642590f3c1118c5045"
+checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6"
dependencies = [
"doc-comment",
"snafu-derive",
@@ -3259,9 +2602,9 @@ dependencies = [
[[package]]
name = "snafu-derive"
-version = "0.7.4"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "475b3bbe5245c26f2d8a6f62d67c1f30eb9fffeccee721c45d162c3ebbdf81b2"
+checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf"
dependencies = [
"heck",
"proc-macro2",
@@ -3293,9 +2636,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
name = "sqlparser"
-version = "0.32.0"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0366f270dbabb5cc2e4c88427dc4c08bba144f81e32fbd459a013f26a4d16aa0"
+checksum = "ca597d77c98894be1f965f2e4e2d2a61575d4998088e655476c73715c54b2b43"
dependencies = [
"log",
"sqlparser_derive",
@@ -3324,6 +2667,15 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
+[[package]]
+name = "strum"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
+dependencies = [
+ "strum_macros 0.25.1",
+]
+
[[package]]
name = "strum_macros"
version = "0.24.3"
@@ -3337,13 +2689,26 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "strum_macros"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 2.0.26",
+]
+
[[package]]
name = "substrait"
-version = "0.7.5"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ae64fb7ad0670c7d6d53d57b1b91beb2212afc30e164cc8edb02d6b2cff32a"
+checksum = "7d3b77ddddd080d1bb5ebfe6b62d1c4e2f33c9f6a4586d5eac5306a08f3d4585"
dependencies = [
- "gix",
+ "git2",
"heck",
"prettyplease",
"prost",
@@ -3354,16 +2719,16 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
- "syn 2.0.23",
+ "syn 2.0.26",
"typify",
"walkdir",
]
[[package]]
name = "subtle"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "syn"
@@ -3378,9 +2743,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.23"
+version = "2.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
dependencies = [
"proc-macro2",
"quote",
@@ -3389,21 +2754,22 @@ dependencies = [
[[package]]
name = "target-lexicon"
-version = "0.12.7"
+version = "0.12.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
[[package]]
name = "tempfile"
-version = "3.5.0"
+version = "3.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
dependencies = [
+ "autocfg",
"cfg-if",
"fastrand",
- "redox_syscall 0.3.5",
- "rustix",
- "windows-sys 0.45.0",
+ "redox_syscall",
+ "rustix 0.37.23",
+ "windows-sys",
]
[[package]]
@@ -3417,22 +2783,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
@@ -3446,46 +2812,6 @@ dependencies = [
"ordered-float",
]
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "time"
-version = "0.3.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
-dependencies = [
- "itoa",
- "libc",
- "num_threads",
- "serde",
- "time-core",
- "time-macros",
-]
-
-[[package]]
-name = "time-core"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
-
-[[package]]
-name = "time-macros"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
-dependencies = [
- "time-core",
-]
-
[[package]]
name = "tiny-keccak"
version = "2.0.2"
@@ -3512,11 +2838,12 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.28.0"
+version = "1.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
dependencies = [
"autocfg",
+ "backtrace",
"bytes",
"libc",
"mio",
@@ -3525,7 +2852,7 @@ dependencies = [
"pin-project-lite",
"socket2",
"tokio-macros",
- "windows-sys 0.48.0",
+ "windows-sys",
]
[[package]]
@@ -3536,29 +2863,17 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
name = "tokio-rustls"
-version = "0.23.4"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls",
"tokio",
- "webpki",
-]
-
-[[package]]
-name = "tokio-stream"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
-dependencies = [
- "futures-core",
- "pin-project-lite",
- "tokio",
]
[[package]]
@@ -3595,20 +2910,20 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.24"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.23",
+ "syn 2.0.26",
]
[[package]]
name = "tracing-core"
-version = "0.1.30"
+version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
dependencies = [
"once_cell",
]
@@ -3648,9 +2963,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "typify"
-version = "0.0.11"
+version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30bfde96849e25d7feef1bbf652e9cfc51deb63203fdc07b115b8bc3bcfe20b9"
+checksum = "be9bb640c0eece20cac2028ebbc2ca1a3d17e3b1ddd98540309c309ed178d158"
dependencies = [
"typify-impl",
"typify-macro",
@@ -3658,9 +2973,9 @@ dependencies = [
[[package]]
name = "typify-impl"
-version = "0.0.11"
+version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95d27d749378ceab6ec22188ed7ad102205c89ddb92ab662371c850ffc71aa1a"
+checksum = "5c8d9ecedde2fd77e975c38eeb9ca40b34ad0247b2259c6e6bbd2a8d6cc2444f"
dependencies = [
"heck",
"log",
@@ -3669,16 +2984,16 @@ dependencies = [
"regress",
"schemars",
"serde_json",
- "syn 1.0.109",
+ "syn 2.0.26",
"thiserror",
"unicode-ident",
]
[[package]]
name = "typify-macro"
-version = "0.0.11"
+version = "0.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35db6fc2bd9220ecdac6eeb88158824b83610de3dda0c6d0f2142b49efd858b0"
+checksum = "c08942cd65d458d2da15777a649cb6400cb545f17964f1ca965583f22e9cc3a9"
dependencies = [
"proc-macro2",
"quote",
@@ -3686,7 +3001,7 @@ dependencies = [
"serde",
"serde_json",
"serde_tokenstream",
- "syn 1.0.109",
+ "syn 2.0.26",
"typify-impl",
]
@@ -3696,17 +3011,11 @@ version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-[[package]]
-name = "unicode-bom"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63ec69f541d875b783ca40184d655f2927c95f0bffd486faa83cd3ac3529ec32"
-
[[package]]
name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
[[package]]
name = "unicode-normalization"
@@ -3737,9 +3046,9 @@ checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
[[package]]
name = "unsafe-libyaml"
-version = "0.2.8"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6"
+checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
[[package]]
name = "untrusted"
@@ -3749,9 +3058,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "url"
-version = "2.3.1"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
dependencies = [
"form_urlencoded",
"idna",
@@ -3760,14 +3069,20 @@ dependencies = [
[[package]]
name = "uuid"
-version = "1.3.2"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
dependencies = [
"getrandom",
"serde",
]
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3786,20 +3101,13 @@ dependencies = [
[[package]]
name = "want"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
dependencies = [
- "log",
"try-lock",
]
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
@@ -3808,9 +3116,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.84"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -3818,24 +3126,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.84"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.26",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.34"
+version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
dependencies = [
"cfg-if",
"js-sys",
@@ -3845,9 +3153,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.84"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -3855,22 +3163,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.84"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.26",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.84"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]]
name = "wasm-streams"
@@ -3887,9 +3195,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.61"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -3956,37 +3264,13 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-[[package]]
-name = "windows"
-version = "0.43.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
[[package]]
name = "windows"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
+ "windows-targets",
]
[[package]]
@@ -3995,117 +3279,60 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets",
]
[[package]]
name = "windows-targets"
-version = "0.48.0"
+version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
]
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
@@ -4153,37 +3380,18 @@ dependencies = [
[[package]]
name = "zstd"
-version = "0.11.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
-dependencies = [
- "zstd-safe 5.0.2+zstd.1.5.2",
-]
-
-[[package]]
-name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
dependencies = [
- "zstd-safe 6.0.5+zstd.1.5.4",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
-dependencies = [
- "libc",
- "zstd-sys",
+ "zstd-safe",
]
[[package]]
name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "6.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
dependencies = [
"libc",
"zstd-sys",
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 000000000..9780ac336
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,29 @@
+[package]
+name = "dask-sql"
+repository = "https://github.com/dask-contrib/dask-sql"
+version = "2023.6.0"
+description = "Bindings for DataFusion used by Dask-SQL"
+readme = "README.md"
+license = "Apache-2.0"
+edition = "2021"
+rust-version = "1.65"
+include = ["/src", "/dask_sql", "/LICENSE.txt", "pyproject.toml", "Cargo.toml", "Cargo.lock"]
+
+[dependencies]
+async-trait = "0.1.71"
+datafusion-python = { git = "https://github.com/jdye64/arrow-datafusion-python.git", branch = "logical_extension" }
+env_logger = "0.10"
+log = "^0.4"
+pyo3 = { version = "0.19.1", features = ["extension-module", "abi3", "abi3-py38"] }
+pyo3-log = "0.8.2"
+
+[build-dependencies]
+pyo3-build-config = "0.19.1"
+
+[lib]
+name = "dask_sql"
+crate-type = ["cdylib", "rlib"]
+
+[profile.release]
+lto = true
+codegen-units = 1
diff --git a/README.md b/README.md
index e978fadf8..ac27aea33 100644
--- a/README.md
+++ b/README.md
@@ -110,7 +110,7 @@ After that, you can install the package in development mode
pip install -e ".[dev]"
The Rust DataFusion bindings are built as part of the `pip install`.
-If changes are made to the Rust source in `dask_planner/`, another build/install must be run to recompile the bindings:
+If changes are made to the Rust source in `src/`, another build/install must be run to recompile the bindings:
python setup.py build install
diff --git a/continuous_integration/environment-3.10-dev.yaml b/continuous_integration/environment-3.10-dev.yaml
index a867996d1..8d0710ec2 100644
--- a/continuous_integration/environment-3.10-dev.yaml
+++ b/continuous_integration/environment-3.10-dev.yaml
@@ -11,7 +11,7 @@ dependencies:
- intake>=0.6.0
- jsonschema
- lightgbm
-- maturin>=0.12.8
+- maturin>=0.15,<0.16
- mlflow
- mock
- numpy>=1.21.6
@@ -19,7 +19,7 @@ dependencies:
- pre-commit
- prompt_toolkit>=3.0.8
- psycopg2
-- pyarrow>=6.0.1
+- pyarrow>=6.0.2
- pygments>=2.7.1
- pyhive
- pytest-cov
@@ -28,7 +28,6 @@ dependencies:
- pytest
- python=3.10
- scikit-learn>=1.0.0
-- setuptools-rust>=1.5.2
- sphinx
- sqlalchemy<2
- tpot>=0.12.0
diff --git a/continuous_integration/environment-3.8-dev.yaml b/continuous_integration/environment-3.8-dev.yaml
index 18b478472..2fd4ddad3 100644
--- a/continuous_integration/environment-3.8-dev.yaml
+++ b/continuous_integration/environment-3.8-dev.yaml
@@ -10,7 +10,7 @@ dependencies:
- intake=0.6.0
- jsonschema
- lightgbm
-- maturin=0.12.8
+- maturin=0.15
- mlflow
- mock
- numpy=1.21.6
@@ -18,7 +18,7 @@ dependencies:
- pre-commit
- prompt_toolkit=3.0.8
- psycopg2
-- pyarrow=6.0.1
+- pyarrow=6.0.2
- pygments=2.7.1
- pyhive
- pytest-cov
@@ -27,7 +27,6 @@ dependencies:
- pytest
- python=3.8
- scikit-learn=1.0.0
-- setuptools-rust=1.5.2
- sphinx
- sqlalchemy<2
- tpot>=0.12.0
diff --git a/continuous_integration/environment-3.9-dev.yaml b/continuous_integration/environment-3.9-dev.yaml
index 7424529d6..67cf0277d 100644
--- a/continuous_integration/environment-3.9-dev.yaml
+++ b/continuous_integration/environment-3.9-dev.yaml
@@ -11,7 +11,7 @@ dependencies:
- intake>=0.6.0
- jsonschema
- lightgbm
-- maturin>=0.12.8
+- maturin>=0.15,<0.16
- mlflow
- mock
- numpy>=1.21.6
@@ -19,7 +19,7 @@ dependencies:
- pre-commit
- prompt_toolkit>=3.0.8
- psycopg2
-- pyarrow>=6.0.1
+- pyarrow>=6.0.2
- pygments>=2.7.1
- pyhive
- pytest-cov
@@ -28,7 +28,6 @@ dependencies:
- pytest
- python=3.9
- scikit-learn>=1.0.0
-- setuptools-rust>=1.5.2
- sphinx
- sqlalchemy<2
- tpot>=0.12.0
diff --git a/continuous_integration/gpuci/environment-3.10.yaml b/continuous_integration/gpuci/environment-3.10.yaml
index 2467e144a..297c7572a 100644
--- a/continuous_integration/gpuci/environment-3.10.yaml
+++ b/continuous_integration/gpuci/environment-3.10.yaml
@@ -14,7 +14,7 @@ dependencies:
- intake>=0.6.0
- jsonschema
- lightgbm
-- maturin>=0.12.8
+- maturin>=0.15,<0.16
- mlflow
- mock
- numpy>=1.21.6
@@ -22,7 +22,7 @@ dependencies:
- pre-commit
- prompt_toolkit>=3.0.8
- psycopg2
-- pyarrow>=6.0.1
+- pyarrow>=6.0.2
- pygments>=2.7.1
- pyhive
- pytest-cov
@@ -31,7 +31,6 @@ dependencies:
- pytest
- python=3.10
- scikit-learn>=1.0.0
-- setuptools-rust>=1.5.2
- sphinx
- sqlalchemy<2
- tpot>=0.12.0
diff --git a/continuous_integration/gpuci/environment-3.9.yaml b/continuous_integration/gpuci/environment-3.9.yaml
index 917892f24..c8600fcfb 100644
--- a/continuous_integration/gpuci/environment-3.9.yaml
+++ b/continuous_integration/gpuci/environment-3.9.yaml
@@ -14,7 +14,7 @@ dependencies:
- intake>=0.6.0
- jsonschema
- lightgbm
-- maturin>=0.12.8
+- maturin>=0.15,<0.16
- mlflow
- mock
- numpy>=1.21.6
@@ -22,7 +22,7 @@ dependencies:
- pre-commit
- prompt_toolkit>=3.0.8
- psycopg2
-- pyarrow>=6.0.1
+- pyarrow>=6.0.2
- pygments>=2.7.1
- pyhive
- pytest-cov
@@ -31,7 +31,6 @@ dependencies:
- pytest
- python=3.9
- scikit-learn>=1.0.0
-- setuptools-rust>=1.5.2
- sphinx
- sqlalchemy<2
- tpot>=0.12.0
diff --git a/continuous_integration/recipe/conda_build_config.yaml b/continuous_integration/recipe/conda_build_config.yaml
index b1c3c40cc..142300f28 100644
--- a/continuous_integration/recipe/conda_build_config.yaml
+++ b/continuous_integration/recipe/conda_build_config.yaml
@@ -4,5 +4,5 @@ rust_compiler_version:
- 1.69
libprotobuf:
- 3
-setuptools_rust:
- - 1.5.2
+maturin:
+ - 0.15.3
diff --git a/continuous_integration/recipe/meta.yaml b/continuous_integration/recipe/meta.yaml
index 5152cfc4e..625a071c4 100644
--- a/continuous_integration/recipe/meta.yaml
+++ b/continuous_integration/recipe/meta.yaml
@@ -24,14 +24,17 @@ requirements:
build:
- python # [build_platform != target_platform]
- cross-python_{{ target_platform }} # [build_platform != target_platform]
+ - maturin # [build_platform != target_platform]
- libprotobuf # [build_platform != target_platform]
+ - zlib # [build_platform != target_platform]
- {{ compiler('c') }}
- {{ compiler('rust') }}
host:
- pip
- python
- - setuptools-rust
+ - maturin
- libprotobuf
+ - zlib
run:
- python
- dask >=2022.3.0
diff --git a/dask_planner/update-dependencies.sh b/continuous_integration/scripts/update-dependencies.sh
similarity index 100%
rename from dask_planner/update-dependencies.sh
rename to continuous_integration/scripts/update-dependencies.sh
diff --git a/dask_planner/.classpath b/dask_planner/.classpath
deleted file mode 100644
index b14b13a76..000000000
--- a/dask_planner/.classpath
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dask_planner/.gitignore b/dask_planner/.gitignore
deleted file mode 100644
index c8f044299..000000000
--- a/dask_planner/.gitignore
+++ /dev/null
@@ -1,72 +0,0 @@
-/target
-
-# Byte-compiled / optimized / DLL files
-__pycache__/
-.pytest_cache/
-*.py[cod]
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-.venv/
-env/
-bin/
-build/
-develop-eggs/
-dist/
-eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-include/
-man/
-venv/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-pip-selfcheck.json
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.cache
-nosetests.xml
-coverage.xml
-
-# Translations
-*.mo
-
-# Mr Developer
-.mr.developer.cfg
-.project
-.pydevproject
-
-# Rope
-.ropeproject
-
-# Django stuff:
-*.log
-*.pot
-
-.DS_Store
-
-# Sphinx documentation
-docs/_build/
-
-# PyCharm
-.idea/
-
-# VSCode
-.vscode/
-
-# Pyenv
-.python-version
diff --git a/dask_planner/.settings/org.eclipse.core.resources.prefs b/dask_planner/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 92920805e..000000000
--- a/dask_planner/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//target/generated-sources/annotations=UTF-8
-encoding/=UTF-8
diff --git a/dask_planner/.settings/org.eclipse.jdt.apt.core.prefs b/dask_planner/.settings/org.eclipse.jdt.apt.core.prefs
deleted file mode 100644
index d4313d4b2..000000000
--- a/dask_planner/.settings/org.eclipse.jdt.apt.core.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.apt.aptEnabled=false
diff --git a/dask_planner/.settings/org.eclipse.jdt.core.prefs b/dask_planner/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1b6e1ef22..000000000
--- a/dask_planner/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.processAnnotations=disabled
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/dask_planner/.settings/org.eclipse.m2e.core.prefs b/dask_planner/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1c..000000000
--- a/dask_planner/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/dask_planner/Cargo.toml b/dask_planner/Cargo.toml
deleted file mode 100644
index 8beffe3aa..000000000
--- a/dask_planner/Cargo.toml
+++ /dev/null
@@ -1,23 +0,0 @@
-[package]
-name = "dask_planner"
-repository = "https://github.com/dask-contrib/dask-sql"
-version = "0.1.0"
-description = "Bindings for DataFusion used by Dask-SQL"
-readme = "README.md"
-license = "Apache-2.0"
-edition = "2021"
-rust-version = "1.65"
-
-[dependencies]
-async-trait = "0.1.71"
-datafusion-python = { git = "https://github.com/apache/arrow-datafusion-python.git", rev = "9493638" }
-env_logger = "0.10"
-log = "^0.4"
-pyo3 = { version = "0.18.3", features = ["extension-module", "abi3", "abi3-py38"] }
-pyo3-log = "0.8.2"
-
-[build-dependencies]
-pyo3-build-config = "0.19.1"
-
-[lib]
-crate-type = ["cdylib"]
diff --git a/dask_planner/MANIFEST.in b/dask_planner/MANIFEST.in
deleted file mode 100644
index 7c68298bd..000000000
--- a/dask_planner/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-include Cargo.toml
-recursive-include src *
diff --git a/dask_planner/README.md b/dask_planner/README.md
deleted file mode 100644
index e69de29bb..000000000
diff --git a/dask_planner/pyproject.toml b/dask_planner/pyproject.toml
deleted file mode 100644
index f153e3f5a..000000000
--- a/dask_planner/pyproject.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-[build-system]
-requires = ["setuptools", "wheel", "setuptools-rust"]
-
-[project]
-name = "datafusion_planner"
-requires-python = ">=3.8"
-classifiers = [
- "Programming Language :: Rust",
- "Programming Language :: Python :: Implementation :: CPython",
- "Programming Language :: Python :: Implementation :: PyPy",
-]
diff --git a/dask_planner/src/expression.rs b/dask_planner/src/expression.rs
deleted file mode 100644
index aa1a60a9b..000000000
--- a/dask_planner/src/expression.rs
+++ /dev/null
@@ -1,940 +0,0 @@
-use std::{borrow::Cow, convert::From, sync::Arc};
-
-use datafusion_python::{
- datafusion::arrow::datatypes::DataType,
- datafusion_common::{Column, DFField, DFSchema, ScalarValue},
- datafusion_expr::{
- expr::{AggregateFunction, BinaryExpr, Cast, Sort, TryCast, WindowFunction},
- lit,
- utils::exprlist_to_fields,
- Between,
- BuiltinScalarFunction,
- Case,
- Expr,
- GetIndexedField,
- Like,
- LogicalPlan,
- Operator,
- },
- datafusion_sql::TableReference,
-};
-use pyo3::prelude::*;
-
-use crate::{
- error::{DaskPlannerError, Result},
- sql::{
- exceptions::{py_runtime_err, py_type_err},
- logical,
- types::RexType,
- },
-};
-
-/// An PyExpr that can be used on a DataFrame
-#[pyclass(name = "Expression", module = "datafusion", subclass)]
-#[derive(Debug, Clone)]
-pub struct PyExpr {
- pub expr: Expr,
- // Why a Vec here? Because BinaryExpr on Join might have multiple LogicalPlans
- pub input_plan: Option>>,
-}
-
-impl From for Expr {
- fn from(expr: PyExpr) -> Expr {
- expr.expr
- }
-}
-
-#[pyclass(name = "ScalarValue", module = "datafusion", subclass)]
-#[derive(Debug, Clone)]
-pub struct PyScalarValue {
- pub scalar_value: ScalarValue,
-}
-
-impl From for ScalarValue {
- fn from(pyscalar: PyScalarValue) -> ScalarValue {
- pyscalar.scalar_value
- }
-}
-
-impl From for PyScalarValue {
- fn from(scalar_value: ScalarValue) -> PyScalarValue {
- PyScalarValue { scalar_value }
- }
-}
-
-/// Convert a list of DataFusion Expr to PyExpr
-pub fn py_expr_list(input: &Arc, expr: &[Expr]) -> PyResult> {
- Ok(expr
- .iter()
- .map(|e| PyExpr::from(e.clone(), Some(vec![input.clone()])))
- .collect())
-}
-
-impl PyExpr {
- /// Generally we would implement the `From` trait offered by Rust
- /// However in this case Expr does not contain the contextual
- /// `LogicalPlan` instance that we need so we need to make a instance
- /// function to take and create the PyExpr.
- pub fn from(expr: Expr, input: Option>>) -> PyExpr {
- PyExpr {
- input_plan: input,
- expr,
- }
- }
-
- /// Determines the name of the `Expr` instance by examining the LogicalPlan
- pub fn _column_name(&self, plan: &LogicalPlan) -> Result {
- let field = expr_to_field(&self.expr, plan)?;
- Ok(field.qualified_column().flat_name())
- }
-
- fn _rex_type(&self, expr: &Expr) -> RexType {
- match expr {
- Expr::Alias(..) => RexType::Alias,
- Expr::Column(..) | Expr::QualifiedWildcard { .. } | Expr::GetIndexedField { .. } => {
- RexType::Reference
- }
- Expr::ScalarVariable(..) | Expr::Literal(..) => RexType::Literal,
- Expr::BinaryExpr { .. }
- | Expr::Not(..)
- | Expr::IsNotNull(..)
- | Expr::Negative(..)
- | Expr::IsNull(..)
- | Expr::Like { .. }
- | Expr::ILike { .. }
- | Expr::SimilarTo { .. }
- | Expr::Between { .. }
- | Expr::Case { .. }
- | Expr::Cast { .. }
- | Expr::TryCast { .. }
- | Expr::Sort { .. }
- | Expr::ScalarFunction { .. }
- | Expr::AggregateFunction { .. }
- | Expr::WindowFunction { .. }
- | Expr::AggregateUDF { .. }
- | Expr::InList { .. }
- | Expr::Wildcard
- | Expr::ScalarUDF { .. }
- | Expr::Exists { .. }
- | Expr::InSubquery { .. }
- | Expr::GroupingSet(..)
- | Expr::IsTrue(..)
- | Expr::IsFalse(..)
- | Expr::IsUnknown(_)
- | Expr::IsNotTrue(..)
- | Expr::IsNotFalse(..)
- | Expr::Placeholder { .. }
- | Expr::OuterReferenceColumn(_, _)
- | Expr::IsNotUnknown(_) => RexType::Call,
- Expr::ScalarSubquery(..) => RexType::ScalarSubquery,
- }
- }
-}
-
-macro_rules! extract_scalar_value {
- ($self: expr, $variant: ident) => {
- match $self.get_scalar_value()? {
- ScalarValue::$variant(value) => Ok(*value),
- other => Err(unexpected_literal_value(other)),
- }
- };
-}
-
-#[pymethods]
-impl PyExpr {
- #[staticmethod]
- pub fn literal(value: PyScalarValue) -> PyExpr {
- PyExpr::from(lit(value.scalar_value), None)
- }
-
- /// Extracts the LogicalPlan from a Subquery, or supported Subquery sub-type, from
- /// the expression instance
- #[pyo3(name = "getSubqueryLogicalPlan")]
- pub fn subquery_plan(&self) -> PyResult {
- match &self.expr {
- Expr::ScalarSubquery(subquery) => Ok(subquery.subquery.as_ref().clone().into()),
- _ => Err(py_type_err(format!(
- "Attempted to extract a LogicalPlan instance from invalid Expr {:?}.
- Only Subquery and related variants are supported for this operation.",
- &self.expr
- ))),
- }
- }
-
- /// If this Expression instances references an existing
- /// Column in the SQL parse tree or not
- #[pyo3(name = "isInputReference")]
- pub fn is_input_reference(&self) -> PyResult {
- Ok(matches!(&self.expr, Expr::Column(_col)))
- }
-
- #[pyo3(name = "toString")]
- pub fn to_string(&self) -> PyResult {
- Ok(format!("{}", &self.expr))
- }
-
- /// Gets the positional index of the Expr instance from the LogicalPlan DFSchema
- #[pyo3(name = "getIndex")]
- pub fn index(&self) -> PyResult {
- let input: &Option>> = &self.input_plan;
- match input {
- Some(input_plans) if !input_plans.is_empty() => {
- let mut schema: DFSchema = (**input_plans[0].schema()).clone();
- for plan in input_plans.iter().skip(1) {
- schema.merge(plan.schema().as_ref());
- }
- let name = get_expr_name(&self.expr).map_err(py_runtime_err)?;
- schema
- .index_of_column(&Column::from_qualified_name(name.clone()))
- .or_else(|_| {
- // Handles cases when from_qualified_name doesn't format the Column correctly.
- // "name" will always contain the name of the column. Anything in addition to
- // that will be separated by a '.' and should be further referenced.
- let parts = name.split('.').collect::>();
- let tbl_reference = match parts.len() {
- // Single element means name contains just the column name so no TableReference
- 1 => None,
- // Tablename.column_name
- 2 => Some(
- TableReference::Bare {
- table: Cow::Borrowed(parts[0]),
- }
- .to_owned_reference(),
- ),
- // Schema_name.table_name.column_name
- 3 => Some(
- TableReference::Partial {
- schema: Cow::Borrowed(parts[0]),
- table: Cow::Borrowed(parts[1]),
- }
- .to_owned_reference(),
- ),
- // catalog_name.schema_name.table_name.column_name
- 4 => Some(
- TableReference::Full {
- catalog: Cow::Borrowed(parts[0]),
- schema: Cow::Borrowed(parts[1]),
- table: Cow::Borrowed(parts[2]),
- }
- .to_owned_reference(),
- ),
- _ => None,
- };
-
- let col = Column {
- relation: tbl_reference.clone(),
- name: parts[parts.len() - 1].to_string(),
- };
- schema.index_of_column(&col).map_err(py_runtime_err)
- })
- }
- _ => Err(py_runtime_err(
- "We need a valid LogicalPlan instance to get the Expr's index in the schema",
- )),
- }
- }
-
- /// Examine the current/"self" PyExpr and return its "type"
- /// In this context a "type" is what Dask-SQL Python
- /// RexConverter plugin instance should be invoked to handle
- /// the Rex conversion
- #[pyo3(name = "getExprType")]
- pub fn get_expr_type(&self) -> PyResult {
- Ok(String::from(match &self.expr {
- Expr::Alias(..)
- | Expr::Column(..)
- | Expr::Literal(..)
- | Expr::BinaryExpr { .. }
- | Expr::Between { .. }
- | Expr::Cast { .. }
- | Expr::Sort { .. }
- | Expr::ScalarFunction { .. }
- | Expr::AggregateFunction { .. }
- | Expr::InList { .. }
- | Expr::InSubquery { .. }
- | Expr::ScalarUDF { .. }
- | Expr::AggregateUDF { .. }
- | Expr::Exists { .. }
- | Expr::ScalarSubquery(..)
- | Expr::QualifiedWildcard { .. }
- | Expr::Not(..)
- | Expr::OuterReferenceColumn(_, _)
- | Expr::GroupingSet(..) => self.expr.variant_name(),
- Expr::ScalarVariable(..)
- | Expr::IsNotNull(..)
- | Expr::Negative(..)
- | Expr::GetIndexedField { .. }
- | Expr::IsNull(..)
- | Expr::IsTrue(_)
- | Expr::IsFalse(_)
- | Expr::IsUnknown(_)
- | Expr::IsNotTrue(_)
- | Expr::IsNotFalse(_)
- | Expr::Like { .. }
- | Expr::ILike { .. }
- | Expr::SimilarTo { .. }
- | Expr::IsNotUnknown(_)
- | Expr::Case { .. }
- | Expr::TryCast { .. }
- | Expr::WindowFunction { .. }
- | Expr::Placeholder { .. }
- | Expr::Wildcard => {
- return Err(py_type_err(format!(
- "Encountered unsupported expression type: {}",
- &self.expr.variant_name()
- )))
- }
- }))
- }
-
- /// Determines the type of this Expr based on its variant
- #[pyo3(name = "getRexType")]
- pub fn rex_type(&self) -> PyResult {
- Ok(self._rex_type(&self.expr))
- }
-
- /// Python friendly shim code to get the name of a column referenced by an expression
- pub fn column_name(&self, mut plan: logical::PyLogicalPlan) -> PyResult {
- self._column_name(&plan.current_node())
- .map_err(py_runtime_err)
- }
-
- /// Row expressions, Rex(s), operate on the concept of operands. This maps to expressions that are used in
- /// the "call" logic of the Dask-SQL python codebase. Different variants of Expressions, Expr(s),
- /// store those operands in different datastructures. This function examines the Expr variant and returns
- /// the operands to the calling logic as a Vec of PyExpr instances.
- #[pyo3(name = "getOperands")]
- pub fn get_operands(&self) -> PyResult> {
- match &self.expr {
- // Expr variants that are themselves the operand to return
- Expr::Column(..) | Expr::ScalarVariable(..) | Expr::Literal(..) => {
- Ok(vec![PyExpr::from(
- self.expr.clone(),
- self.input_plan.clone(),
- )])
- }
-
- // Expr(s) that house the Expr instance to return in their bounded params
- Expr::Alias(expr, ..)
- | Expr::Not(expr)
- | Expr::IsNull(expr)
- | Expr::IsNotNull(expr)
- | Expr::IsTrue(expr)
- | Expr::IsFalse(expr)
- | Expr::IsUnknown(expr)
- | Expr::IsNotTrue(expr)
- | Expr::IsNotFalse(expr)
- | Expr::IsNotUnknown(expr)
- | Expr::Negative(expr)
- | Expr::GetIndexedField(GetIndexedField { expr, .. })
- | Expr::Cast(Cast { expr, .. })
- | Expr::TryCast(TryCast { expr, .. })
- | Expr::Sort(Sort { expr, .. })
- | Expr::InSubquery { expr, .. } => {
- Ok(vec![PyExpr::from(*expr.clone(), self.input_plan.clone())])
- }
-
- // Expr variants containing a collection of Expr(s) for operands
- Expr::AggregateFunction(AggregateFunction { args, .. })
- | Expr::AggregateUDF { args, .. }
- | Expr::ScalarFunction { args, .. }
- | Expr::ScalarUDF { args, .. }
- | Expr::WindowFunction(WindowFunction { args, .. }) => Ok(args
- .iter()
- .map(|arg| PyExpr::from(arg.clone(), self.input_plan.clone()))
- .collect()),
-
- // Expr(s) that require more specific processing
- Expr::Case(Case {
- expr,
- when_then_expr,
- else_expr,
- }) => {
- let mut operands: Vec = Vec::new();
-
- if let Some(e) = expr {
- for (when, then) in when_then_expr {
- operands.push(PyExpr::from(
- Expr::BinaryExpr(BinaryExpr::new(
- Box::new(*e.clone()),
- Operator::Eq,
- Box::new(*when.clone()),
- )),
- self.input_plan.clone(),
- ));
- operands.push(PyExpr::from(*then.clone(), self.input_plan.clone()));
- }
- } else {
- for (when, then) in when_then_expr {
- operands.push(PyExpr::from(*when.clone(), self.input_plan.clone()));
- operands.push(PyExpr::from(*then.clone(), self.input_plan.clone()));
- }
- };
-
- if let Some(e) = else_expr {
- operands.push(PyExpr::from(*e.clone(), self.input_plan.clone()));
- };
-
- Ok(operands)
- }
- Expr::InList { expr, list, .. } => {
- let mut operands: Vec =
- vec![PyExpr::from(*expr.clone(), self.input_plan.clone())];
- for list_elem in list {
- operands.push(PyExpr::from(list_elem.clone(), self.input_plan.clone()));
- }
-
- Ok(operands)
- }
- Expr::BinaryExpr(BinaryExpr { left, right, .. }) => Ok(vec![
- PyExpr::from(*left.clone(), self.input_plan.clone()),
- PyExpr::from(*right.clone(), self.input_plan.clone()),
- ]),
- Expr::Like(Like { expr, pattern, .. }) => Ok(vec![
- PyExpr::from(*expr.clone(), self.input_plan.clone()),
- PyExpr::from(*pattern.clone(), self.input_plan.clone()),
- ]),
- Expr::ILike(Like { expr, pattern, .. }) => Ok(vec![
- PyExpr::from(*expr.clone(), self.input_plan.clone()),
- PyExpr::from(*pattern.clone(), self.input_plan.clone()),
- ]),
- Expr::SimilarTo(Like { expr, pattern, .. }) => Ok(vec![
- PyExpr::from(*expr.clone(), self.input_plan.clone()),
- PyExpr::from(*pattern.clone(), self.input_plan.clone()),
- ]),
- Expr::Between(Between {
- expr,
- negated: _,
- low,
- high,
- }) => Ok(vec![
- PyExpr::from(*expr.clone(), self.input_plan.clone()),
- PyExpr::from(*low.clone(), self.input_plan.clone()),
- PyExpr::from(*high.clone(), self.input_plan.clone()),
- ]),
-
- // Currently un-support/implemented Expr types for Rex Call operations
- Expr::GroupingSet(..)
- | Expr::OuterReferenceColumn(_, _)
- | Expr::Wildcard
- | Expr::QualifiedWildcard { .. }
- | Expr::ScalarSubquery(..)
- | Expr::Placeholder { .. }
- | Expr::Exists { .. } => Err(py_runtime_err(format!(
- "Unimplemented Expr type: {}",
- self.expr
- ))),
- }
- }
-
- #[pyo3(name = "getOperatorName")]
- pub fn get_operator_name(&self) -> PyResult {
- Ok(match &self.expr {
- Expr::BinaryExpr(BinaryExpr {
- left: _,
- op,
- right: _,
- }) => format!("{op}"),
- Expr::ScalarFunction { fun, args: _ } => format!("{fun}"),
- Expr::ScalarUDF { fun, .. } => fun.name.clone(),
- Expr::Cast { .. } => "cast".to_string(),
- Expr::Between { .. } => "between".to_string(),
- Expr::Case { .. } => "case".to_string(),
- Expr::IsNull(..) => "is null".to_string(),
- Expr::IsNotNull(..) => "is not null".to_string(),
- Expr::IsTrue(_) => "is true".to_string(),
- Expr::IsFalse(_) => "is false".to_string(),
- Expr::IsUnknown(_) => "is unknown".to_string(),
- Expr::IsNotTrue(_) => "is not true".to_string(),
- Expr::IsNotFalse(_) => "is not false".to_string(),
- Expr::IsNotUnknown(_) => "is not unknown".to_string(),
- Expr::InList { .. } => "in list".to_string(),
- Expr::Negative(..) => "negative".to_string(),
- Expr::Not(..) => "not".to_string(),
- Expr::Like(Like { negated, .. }) => {
- if *negated {
- "not like".to_string()
- } else {
- "like".to_string()
- }
- }
- Expr::ILike(Like { negated, .. }) => {
- if *negated {
- "not ilike".to_string()
- } else {
- "ilike".to_string()
- }
- }
- Expr::SimilarTo(Like { negated, .. }) => {
- if *negated {
- "not similar to".to_string()
- } else {
- "similar to".to_string()
- }
- }
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered in get_operator_name: {:?}",
- &self.expr
- )))
- }
- })
- }
-
- /// Gets the ScalarValue represented by the Expression
- #[pyo3(name = "getType")]
- pub fn get_type(&self) -> PyResult {
- Ok(String::from(match &self.expr {
- Expr::BinaryExpr(BinaryExpr {
- left: _,
- op,
- right: _,
- }) => match op {
- Operator::Eq
- | Operator::NotEq
- | Operator::Lt
- | Operator::LtEq
- | Operator::Gt
- | Operator::GtEq
- | Operator::And
- | Operator::Or
- | Operator::IsDistinctFrom
- | Operator::IsNotDistinctFrom
- | Operator::RegexMatch
- | Operator::RegexIMatch
- | Operator::RegexNotMatch
- | Operator::RegexNotIMatch => "BOOLEAN",
- Operator::Plus | Operator::Minus | Operator::Multiply | Operator::Modulo => {
- "BIGINT"
- }
- Operator::Divide => "FLOAT",
- Operator::StringConcat => "VARCHAR",
- Operator::BitwiseShiftLeft
- | Operator::BitwiseShiftRight
- | Operator::BitwiseXor
- | Operator::BitwiseAnd
- | Operator::BitwiseOr => {
- // the type here should be the same as the type of the left expression
- // but we can only compute that if we have the schema available
- return Err(py_type_err(
- "Bitwise operators unsupported in get_type".to_string(),
- ));
- }
- },
- Expr::Literal(scalar_value) => match scalar_value {
- ScalarValue::Boolean(_value) => "Boolean",
- ScalarValue::Float32(_value) => "Float32",
- ScalarValue::Float64(_value) => "Float64",
- ScalarValue::Decimal128(_value, ..) => "Decimal128",
- ScalarValue::Dictionary(..) => "Dictionary",
- ScalarValue::Int8(_value) => "Int8",
- ScalarValue::Int16(_value) => "Int16",
- ScalarValue::Int32(_value) => "Int32",
- ScalarValue::Int64(_value) => "Int64",
- ScalarValue::UInt8(_value) => "UInt8",
- ScalarValue::UInt16(_value) => "UInt16",
- ScalarValue::UInt32(_value) => "UInt32",
- ScalarValue::UInt64(_value) => "UInt64",
- ScalarValue::Utf8(_value) => "Utf8",
- ScalarValue::LargeUtf8(_value) => "LargeUtf8",
- ScalarValue::Binary(_value) => "Binary",
- ScalarValue::LargeBinary(_value) => "LargeBinary",
- ScalarValue::Date32(_value) => "Date32",
- ScalarValue::Date64(_value) => "Date64",
- ScalarValue::Time32Second(_value) => "Time32",
- ScalarValue::Time32Millisecond(_value) => "Time32",
- ScalarValue::Time64Microsecond(_value) => "Time64",
- ScalarValue::Time64Nanosecond(_value) => "Time64",
- ScalarValue::Null => "Null",
- ScalarValue::TimestampSecond(..) => "TimestampSecond",
- ScalarValue::TimestampMillisecond(..) => "TimestampMillisecond",
- ScalarValue::TimestampMicrosecond(..) => "TimestampMicrosecond",
- ScalarValue::TimestampNanosecond(..) => "TimestampNanosecond",
- ScalarValue::IntervalYearMonth(..) => "IntervalYearMonth",
- ScalarValue::IntervalDayTime(..) => "IntervalDayTime",
- ScalarValue::IntervalMonthDayNano(..) => "IntervalMonthDayNano",
- ScalarValue::List(..) => "List",
- ScalarValue::Struct(..) => "Struct",
- ScalarValue::FixedSizeBinary(_, _) => "FixedSizeBinary",
- },
- Expr::ScalarFunction { fun, args: _ } => match fun {
- BuiltinScalarFunction::Abs => "Abs",
- BuiltinScalarFunction::DatePart => "DatePart",
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered for ScalarFunction in get_type; {fun:?}"
- )))
- }
- },
- Expr::Cast(Cast { expr: _, data_type }) => match data_type {
- DataType::Null => "NULL",
- DataType::Boolean => "BOOLEAN",
- DataType::Int8 | DataType::UInt8 => "TINYINT",
- DataType::Int16 | DataType::UInt16 => "SMALLINT",
- DataType::Int32 | DataType::UInt32 => "INTEGER",
- DataType::Int64 | DataType::UInt64 => "BIGINT",
- DataType::Float32 => "FLOAT",
- DataType::Float64 => "DOUBLE",
- DataType::Timestamp { .. } => "TIMESTAMP",
- DataType::Date32 | DataType::Date64 => "DATE",
- DataType::Time32(..) => "TIME32",
- DataType::Time64(..) => "TIME64",
- DataType::Duration(..) => "DURATION",
- DataType::Interval(..) => "INTERVAL",
- DataType::Binary => "BINARY",
- DataType::FixedSizeBinary(..) => "FIXEDSIZEBINARY",
- DataType::LargeBinary => "LARGEBINARY",
- DataType::Utf8 => "VARCHAR",
- DataType::LargeUtf8 => "BIGVARCHAR",
- DataType::List(..) => "LIST",
- DataType::FixedSizeList(..) => "FIXEDSIZELIST",
- DataType::LargeList(..) => "LARGELIST",
- DataType::Struct(..) => "STRUCT",
- DataType::Union(..) => "UNION",
- DataType::Dictionary(..) => "DICTIONARY",
- DataType::Decimal128(..) => "DECIMAL",
- DataType::Decimal256(..) => "DECIMAL",
- DataType::Map(..) => "MAP",
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered for Cast in get_type; {data_type:?}"
- )))
- }
- },
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered in get_type; {:?}",
- &self.expr
- )))
- }
- }))
- }
-
- /// Gets the precision/scale represented by the Expression's decimal datatype
- #[pyo3(name = "getPrecisionScale")]
- pub fn get_precision_scale(&self) -> PyResult<(u8, i8)> {
- Ok(match &self.expr {
- Expr::Cast(Cast { expr: _, data_type }) => match data_type {
- DataType::Decimal128(precision, scale) | DataType::Decimal256(precision, scale) => {
- (*precision, *scale)
- }
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered for Cast in get_precision_scale; {data_type:?}"
- )))
- }
- },
- _ => {
- return Err(py_type_err(format!(
- "Catch all triggered in get_precision_scale; {:?}",
- &self.expr
- )))
- }
- })
- }
-
- #[pyo3(name = "getFilterExpr")]
- pub fn get_filter_expr(&self) -> PyResult