| MySQL 5.6.14 Source Code Document
    | 

Go to the source code of this file.
| Enumerations | |
| enum | fts_ast_visit_pass_t { FTS_PASS_FIRST, FTS_PASS_EXIST, FTS_PASS_IGNORE } | 
| enum fts_ast_visit_pass_t | 
Definition at line 32 of file fts0ast.cc.
| UNIV_INTERN fts_ast_node_t* fts_ast_add_node | ( | fts_ast_node_t * | node, | 
| fts_ast_node_t * | elem | ||
| ) | 
This AST takes ownership of the expr and is responsible for free'ing it.
| node | in: list instance | 
| elem | in: node to add to list | 
Definition at line 315 of file fts0ast.cc.

| UNIV_INTERN fts_ast_node_t* fts_ast_create_node_list | ( | void * | arg, | 
| fts_ast_node_t * | expr | ||
| ) | 
This function takes ownership of the expr and is responsible for free'ing it.
| arg | in: ast state instance | 
| expr | in: ast expr instance | 
Definition at line 207 of file fts0ast.cc.


| UNIV_INTERN fts_ast_node_t* fts_ast_create_node_oper | ( | void * | arg, | 
| fts_ast_oper_t | oper | ||
| ) | 
Create a operator fts_ast_node_t.
| arg | in: ast state instance | 
| oper | in: ast operator | 
Definition at line 63 of file fts0ast.cc.

| UNIV_INTERN fts_ast_node_t* fts_ast_create_node_subexp_list | ( | void * | arg, | 
| fts_ast_node_t * | expr | ||
| ) | 
Create a sub-expression list node. This function takes ownership of expr and is responsible for deleting it.
| arg | in: ast state instance | 
| expr | in: ast expr instance | 
Definition at line 228 of file fts0ast.cc.

| UNIV_INTERN fts_ast_node_t* fts_ast_create_node_term | ( | void * | arg, | 
| const char * | ptr | ||
| ) | 
This function takes ownership of the ptr and is responsible for free'ing it
| arg | in: ast state instance | 
| ptr | in: ast term string | 
Definition at line 84 of file fts0ast.cc.

| UNIV_INTERN fts_ast_node_t* fts_ast_create_node_text | ( | void * | arg, | 
| const char * | ptr | ||
| ) | 
This function takes ownership of the ptr and is responsible for free'ing it.
< We ignore the actual quotes ""
< Skip copying the first quote
| arg | in: ast state instance | 
| ptr | in: ast text string | 
Definition at line 159 of file fts0ast.cc.

| UNIV_INTERN fts_ast_node_t* fts_ast_free_node | ( | fts_ast_node_t * | node | ) | 
Free a fts_ast_node_t instance.
| node | in: the node to free | 
Definition at line 267 of file fts0ast.cc.

| UNIV_INTERN void fts_ast_node_print | ( | fts_ast_node_t * | node | ) | 
Print an ast node.
| node | in: ast node to print | 
Definition at line 436 of file fts0ast.cc.


| UNIV_INTERN void fts_ast_state_add_node | ( | fts_ast_state_t * | state, | 
| fts_ast_node_t * | node | ||
| ) | 
For tracking node allocations, in case there is an error during parsing.
| state | in: ast instance | 
| node | in: node to add to ast | 
Definition at line 347 of file fts0ast.cc.

| UNIV_INTERN void fts_ast_state_free | ( | fts_ast_state_t * | state | ) | 
Free node and expr allocations.
| state | in: ast state to free | 
Definition at line 407 of file fts0ast.cc.

| UNIV_INTERN void fts_ast_term_set_distance | ( | fts_ast_node_t * | node, | 
| ulint | distance | ||
| ) | 
Set the proximity attribute of a text node.
| node | in/out: text node | 
| distance | in: the text proximity distance | 
Definition at line 391 of file fts0ast.cc.
| UNIV_INTERN void fts_ast_term_set_wildcard | ( | fts_ast_node_t * | node | ) | 
Set the wildcard attribute of a term.
| node | in/out: set attribute of a term node | 
Definition at line 366 of file fts0ast.cc.
| UNIV_INTERN dberr_t fts_ast_visit | ( | fts_ast_oper_t | oper, | 
| fts_ast_node_t * | node, | ||
| fts_ast_callback | visitor, | ||
| void * | arg, | ||
| bool * | has_ignore | ||
| ) | 
Traverse the AST - in-order traversal, except for the FTX_EXIST and FTS_IGNORE nodes, which will be ignored in the first pass of each level, and visited in a second and third pass after all other nodes in the same level are visited.
| oper | in: current operator | 
| node | in: current root node | 
| visitor | in: callback function | 
| arg | in: arg for callback | 
| has_ignore | out: true, if the operator was ignored during processing, currently we ignore FTS_EXIST and FTS_IGNORE operators | 
Definition at line 483 of file fts0ast.cc.
