@@ -1885,6 +1885,7 @@ fn parse_simple_insert() {
18851885 Some ( Box :: new( Query {
18861886 with: None ,
18871887 body: Box :: new( SetExpr :: Values ( Values {
1888+ keyword: ValuesKeyword :: Values ,
18881889 explicit_row: false ,
18891890 rows: vec![
18901891 vec![
@@ -1950,6 +1951,7 @@ fn parse_ignore_insert() {
19501951 Some ( Box :: new( Query {
19511952 with: None ,
19521953 body: Box :: new( SetExpr :: Values ( Values {
1954+ keyword: ValuesKeyword :: Values ,
19531955 explicit_row: false ,
19541956 rows: vec![ vec![
19551957 Expr :: Value (
@@ -1999,6 +2001,7 @@ fn parse_priority_insert() {
19992001 Some ( Box :: new( Query {
20002002 with: None ,
20012003 body: Box :: new( SetExpr :: Values ( Values {
2004+ keyword: ValuesKeyword :: Values ,
20022005 explicit_row: false ,
20032006 rows: vec![ vec![
20042007 Expr :: Value (
@@ -2045,6 +2048,7 @@ fn parse_priority_insert() {
20452048 Some ( Box :: new( Query {
20462049 with: None ,
20472050 body: Box :: new( SetExpr :: Values ( Values {
2051+ keyword: ValuesKeyword :: Values ,
20482052 explicit_row: false ,
20492053 rows: vec![ vec![
20502054 Expr :: Value (
@@ -2097,6 +2101,7 @@ fn parse_insert_as() {
20972101 Some ( Box :: new( Query {
20982102 with: None ,
20992103 body: Box :: new( SetExpr :: Values ( Values {
2104+ keyword: ValuesKeyword :: Values ,
21002105 explicit_row: false ,
21012106 rows: vec![ vec![ Expr :: Value (
21022107 ( Value :: SingleQuotedString ( "2024-01-01" . to_string( ) ) ) . with_empty_span( )
@@ -2156,6 +2161,7 @@ fn parse_insert_as() {
21562161 Some ( Box :: new( Query {
21572162 with: None ,
21582163 body: Box :: new( SetExpr :: Values ( Values {
2164+ keyword: ValuesKeyword :: Values ,
21592165 explicit_row: false ,
21602166 rows: vec![ vec![
21612167 Expr :: value( number( "1" ) ) ,
@@ -2206,6 +2212,7 @@ fn parse_replace_insert() {
22062212 Some ( Box :: new( Query {
22072213 with: None ,
22082214 body: Box :: new( SetExpr :: Values ( Values {
2215+ keyword: ValuesKeyword :: Values ,
22092216 explicit_row: false ,
22102217 rows: vec![ vec![
22112218 Expr :: Value (
@@ -2253,6 +2260,7 @@ fn parse_empty_row_insert() {
22532260 Some ( Box :: new( Query {
22542261 with: None ,
22552262 body: Box :: new( SetExpr :: Values ( Values {
2263+ keyword: ValuesKeyword :: Values ,
22562264 explicit_row: false ,
22572265 rows: vec![ vec![ ] , vec![ ] ]
22582266 } ) ) ,
@@ -2303,6 +2311,7 @@ fn parse_insert_with_on_duplicate_update() {
23032311 Some ( Box :: new( Query {
23042312 with: None ,
23052313 body: Box :: new( SetExpr :: Values ( Values {
2314+ keyword: ValuesKeyword :: Values ,
23062315 explicit_row: false ,
23072316 rows: vec![ vec![
23082317 Expr :: Value (
@@ -4353,3 +4362,41 @@ fn test_create_index_options() {
43534362 "CREATE INDEX idx_name ON t(c1, c2) USING BTREE LOCK = EXCLUSIVE ALGORITHM = DEFAULT" ,
43544363 ) ;
43554364}
4365+
4366+ #[ test]
4367+ fn test_insert_into_value ( ) {
4368+ let sql = r"INSERT INTO t (id, name) VALUE ('AAA', 'BBB')" ;
4369+ match mysql_and_generic ( ) . verified_stmt ( sql) {
4370+ Statement :: Insert ( Insert { source, .. } ) => {
4371+ assert_eq ! (
4372+ Some ( Box :: new( Query {
4373+ with: None ,
4374+ body: Box :: new( SetExpr :: Values ( Values {
4375+ keyword: ValuesKeyword :: Value ,
4376+ explicit_row: false ,
4377+ rows: vec![ vec![
4378+ Expr :: Value ( ValueWithSpan {
4379+ value: Value :: SingleQuotedString ( "AAA" . to_string( ) ) ,
4380+ span: Span :: empty( ) ,
4381+ } ) ,
4382+ Expr :: Value ( ValueWithSpan {
4383+ value: Value :: SingleQuotedString ( "BBB" . to_string( ) ) ,
4384+ span: Span :: empty( ) ,
4385+ } ) ,
4386+ ] ] ,
4387+ } ) ) ,
4388+ order_by: None ,
4389+ limit_clause: None ,
4390+ fetch: None ,
4391+ locks: vec![ ] ,
4392+ for_clause: None ,
4393+ settings: None ,
4394+ format_clause: None ,
4395+ pipe_operators: vec![ ] ,
4396+ } ) ) ,
4397+ source
4398+ ) ;
4399+ }
4400+ _ => unreachable ! ( ) ,
4401+ }
4402+ }
0 commit comments