forked from datafusion-contrib/datafusion-table-providers
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
172 lines (157 loc) · 6.17 KB
/
Copy pathCargo.toml
File metadata and controls
172 lines (157 loc) · 6.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
[package]
name = "datafusion-table-providers"
version = "0.1.0"
readme = "README.md"
edition = "2021"
repository = "https://github.com/datafusion-contrib/datafusion-table-providers"
[dependencies]
arrow = { version = "55", features = ["ffi"] }
arrow-array = { version = "55", optional = true }
arrow-flight = { version = "55", optional = true, features = ["flight-sql-experimental", "tls"] }
arrow-schema = { version = "55", optional = true, features = ["serde"] }
arrow-json = "55"
async-stream = { version = "0.3.5", optional = true }
async-trait = "0.1.80"
num-bigint = "0.4.4"
base64 = { version = "0.22.1", optional = true }
bytes = { version = "1.7.1", optional = true }
byte-unit = { version = "5.1.4", optional = true }
bigdecimal = "0.4.5"
byteorder = "1.5.0"
chrono = "0.4"
datafusion = "47"
datafusion-expr = { version = "47", optional = true }
datafusion-physical-expr = { version = "47", optional = true }
datafusion-physical-plan = { version = "47", optional = true }
datafusion-proto = { version = "47", optional = true }
duckdb = { version = "1.1.3", features = [
"bundled",
"r2d2",
"vtab",
"vtab-arrow",
"appender-arrow",
], optional = true }
fallible-iterator = "0.3.0"
futures = "0.3.30"
mysql_async = { version = "0.35.1", features = ["native-tls-tls", "chrono", "hdrhistogram", "bigdecimal", "time"], optional = true }
mongodb = { version = "3.2.2", features = ["openssl-tls"], optional = true }
num-traits = { version = "0.2", optional = true }
prost = { version = "0.13.2", optional = true }
rand = "0.8.5"
r2d2 = { version = "0.8.10", optional = true }
rust_decimal = { version = "1.32", optional = true }
rusqlite = { version = "0.31.0", optional = true }
sea-query = { git = "https://github.com/spiceai/sea-query.git", rev = "213b6b876068f58159ebdd5852604a021afaebf9", features = ["backend-sqlite", "backend-postgres", "postgres-array", "with-rust_decimal", "with-bigdecimal", "with-time", "with-chrono"] }
secrecy = "0.10.3"
serde = { version = "1.0.209", features = ["derive"] }
serde_json = "1.0.124"
snafu = "0.8.3"
time = "0.3.36"
tokio = { version = "1.38.0", features = ["macros", "fs"] }
tokio-postgres = { version = "0.7.10", features = ["with-chrono-0_4", "with-uuid-1", "with-serde_json-1", "with-geo-types-0_7"], optional = true }
tracing = "0.1.40"
uuid = { version = "1.9.1", optional = true }
postgres-native-tls = { version = "0.5.0", optional = true }
bb8 = { version = "0.8", optional = true }
bb8-postgres = { version = "0.8", optional = true }
native-tls = { version = "0.2.11", optional = true }
trust-dns-resolver = "0.23.2"
url = "2.5.1"
pem = { version = "3.0.4", optional = true }
tokio-rusqlite = { version = "0.5.1", optional = true }
tonic = { version = "0.12.2", optional = true }
datafusion-federation = { version = "0.4.2", features = ["sql"] }
itertools = "0.13.0"
dyn-clone = { version = "1.0.17", optional = true }
geo-types = "0.7.13"
fundu = "2.0.1"
[dev-dependencies]
anyhow = "1.0.86"
bollard = "0.16.1"
rand = "0.8.5"
reqwest = "0.12.5"
secrecy = "0.10.3"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
test-log = { version = "0.2.16", features = ["trace"] }
rstest = "0.22.0"
geozero = { version = "0.13.0", features = ["with-wkb"] }
tokio-stream = { version = "0.1.15", features = ["net"] }
insta = { version = "1.40.0", features = ["filters"] }
datafusion-physical-plan = { version = "47" }
tempfile = "3.8.1"
[features]
mysql = ["dep:mysql_async", "dep:async-stream"]
postgres = ["dep:tokio-postgres", "dep:uuid", "dep:postgres-native-tls", "dep:bb8", "dep:bb8-postgres", "dep:native-tls", "dep:pem", "dep:async-stream", "dep:arrow-schema"]
sqlite = ["dep:rusqlite", "dep:tokio-rusqlite", "dep:arrow-schema"]
duckdb = ["dep:duckdb", "dep:r2d2", "dep:uuid", "dep:dyn-clone", "dep:async-stream", "dep:arrow-schema", "dep:byte-unit"]
flight = [
"dep:arrow-array",
"dep:arrow-flight",
"dep:arrow-schema",
"dep:base64",
"dep:bytes",
"dep:datafusion-expr",
"dep:datafusion-physical-expr",
"dep:datafusion-physical-plan",
"dep:datafusion-proto",
"dep:prost",
"dep:tonic",
]
duckdb-federation = ["duckdb"]
sqlite-federation = ["sqlite"]
postgres-federation = ["postgres"]
mongodb = [
"dep:mongodb",
"dep:async-stream",
"dep:arrow-schema",
"dep:rust_decimal",
"dep:num-traits",
]
[patch.crates-io]
datafusion-federation = { git = "https://github.com/spiceai/datafusion-federation.git", rev = "9db74a4b360df6be1bb554c59a474a2fd4bfb7e9" } # spiceai-47
duckdb = { git = "https://github.com/spiceai/duckdb-rs.git", rev = "69ae7518ee093a1b070e9e4e6f011ef353431086" } # spiceai-1.1.3-backported-arrow-55
datafusion = { git = "https://github.com/spiceai/datafusion.git", rev = "b5c62f29d2c70c5331ff50015b67b5e1cafcd578" } # spiceai-47
datafusion-expr = { git = "https://github.com/spiceai/datafusion.git", rev = "b5c62f29d2c70c5331ff50015b67b5e1cafcd578" } # spiceai-47
datafusion-physical-expr = { git = "https://github.com/spiceai/datafusion.git", rev = "b5c62f29d2c70c5331ff50015b67b5e1cafcd578" } # spiceai-47
datafusion-physical-plan = { git = "https://github.com/spiceai/datafusion.git", rev = "b5c62f29d2c70c5331ff50015b67b5e1cafcd578" } # spiceai-47
datafusion-proto = { git = "https://github.com/spiceai/datafusion.git", rev = "b5c62f29d2c70c5331ff50015b67b5e1cafcd578" } # spiceai-47
[[example]]
name = "odbc_sqlite"
path = "examples/odbc_sqlite.rs"
required-features = ["sqlite", "odbc"]
[[example]]
name = "duckdb"
path = "examples/duckdb.rs"
required-features = ["duckdb"]
[[example]]
name = "duckdb_external_table"
path = "examples/duckdb_external_table.rs"
required-features = ["duckdb"]
[[example]]
name = "duckdb_function"
path = "examples/duckdb_function.rs"
required-features = ["duckdb"]
[[example]]
name = "flight-sql"
path = "examples/flight-sql.rs"
required-features = ["flight"]
[[example]]
name = "sqlite"
path = "examples/sqlite.rs"
required-features = ["sqlite"]
[[example]]
name = "clickhouse"
path = "examples/clickhouse.rs"
required-features = ["clickhouse"]
[[example]]
name = "mysql"
path = "examples/mysql.rs"
required-features = ["mysql"]
[[example]]
name = "postgres"
path = "examples/postgres.rs"
required-features = ["postgres"]
[[example]]
name = "mongodb"
path = "examples/mongodb.rs"
required-features = ["mongodb"]