mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-23 15:34:09 +00:00
Switch remaining tests to the standard format
This commit is contained in:
parent
0233604f9b
commit
d1b088bd43
2 changed files with 37 additions and 50 deletions
|
@ -452,14 +452,12 @@ fn parse_cast() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_create_table() {
|
fn parse_create_table() {
|
||||||
let sql = String::from(
|
let sql = "CREATE TABLE uk_cities (\
|
||||||
"CREATE TABLE uk_cities (\
|
|
||||||
name VARCHAR(100) NOT NULL,\
|
name VARCHAR(100) NOT NULL,\
|
||||||
lat DOUBLE NULL,\
|
lat DOUBLE NULL,\
|
||||||
lng DOUBLE NULL)",
|
lng DOUBLE NULL)";
|
||||||
);
|
|
||||||
let ast = one_statement_parses_to(
|
let ast = one_statement_parses_to(
|
||||||
&sql,
|
sql,
|
||||||
"CREATE TABLE uk_cities (\
|
"CREATE TABLE uk_cities (\
|
||||||
name character varying(100) NOT NULL, \
|
name character varying(100) NOT NULL, \
|
||||||
lat double, \
|
lat double, \
|
||||||
|
@ -497,15 +495,13 @@ fn parse_create_table() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_create_external_table() {
|
fn parse_create_external_table() {
|
||||||
let sql = String::from(
|
let sql = "CREATE EXTERNAL TABLE uk_cities (\
|
||||||
"CREATE EXTERNAL TABLE uk_cities (\
|
|
||||||
name VARCHAR(100) NOT NULL,\
|
name VARCHAR(100) NOT NULL,\
|
||||||
lat DOUBLE NULL,\
|
lat DOUBLE NULL,\
|
||||||
lng DOUBLE NULL)\
|
lng DOUBLE NULL)\
|
||||||
STORED AS TEXTFILE LOCATION '/tmp/example.csv",
|
STORED AS TEXTFILE LOCATION '/tmp/example.csv";
|
||||||
);
|
|
||||||
let ast = one_statement_parses_to(
|
let ast = one_statement_parses_to(
|
||||||
&sql,
|
sql,
|
||||||
"CREATE EXTERNAL TABLE uk_cities (\
|
"CREATE EXTERNAL TABLE uk_cities (\
|
||||||
name character varying(100) NOT NULL, \
|
name character varying(100) NOT NULL, \
|
||||||
lat double, \
|
lat double, \
|
||||||
|
@ -552,8 +548,8 @@ fn parse_scalar_function_in_projection() {
|
||||||
let select = verified_only_select(sql);
|
let select = verified_only_select(sql);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
&ASTNode::SQLFunction {
|
&ASTNode::SQLFunction {
|
||||||
name: SQLObjectName(vec![String::from("sqrt")]),
|
name: SQLObjectName(vec!["sqrt".to_string()]),
|
||||||
args: vec![ASTNode::SQLIdentifier(String::from("id"))],
|
args: vec![ASTNode::SQLIdentifier("id".to_string())],
|
||||||
over: None,
|
over: None,
|
||||||
},
|
},
|
||||||
expr_from_projection(only(&select.projection))
|
expr_from_projection(only(&select.projection))
|
||||||
|
|
|
@ -9,7 +9,7 @@ use sqlparser::sqltokenizer::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_prev_index() {
|
fn test_prev_index() {
|
||||||
let sql: &str = "SELECT version()";
|
let sql = "SELECT version()";
|
||||||
let mut parser = parser(sql);
|
let mut parser = parser(sql);
|
||||||
assert_eq!(parser.prev_token(), None);
|
assert_eq!(parser.prev_token(), None);
|
||||||
assert_eq!(parser.next_token(), Some(Token::make_keyword("SELECT")));
|
assert_eq!(parser.next_token(), Some(Token::make_keyword("SELECT")));
|
||||||
|
@ -88,8 +88,7 @@ fn parse_insert_invalid() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_create_table_with_defaults() {
|
fn parse_create_table_with_defaults() {
|
||||||
let sql = String::from(
|
let sql = "CREATE TABLE public.customer (
|
||||||
"CREATE TABLE public.customer (
|
|
||||||
customer_id integer DEFAULT nextval(public.customer_customer_id_seq) NOT NULL,
|
customer_id integer DEFAULT nextval(public.customer_customer_id_seq) NOT NULL,
|
||||||
store_id smallint NOT NULL,
|
store_id smallint NOT NULL,
|
||||||
first_name character varying(45) NOT NULL,
|
first_name character varying(45) NOT NULL,
|
||||||
|
@ -99,9 +98,8 @@ fn parse_create_table_with_defaults() {
|
||||||
activebool boolean DEFAULT true NOT NULL,
|
activebool boolean DEFAULT true NOT NULL,
|
||||||
create_date date DEFAULT now()::text NOT NULL,
|
create_date date DEFAULT now()::text NOT NULL,
|
||||||
last_update timestamp without time zone DEFAULT now() NOT NULL,
|
last_update timestamp without time zone DEFAULT now() NOT NULL,
|
||||||
active integer NOT NULL)",
|
active integer NOT NULL)";
|
||||||
);
|
match one_statement_parses_to(sql, "") {
|
||||||
match one_statement_parses_to(&sql, "") {
|
|
||||||
SQLStatement::SQLCreateTable {
|
SQLStatement::SQLCreateTable {
|
||||||
name,
|
name,
|
||||||
columns,
|
columns,
|
||||||
|
@ -133,8 +131,7 @@ fn parse_create_table_with_defaults() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_create_table_from_pg_dump() {
|
fn parse_create_table_from_pg_dump() {
|
||||||
let sql = String::from("
|
let sql = "CREATE TABLE public.customer (
|
||||||
CREATE TABLE public.customer (
|
|
||||||
customer_id integer DEFAULT nextval('public.customer_customer_id_seq'::regclass) NOT NULL,
|
customer_id integer DEFAULT nextval('public.customer_customer_id_seq'::regclass) NOT NULL,
|
||||||
store_id smallint NOT NULL,
|
store_id smallint NOT NULL,
|
||||||
first_name character varying(45) NOT NULL,
|
first_name character varying(45) NOT NULL,
|
||||||
|
@ -147,8 +144,8 @@ fn parse_create_table_from_pg_dump() {
|
||||||
last_update timestamp without time zone DEFAULT now(),
|
last_update timestamp without time zone DEFAULT now(),
|
||||||
release_year public.year,
|
release_year public.year,
|
||||||
active integer
|
active integer
|
||||||
)");
|
)";
|
||||||
match one_statement_parses_to(&sql, "") {
|
match one_statement_parses_to(sql, "") {
|
||||||
SQLStatement::SQLCreateTable {
|
SQLStatement::SQLCreateTable {
|
||||||
name,
|
name,
|
||||||
columns,
|
columns,
|
||||||
|
@ -202,16 +199,14 @@ fn parse_create_table_from_pg_dump() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_create_table_with_inherit() {
|
fn parse_create_table_with_inherit() {
|
||||||
let sql = String::from(
|
let sql = "\
|
||||||
"\
|
|
||||||
CREATE TABLE bazaar.settings (\
|
CREATE TABLE bazaar.settings (\
|
||||||
settings_id uuid PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL, \
|
settings_id uuid PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL, \
|
||||||
user_id uuid UNIQUE, \
|
user_id uuid UNIQUE, \
|
||||||
value text[], \
|
value text[], \
|
||||||
use_metric boolean DEFAULT true\
|
use_metric boolean DEFAULT true\
|
||||||
)",
|
)";
|
||||||
);
|
match verified_stmt(sql) {
|
||||||
match verified_stmt(&sql) {
|
|
||||||
SQLStatement::SQLCreateTable {
|
SQLStatement::SQLCreateTable {
|
||||||
name,
|
name,
|
||||||
columns,
|
columns,
|
||||||
|
@ -241,12 +236,9 @@ fn parse_create_table_with_inherit() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_alter_table_constraint_primary_key() {
|
fn parse_alter_table_constraint_primary_key() {
|
||||||
let sql = String::from(
|
let sql = "ALTER TABLE bazaar.address \
|
||||||
"\
|
ADD CONSTRAINT address_pkey PRIMARY KEY (address_id)";
|
||||||
ALTER TABLE bazaar.address \
|
match verified_stmt(sql) {
|
||||||
ADD CONSTRAINT address_pkey PRIMARY KEY (address_id)",
|
|
||||||
);
|
|
||||||
match verified_stmt(&sql) {
|
|
||||||
SQLStatement::SQLAlterTable { name, .. } => {
|
SQLStatement::SQLAlterTable { name, .. } => {
|
||||||
assert_eq!(name.to_string(), "bazaar.address");
|
assert_eq!(name.to_string(), "bazaar.address");
|
||||||
}
|
}
|
||||||
|
@ -256,10 +248,9 @@ fn parse_alter_table_constraint_primary_key() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_alter_table_constraint_foreign_key() {
|
fn parse_alter_table_constraint_foreign_key() {
|
||||||
let sql = String::from("\
|
let sql = "ALTER TABLE public.customer \
|
||||||
ALTER TABLE public.customer \
|
ADD CONSTRAINT customer_address_id_fkey FOREIGN KEY (address_id) REFERENCES public.address(address_id)";
|
||||||
ADD CONSTRAINT customer_address_id_fkey FOREIGN KEY (address_id) REFERENCES public.address(address_id)");
|
match verified_stmt(sql) {
|
||||||
match verified_stmt(&sql) {
|
|
||||||
SQLStatement::SQLAlterTable { name, .. } => {
|
SQLStatement::SQLAlterTable { name, .. } => {
|
||||||
assert_eq!(name.to_string(), "public.customer");
|
assert_eq!(name.to_string(), "public.customer");
|
||||||
}
|
}
|
||||||
|
@ -269,7 +260,7 @@ fn parse_alter_table_constraint_foreign_key() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_copy_example() {
|
fn parse_copy_example() {
|
||||||
let sql = String::from(r#"COPY public.actor (actor_id, first_name, last_name, last_update, value) FROM stdin;
|
let sql = r#"COPY public.actor (actor_id, first_name, last_name, last_update, value) FROM stdin;
|
||||||
1 PENELOPE GUINESS 2006-02-15 09:34:33 0.11111
|
1 PENELOPE GUINESS 2006-02-15 09:34:33 0.11111
|
||||||
2 NICK WAHLBERG 2006-02-15 09:34:33 0.22222
|
2 NICK WAHLBERG 2006-02-15 09:34:33 0.22222
|
||||||
3 ED CHASE 2006-02-15 09:34:33 0.312323
|
3 ED CHASE 2006-02-15 09:34:33 0.312323
|
||||||
|
@ -288,8 +279,8 @@ Kwara & Kogi
|
||||||
'awe':5 'awe-inspir':4 'barbarella':1 'cat':13 'conquer':16 'dog':18 'feminist':10 'inspir':6 'monasteri':21 'must':15 'stori':7 'streetcar':2
|
'awe':5 'awe-inspir':4 'barbarella':1 'cat':13 'conquer':16 'dog':18 'feminist':10 'inspir':6 'monasteri':21 'must':15 'stori':7 'streetcar':2
|
||||||
PHP ₱ USD $
|
PHP ₱ USD $
|
||||||
\N Some other value
|
\N Some other value
|
||||||
\\."#);
|
\\."#;
|
||||||
let ast = one_statement_parses_to(&sql, "");
|
let ast = one_statement_parses_to(sql, "");
|
||||||
println!("{:#?}", ast);
|
println!("{:#?}", ast);
|
||||||
//assert_eq!(sql, ast.to_string());
|
//assert_eq!(sql, ast.to_string());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue