Skip to content

Commit f7e56e9

Browse files
authored
Merge pull request #9
feat: parallel import of CSV and Parquet
2 parents 7650cc1 + 096aec9 commit f7e56e9

File tree

22 files changed

+2191
-214
lines changed

22 files changed

+2191
-214
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@ specs/_archive
3535

3636
# Exclude coding agents
3737
.claude/
38+
.serena

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "exarrow-rs"
3-
version = "0.3.2"
3+
version = "0.4.0"
44
edition = "2021"
55
license = "MIT"
66
authors = ["Exasol Labs"]

examples/driver_manager_usage.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -106,28 +106,22 @@ fn execute_update(conn: &mut impl Connection, sql: &str) -> Result<Option<i64>,
106106
}
107107

108108
fn main() -> Result<(), Box<dyn Error>> {
109-
// Load the driver dynamically from the shared library
110109
let mut driver = load_driver()?;
111110

112-
// Create a database connection factory with the URI
113111
let uri = get_connection_uri();
114112
let opts = vec![(OptionDatabase::Uri, OptionValue::String(uri))];
115113
let db = driver.new_database_with_opts(opts)?;
116114

117-
// Establish a connection
118115
let mut conn = db.new_connection()?;
119116

120-
// Execute a simple query
121117
let (_rows, _cols) =
122118
execute_select(&mut conn, "SELECT 42 AS answer, 'Hello ADBC!' AS message")?;
123119

124-
// Query with multiple rows
125120
let (_rows, _cols) = execute_select(
126121
&mut conn,
127122
"SELECT LEVEL AS id, 'Row ' || LEVEL AS label FROM DUAL CONNECT BY LEVEL <= 5",
128123
)?;
129124

130-
// Get driver info
131125
{
132126
let mut reader = conn.get_info(None)?;
133127
for batch_result in reader.by_ref() {
@@ -149,18 +143,15 @@ fn main() -> Result<(), Box<dyn Error>> {
149143
}
150144
}
151145

152-
// DDL/DML operations (create, insert, select, cleanup)
153146
let schema_name = format!(
154147
"DM_EXAMPLE_{}",
155148
std::time::SystemTime::now()
156149
.duration_since(std::time::UNIX_EPOCH)?
157150
.as_millis()
158151
);
159152

160-
// Create schema
161153
execute_update(&mut conn, &format!("CREATE SCHEMA {}", schema_name))?;
162154

163-
// Create table
164155
execute_update(
165156
&mut conn,
166157
&format!(
@@ -169,7 +160,6 @@ fn main() -> Result<(), Box<dyn Error>> {
169160
),
170161
)?;
171162

172-
// Insert rows
173163
execute_update(
174164
&mut conn,
175165
&format!(
@@ -178,7 +168,6 @@ fn main() -> Result<(), Box<dyn Error>> {
178168
),
179169
)?;
180170

181-
// Query the data
182171
let (_rows, _cols) = execute_select(
183172
&mut conn,
184173
&format!(
@@ -187,7 +176,6 @@ fn main() -> Result<(), Box<dyn Error>> {
187176
),
188177
)?;
189178

190-
// Cleanup
191179
execute_update(&mut conn, &format!("DROP SCHEMA {} CASCADE", schema_name))?;
192180

193181
Ok(())

0 commit comments

Comments
 (0)