use clickhouse::{Client, error::Result};
use uuid::Uuid;
#[tokio::main]
async fn main() -> Result<()> {
let client = Client::default().with_url("http://localhost:8123");
let query_id = Uuid::new_v4().to_string();
let numbers = client
.query("SELECT number FROM system.numbers LIMIT 1")
.with_setting("query_id", &query_id)
.fetch_all::<u64>()
.await?;
println!("Numbers: {numbers:?}");
client.query("SYSTEM FLUSH LOGS").execute().await?;
let logged_query = client
.query("SELECT query FROM system.query_log WHERE query_id = ?")
.bind(&query_id)
.fetch_one::<String>()
.await?;
println!("Query from system.query_log: {logged_query}");
Ok(())
}