From 43856a597d3c0b3e81d9480937a283e3d21ebc0b Mon Sep 17 00:00:00 2001 From: George Stagg Date: Tue, 21 Apr 2026 11:58:10 +0100 Subject: [PATCH] Actually allow ODBC connections from CLI --- src/cli.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/cli.rs b/src/cli.rs index 86b83331..049d679e 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -29,7 +29,7 @@ pub enum Commands { /// The ggsql query to execute query: String, - /// Data source connection string (duckdb://, sqlite://) + /// Data source connection string (duckdb://, sqlite://, odbc://) #[arg(long, default_value = "duckdb://memory")] reader: String, @@ -51,7 +51,7 @@ pub enum Commands { /// Path to .sql file containing ggsql query file: PathBuf, - /// Data source connection string (duckdb://, sqlite://) + /// Data source connection string (duckdb://, sqlite://, odbc://) #[arg(long, default_value = "duckdb://memory")] reader: String, @@ -184,6 +184,23 @@ fn cmd_exec(query: String, reader: String, writer: String, output: Option r, + Err(e) => { + eprintln!("Failed to create reader: {}", e); + std::process::exit(1); + } + }; + exec_with_reader(&query, &r, &writer, output, verbose); + } + #[cfg(not(feature = "odbc"))] + { + eprintln!("ODBC reader not compiled in. Rebuild with --features odbc"); + std::process::exit(1); + } } else if reader.starts_with("postgres://") || reader.starts_with("postgresql://") { eprintln!("PostgreSQL reader is not yet implemented"); std::process::exit(1);