|
32 | 32 |
|
33 | 33 | use datafusion::execution::runtime_env::RuntimeEnv; |
34 | 34 | use datafusion::prelude::*; |
| 35 | +#[cfg(feature = "metadata-duckdb")] |
| 36 | +use datafusion_ducklake::DuckdbMetadataProvider; |
35 | 37 | #[cfg(feature = "metadata-postgres")] |
36 | 38 | use datafusion_ducklake::PostgresMetadataProvider; |
37 | | -use datafusion_ducklake::{ |
38 | | - DuckLakeCatalog, DuckdbMetadataProvider, MetadataProvider, register_ducklake_functions, |
39 | | -}; |
| 39 | +use datafusion_ducklake::{DuckLakeCatalog, MetadataProvider, register_ducklake_functions}; |
40 | 40 | use object_store::ObjectStore; |
41 | 41 | use object_store::aws::AmazonS3Builder; |
42 | 42 | use std::env; |
@@ -78,11 +78,20 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { |
78 | 78 | run_query(provider, snapshot_id, sql).await?; |
79 | 79 | } |
80 | 80 | } else { |
81 | | - println!("Connecting to DuckDB catalog: {}", catalog_source); |
82 | | - let provider = Arc::new(DuckdbMetadataProvider::new(catalog_source)?); |
83 | | - let snapshot_id = provider.get_current_snapshot()?; |
84 | | - println!("Current snapshot ID: {}", snapshot_id); |
85 | | - run_query(provider, snapshot_id, sql).await?; |
| 81 | + #[cfg(feature = "metadata-duckdb")] |
| 82 | + { |
| 83 | + println!("Connecting to DuckDB catalog: {}", catalog_source); |
| 84 | + let provider = Arc::new(DuckdbMetadataProvider::new(catalog_source)?); |
| 85 | + let snapshot_id = provider.get_current_snapshot()?; |
| 86 | + println!("Current snapshot ID: {}", snapshot_id); |
| 87 | + run_query(provider, snapshot_id, sql).await?; |
| 88 | + } |
| 89 | + |
| 90 | + #[cfg(not(feature = "metadata-duckdb"))] |
| 91 | + { |
| 92 | + eprintln!("Error: DuckDB catalog requires the 'metadata-duckdb' feature"); |
| 93 | + exit(1); |
| 94 | + } |
86 | 95 | } |
87 | 96 |
|
88 | 97 | Ok(()) |
|
0 commit comments