use klickhouse::Bytes; #[derive(klickhouse::Row, Debug, Default, Clone, PartialEq, Eq)] pub struct TestRawString { raw_string: Bytes, } #[tokio::test] async fn test_raw_string() { let _ = env_logger::builder() .filter_level(log::LevelFilter::Info) .try_init(); let client = super::get_client().await; super::prepare_table("test_raw_string", "raw_string String", &client).await; println!("begin insert"); let items = vec![TestRawString { raw_string: Bytes(vec![0x0, 0x20, 0x8c, 0x5d, 0x9f]), }]; client .insert_native_block("INSERT INTO test_raw_string FORMAT NATIVE", items.clone()) .await .unwrap(); println!("inserted rows:\n{items:#?}\n\n\n\n\n"); let rows_back = client .query_collect::("SELECT * FROM test_raw_string") .await .unwrap(); for row in &rows_back { println!("row received {row:#?}"); } assert_eq!(items, rows_back) }