Open
Description
With v0.56.0 using the mysql dialect, use the parse_sql
function to parse DROP INDEX idx_name ON table_demo;
or ALTER TABLE tbl_name DROP INDEX idx_name;
and an error occurs.
use sqlparser::dialect::MySqlDialect;
use sqlparser::parser::Parser;
fn main() {
let sql = "DROP INDEX idx_name ON table_demo;";
let dialect = MySqlDialect {}; // or AnsiDialect, or your own dialect ...
let ast = Parser::parse_sql(&dialect, sql).unwrap();
println!("AST: {:?}", ast);
}
Report the following error:
called `Result::unwrap()` on an `Err` value: ParserError("Expected: end of statement, found: ON at Line: 1, Column: 21")
In the official documentation of MySQL, when deleting an index, you need to specify the table where the index is located.
DROP INDEX index_name ON tbl_name
[algorithm_option | lock_option] ...
algorithm_option:
ALGORITHM [=] {DEFAULT | INPLACE | COPY}
lock_option:
LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}
https://dev.mysql.com/doc/refman/8.0/en/drop-index.html
Would you classify this as a bug?
Metadata
Metadata
Assignees
Labels
No labels