Skip to content

Commit 72ae69a

Browse files
authored
Reproduce issue with produce_arrow_string_view and show fix (#552)
Note: `arrow_output_version` was added in DuckDB 1.3.1. Closes #396
2 parents 41bc590 + bd5c20c commit 72ae69a

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

crates/duckdb/src/lib.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,4 +1400,34 @@ mod test {
14001400
assert_eq!(expected, actual);
14011401
Ok(())
14021402
}
1403+
1404+
#[test]
1405+
fn test_arrow_string_view_setting() -> Result<()> {
1406+
// Test that only one setting doesn't work (missing arrow_output_version)
1407+
{
1408+
let config = Config::default().with("produce_arrow_string_view", "true")?;
1409+
let conn = Connection::open_in_memory_with_flags(config)?;
1410+
1411+
let mut query = conn.prepare("SELECT 'test'::varchar AS str")?;
1412+
let arrow = query.query_arrow([])?;
1413+
1414+
let batch = arrow.into_iter().next().expect("Expected at least one batch");
1415+
assert_eq!(batch.schema().field(0).data_type(), &DataType::Utf8);
1416+
}
1417+
1418+
{
1419+
let config = Config::default()
1420+
.with("produce_arrow_string_view", "true")?
1421+
.with("arrow_output_version", "1.4")?;
1422+
let conn = Connection::open_in_memory_with_flags(config)?;
1423+
1424+
let mut query = conn.prepare("SELECT 'test'::varchar AS str")?;
1425+
let arrow = query.query_arrow([])?;
1426+
1427+
let batch = arrow.into_iter().next().expect("Expected at least one batch");
1428+
assert_eq!(batch.schema().field(0).data_type(), &DataType::Utf8View);
1429+
}
1430+
1431+
Ok(())
1432+
}
14031433
}

0 commit comments

Comments
 (0)