summaryrefslogtreecommitdiff
path: root/include/mysql/plugin_ftparser.h
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-07-06 18:16:11 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-07-26 12:44:15 +0530
commite8d849ec8c36d0d98f658a75d5fc4f3294a79f13 (patch)
treec02dc7851cee8fa64798def9c692ac8dbf0f462f /include/mysql/plugin_ftparser.h
parentf29b3d6d8239d54e08868912093b16187086e133 (diff)
downloadmariadb-git-bb-10.2-MDEV-24088.tar.gz
MDEV-24088 Assertion in InnoDB's FTS code may be triggered by a repeated words fed to simple_parser pluginbb-10.2-MDEV-24088
- InnoDB simple parser fails while parsing the repeated word. This failure mainly because the simple parser fails to update the position of the keyword within the word. The patch is basically use the mysql/mysql-server@0c954c2289a75d90d1088356b1092437ebf45a1d to solve the issue.
Diffstat (limited to 'include/mysql/plugin_ftparser.h')
-rw-r--r--include/mysql/plugin_ftparser.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/mysql/plugin_ftparser.h b/include/mysql/plugin_ftparser.h
index 8db8712926f..2c35ee94cc8 100644
--- a/include/mysql/plugin_ftparser.h
+++ b/include/mysql/plugin_ftparser.h
@@ -26,7 +26,7 @@ extern "C" {
API for Full-text parser plugin. (MYSQL_FTPARSER_PLUGIN)
*/
-#define MYSQL_FTPARSER_INTERFACE_VERSION 0x0100
+#define MYSQL_FTPARSER_INTERFACE_VERSION 0x0101
/* Parsing modes. Set in MYSQL_FTPARSER_PARAM::mode */
enum enum_ftparser_mode
@@ -115,6 +115,9 @@ enum enum_ft_token_type
trunc: Corresponds to the '*' operator in the default setting of the
ft_boolean_syntax system variable.
+
+ position: Start position in bytes of the word in the document,
+ used by InnoDB FTS
*/
typedef struct st_mysql_ftparser_boolean_info
@@ -124,6 +127,7 @@ typedef struct st_mysql_ftparser_boolean_info
int weight_adjust;
char wasign;
char trunc;
+ int position;
/* These are parser state and must be removed. */
char prev;
char *quot;