fix: auto created table ttl check (#5203)

* fix: auto created table ttl check

* tests: with hint
This commit is contained in:
discord9
2024-12-19 19:23:01 +08:00
committed by GitHub
parent a4d61bcaf1
commit 6bf574f098
2 changed files with 40 additions and 0 deletions

View File

@@ -444,6 +444,40 @@ async fn insert_with_hints_and_assert(db: &Database) {
+-------+-------------------------------------+\
";
assert_eq!(pretty, expected);
// testing data with ttl=instant and auto_create_table = true can be handled correctly
let (expected_host_col, expected_cpu_col, expected_mem_col, expected_ts_col) = expect_data();
let request = InsertRequest {
table_name: "demo1".to_string(),
columns: vec![
expected_host_col.clone(),
expected_cpu_col.clone(),
expected_mem_col.clone(),
expected_ts_col.clone(),
],
row_count: 4,
};
let result = db
.insert_with_hints(
InsertRequests {
inserts: vec![request],
},
&[("auto_create_table", "true"), ("ttl", "instant")],
)
.await;
assert_eq!(result.unwrap(), 0);
// check table is empty
let output = db.sql("SELECT * FROM demo1").await.unwrap();
let record_batches = match output.data {
OutputData::RecordBatches(record_batches) => record_batches,
OutputData::Stream(stream) => RecordBatches::try_collect(stream).await.unwrap(),
OutputData::AffectedRows(_) => unreachable!(),
};
assert!(record_batches.iter().all(|r| r.num_rows() == 0));
}
async fn insert_and_assert(db: &Database) {