Skip to content

Do you have a plan to support for parsing XA sql? #10

@donga-gao

Description

@donga-gao
#[test]
pub fn test_parse_xa_sql() -> Result<()> {
    let options = ParseOptions::new()
        .dialect(SQLDialect::MariaDB)
        .arguments(SQLArguments::QuestionMark)
        .warn_unquoted_identifiers(false);

    let sql = "xa start 'test1'";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "xa end 'test1'";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "xa prepare 'test1'";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "xa commit 'test1'";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "XA START X'6d7973716c3537786131',X'',1";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "XA END X'6d7973716c3537786131',X'',1";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);

    let sql = "XA COMMIT X'6d7973716c3537786131',X'',1";
    let mut issues = Vec::new();
    let result = parse_statement(sql, &mut issues, &options);
    println!("sql:{:#?}", sql);
    println!("result:{:#?}", &result);
    println!("issues:{:#?}", &issues);
    Ok(())
}
sql:"xa start 'test1'"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"xa end 'test1'"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"xa prepare 'test1'"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"xa commit 'test1'"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"XA START X'6d7973716c3537786131',X'',1"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"XA END X'6d7973716c3537786131',X'',1"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]
sql:"XA COMMIT X'6d7973716c3537786131',X'',1"
result:None
issues:[
    Issue {
        level: Error,
        message: "Expected 'Statement' here",
        span: 0..2,
        fragments: [],
    },
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions