diff --git a/.github/actions/setup-rust/action.yml b/.github/actions/setup-rust/action.yml index c3b0636..8403990 100644 --- a/.github/actions/setup-rust/action.yml +++ b/.github/actions/setup-rust/action.yml @@ -28,10 +28,8 @@ runs: - name: Setup Rust toolchain shell: bash run: | - rustup show rustup self update - rustup install stable - rustup default stable + rustup show rustup component add clippy rustup component add rustfmt - name: Install Cargo tools diff --git a/crates/datafusion-rocksdb/Cargo.toml b/crates/datafusion-rocksdb/Cargo.toml new file mode 100644 index 0000000..3d198b9 --- /dev/null +++ b/crates/datafusion-rocksdb/Cargo.toml @@ -0,0 +1,14 @@ +[package] +authors = ["Matthew Turner "] +description = "DataFusion UDFs and extension points for RocksDB" +edition = "2021" +homepage = "https://github.com/datafusion-contrib/datafusion-dft/tree/main/crates/datafusion-rocksdb" +keywords = ["datafusion", "rocksdb", "query", "sql"] +license = "Apache-2.0" +name = "datafusion-rocksdb" +readme = "README.md" +repository = "https://github.com/datafusion-contrib/datafusion-dft/tree/main/crates/datafusion-rocksdb" +version = "0.1.0" + +[dependencies] +datafusion = { version = "46" } diff --git a/crates/datafusion-rocksdb/README.md b/crates/datafusion-rocksdb/README.md new file mode 100644 index 0000000..e48df96 --- /dev/null +++ b/crates/datafusion-rocksdb/README.md @@ -0,0 +1,32 @@ +# DataFusion RocksDB + +A DataFusion extension crate that provides User-Defined Functions (UDFs) and extension points for integrating RocksDB with Apache DataFusion. + +## Overview + +This crate enables DataFusion to work with RocksDB, providing: + +- **UDFs**: Custom functions for interacting with RocksDB data +- **Extension Points**: DataFusion extension interfaces for RocksDB integration +- **Performance**: Efficient key-value storage and retrieval through RocksDB + +## Features + +This crate is currently under development. Planned features include: + +- Reading and writing data to RocksDB key-value stores +- Table functions for querying RocksDB data +- Custom UDFs for RocksDB operations + +## Usage + +Add this crate to your `Cargo.toml`: + +```toml +[dependencies] +datafusion-rocksdb = "0.1.0" +``` + +## License + +Licensed under the Apache License, Version 2.0. See [LICENSE.txt](../../LICENSE.txt) for details. diff --git a/crates/datafusion-rocksdb/src/lib.rs b/crates/datafusion-rocksdb/src/lib.rs new file mode 100644 index 0000000..71dc334 --- /dev/null +++ b/crates/datafusion-rocksdb/src/lib.rs @@ -0,0 +1,33 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +//! DataFusion RocksDB integration +//! +//! This crate provides User-Defined Functions (UDFs) and DataFusion extension points +//! for working with RocksDB key-value stores. + +#![deny(clippy::clone_on_ref_ptr)] + +/// Module for RocksDB-related User-Defined Functions +pub mod udfs { + //! User-Defined Functions for RocksDB operations +} + +/// Module for RocksDB DataFusion extension points +pub mod extensions { + //! DataFusion extension points for RocksDB integration +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index c1bc0a6..cf6d0f5 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.85.0" +channel = "1.86.0"