Skip to content

Commit 044d96c

Browse files
committed
additional test
1 parent ab67ede commit 044d96c

File tree

1 file changed

+52
-0
lines changed
  • rust/cubestore/cubestore-sql-tests/src

1 file changed

+52
-0
lines changed

rust/cubestore/cubestore-sql-tests/src/tests.rs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ pub fn sql_tests() -> Vec<(&'static str, TestFn)> {
110110
"create_table_with_csv_no_header_and_delimiter",
111111
create_table_with_csv_no_header_and_delimiter,
112112
),
113+
t(
114+
"create_table_with_csv_no_header_and_quotes",
115+
create_table_with_csv_no_header_and_quotes,
116+
),
113117
t("create_table_with_url", create_table_with_url),
114118
t("create_table_fail_and_retry", create_table_fail_and_retry),
115119
t("empty_crash", empty_crash),
@@ -2276,6 +2280,54 @@ async fn create_table_with_csv_no_header_and_delimiter(service: Box<dyn SqlClien
22762280
);
22772281
}
22782282

2283+
async fn create_table_with_csv_no_header_and_quotes(service: Box<dyn SqlClient>) {
2284+
let file = write_tmp_file(indoc! {"
2285+
\"\"\"apple\",31
2286+
\"a\"\"pple\",32
2287+
\"a\"\"pp\"\"le\",12
2288+
apple,2
2289+
banana,3
2290+
\"\"\"orange\"\" orange\",4
2291+
"})
2292+
.unwrap();
2293+
let path = file.path().to_string_lossy();
2294+
let _ = service
2295+
.exec_query("CREATE SCHEMA IF NOT EXISTS test")
2296+
.await
2297+
.unwrap();
2298+
let _ = service
2299+
.exec_query(format!("CREATE TABLE test.table (`fruit` text, `number` int) WITH (input_format = 'csv_no_header', delimiter = ',', disable_quoting = false) LOCATION '{}'", path).as_str())
2300+
.await
2301+
.unwrap();
2302+
let result = service
2303+
.exec_query("SELECT * FROM test.table")
2304+
.await
2305+
.unwrap();
2306+
assert_eq!(
2307+
to_rows(&result),
2308+
vec![
2309+
vec![
2310+
TableValue::String("\"apple".to_string()),
2311+
TableValue::Int(31)
2312+
],
2313+
vec![
2314+
TableValue::String("\"orange\" orange".to_string()),
2315+
TableValue::Int(4)
2316+
],
2317+
vec![
2318+
TableValue::String("a\"pp\"le".to_string()),
2319+
TableValue::Int(12)
2320+
],
2321+
vec![
2322+
TableValue::String("a\"pple".to_string()),
2323+
TableValue::Int(32)
2324+
],
2325+
vec![TableValue::String("apple".to_string()), TableValue::Int(2)],
2326+
vec![TableValue::String("banana".to_string()), TableValue::Int(3)],
2327+
]
2328+
);
2329+
}
2330+
22792331
async fn create_table_with_url(service: Box<dyn SqlClient>) {
22802332
// TODO serve this data ourselves
22812333
let url = "https://data.wprdc.org/dataset/0b584c84-7e35-4f4d-a5a2-b01697470c0f/resource/e95dd941-8e47-4460-9bd8-1e51c194370b/download/bikepghpublic.csv";

0 commit comments

Comments
 (0)