mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-09-01 11:47:20 +00:00
Support MATCH AGAINST
(#708)
Support added for both MySQL and Generic dialects.
This commit is contained in:
parent
886875f3bf
commit
09d53623bc
4 changed files with 155 additions and 0 deletions
|
@ -1166,6 +1166,32 @@ fn parse_create_table_with_spatial_definition() {
|
|||
.verified_stmt("CREATE TABLE tb (c1 INT, c2 INT, SPATIAL KEY potato (c1, c2))");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_fulltext_expression() {
|
||||
mysql_and_generic().verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string')");
|
||||
|
||||
mysql_and_generic().verified_stmt(
|
||||
"SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' IN NATURAL LANGUAGE MODE)",
|
||||
);
|
||||
|
||||
mysql_and_generic().verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION)");
|
||||
|
||||
mysql_and_generic()
|
||||
.verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' IN BOOLEAN MODE)");
|
||||
|
||||
mysql_and_generic()
|
||||
.verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' WITH QUERY EXPANSION)");
|
||||
|
||||
mysql_and_generic()
|
||||
.verified_stmt("SELECT * FROM tb WHERE MATCH (c1, c2, c3) AGAINST ('string')");
|
||||
|
||||
mysql_and_generic().verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST (123)");
|
||||
|
||||
mysql_and_generic().verified_stmt("SELECT * FROM tb WHERE MATCH (c1) AGAINST (NULL)");
|
||||
|
||||
mysql_and_generic().verified_stmt("SELECT COUNT(IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)) AS count FROM articles");
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic = "Expected FULLTEXT or SPATIAL option without constraint name, found: cons"]
|
||||
fn parse_create_table_with_fulltext_definition_should_not_accept_constraint_name() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue