mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-07-07 17:04:59 +00:00
MySQL: Support index_name
in FK constraints (#1871)
This commit is contained in:
parent
5327f0ce13
commit
de2cc7b502
5 changed files with 31 additions and 7 deletions
|
@ -3791,6 +3791,7 @@ fn parse_create_table() {
|
|||
vec![
|
||||
TableConstraint::ForeignKey {
|
||||
name: Some("fkey".into()),
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable3".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3800,6 +3801,7 @@ fn parse_create_table() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: Some("fkey2".into()),
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3809,6 +3811,7 @@ fn parse_create_table() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: None,
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3818,6 +3821,7 @@ fn parse_create_table() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: None,
|
||||
index_name: None,
|
||||
columns: vec!["lng".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["longitude".into()],
|
||||
|
@ -3914,6 +3918,7 @@ fn parse_create_table_with_constraint_characteristics() {
|
|||
vec![
|
||||
TableConstraint::ForeignKey {
|
||||
name: Some("fkey".into()),
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable3".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3927,6 +3932,7 @@ fn parse_create_table_with_constraint_characteristics() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: Some("fkey2".into()),
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3940,6 +3946,7 @@ fn parse_create_table_with_constraint_characteristics() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: None,
|
||||
index_name: None,
|
||||
columns: vec!["lat".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["lat".into()],
|
||||
|
@ -3953,6 +3960,7 @@ fn parse_create_table_with_constraint_characteristics() {
|
|||
},
|
||||
TableConstraint::ForeignKey {
|
||||
name: None,
|
||||
index_name: None,
|
||||
columns: vec!["lng".into()],
|
||||
foreign_table: ObjectName::from(vec!["othertable4".into()]),
|
||||
referred_columns: vec!["longitude".into()],
|
||||
|
|
|
@ -3988,6 +3988,13 @@ fn parse_straight_join() {
|
|||
.verified_stmt("SELECT a.*, b.* FROM table_a STRAIGHT_JOIN table_b AS b ON a.b_id = b.id");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mysql_foreign_key_with_index_name() {
|
||||
mysql().verified_stmt(
|
||||
"CREATE TABLE orders (customer_id INT, INDEX idx_customer (customer_id), CONSTRAINT fk_customer FOREIGN KEY idx_customer (customer_id) REFERENCES customers(id))",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_drop_index() {
|
||||
let sql = "DROP INDEX idx_name ON table_name";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue