Skip to content

Commit 4fe546d

Browse files
committed
Generic Arrow Flight RPC data source with a Flight SQL adapter
1 parent 64a9280 commit 4fe546d

File tree

8 files changed

+924
-1
lines changed

8 files changed

+924
-1
lines changed

datafusion-cli/Cargo.lock

Lines changed: 201 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

datafusion/core/Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ default = [
5959
"unicode_expressions",
6060
"compression",
6161
"parquet",
62+
"flight",
6263
]
6364
encoding_expressions = ["datafusion-functions/encoding_expressions"]
6465
# Used for testing ONLY: causes all values to hash to the same value (test for collisions)
6566
force_hash_collisions = ["datafusion-physical-plan/force_hash_collisions", "datafusion-common/force_hash_collisions"]
67+
flight = ["dep:arrow-flight", "dep:tonic"]
6668
math_expressions = ["datafusion-functions/math_expressions"]
6769
parquet = ["datafusion-common/parquet", "dep:parquet"]
6870
pyarrow = ["datafusion-common/pyarrow", "parquet"]
@@ -83,6 +85,7 @@ ahash = { workspace = true }
8385
apache-avro = { version = "0.16", optional = true }
8486
arrow = { workspace = true }
8587
arrow-array = { workspace = true }
88+
arrow-flight = { workspace = true, optional = true }
8689
arrow-ipc = { workspace = true }
8790
arrow-schema = { workspace = true }
8891
async-compression = { version = "0.4.0", features = [
@@ -133,6 +136,7 @@ sqlparser = { workspace = true }
133136
tempfile = { workspace = true }
134137
tokio = { workspace = true }
135138
tokio-util = { version = "0.7.4", features = ["io"], optional = true }
139+
tonic = { version = "0.11", optional = true }
136140
url = { workspace = true }
137141
uuid = { version = "1.7", features = ["v4"] }
138142
xz2 = { version = "0.1", optional = true, features = ["static"] }
@@ -151,6 +155,7 @@ half = { workspace = true, default-features = true }
151155
paste = "^1.0"
152156
postgres-protocol = "0.6.4"
153157
postgres-types = { version = "0.2.4", features = ["derive", "with-chrono-0_4"] }
158+
prost = "0.12"
154159
rand = { workspace = true, features = ["small_rng"] }
155160
rand_distr = "0.4.3"
156161
regex = { workspace = true }
@@ -161,6 +166,7 @@ test-utils = { path = "../../test-utils" }
161166
thiserror = { workspace = true }
162167
tokio = { workspace = true, features = ["rt-multi-thread", "parking_lot", "fs"] }
163168
tokio-postgres = "0.7.7"
169+
tokio-stream = { version = "0.1.15", features = ["net"] }
164170

165171
[target.'cfg(not(target_os = "windows"))'.dev-dependencies]
166172
nix = { version = "0.29.0", features = ["fs"] }

0 commit comments

Comments
 (0)