mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-22 15:04:04 +00:00
Add support for FROM <filename>
, DELIMITER
, and CSV HEADER
options for COPY
command (#409)
* add additional options for copy command Signed-off-by: password <rbalajis25@gmail.com> * cargo fmt Signed-off-by: password <rbalajis25@gmail.com>
This commit is contained in:
parent
33d4f27bfc
commit
2614576dbf
4 changed files with 118 additions and 5 deletions
|
@ -404,6 +404,63 @@ PHP ₱ USD $
|
|||
//assert_eq!(sql, ast.to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_copy() {
|
||||
let stmt = pg().verified_stmt("COPY users FROM 'data.csv'");
|
||||
assert_eq!(
|
||||
stmt,
|
||||
Statement::Copy {
|
||||
table_name: ObjectName(vec!["users".into()]),
|
||||
columns: vec![],
|
||||
filename: Some(Ident {
|
||||
value: "data.csv".to_string(),
|
||||
quote_style: Some('\'')
|
||||
}),
|
||||
values: vec![],
|
||||
delimiter: None,
|
||||
csv_header: false
|
||||
}
|
||||
);
|
||||
|
||||
let stmt = pg().verified_stmt("COPY users FROM 'data.csv' DELIMITER ','");
|
||||
assert_eq!(
|
||||
stmt,
|
||||
Statement::Copy {
|
||||
table_name: ObjectName(vec!["users".into()]),
|
||||
columns: vec![],
|
||||
filename: Some(Ident {
|
||||
value: "data.csv".to_string(),
|
||||
quote_style: Some('\'')
|
||||
}),
|
||||
values: vec![],
|
||||
delimiter: Some(Ident {
|
||||
value: ",".to_string(),
|
||||
quote_style: Some('\'')
|
||||
}),
|
||||
csv_header: false,
|
||||
}
|
||||
);
|
||||
|
||||
let stmt = pg().verified_stmt("COPY users FROM 'data.csv' DELIMITER ',' CSV HEADER");
|
||||
assert_eq!(
|
||||
stmt,
|
||||
Statement::Copy {
|
||||
table_name: ObjectName(vec!["users".into()]),
|
||||
columns: vec![],
|
||||
filename: Some(Ident {
|
||||
value: "data.csv".to_string(),
|
||||
quote_style: Some('\'')
|
||||
}),
|
||||
values: vec![],
|
||||
delimiter: Some(Ident {
|
||||
value: ",".to_string(),
|
||||
quote_style: Some('\'')
|
||||
}),
|
||||
csv_header: true,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_set() {
|
||||
let stmt = pg_and_generic().verified_stmt("SET a = b");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue