• unknown's avatar
    WL#2575 - Fulltext: Parser plugin for FTS · 38005eae
    unknown authored
    Manual merge.
    
    
    Makefile.am:
      Added new 'plugin' subdir.
    configure.in:
      Added plugin related makefiles.
    include/my_base.h:
      Added HA_OPEN_FROM_SQL_LAYER flag - indicates that a table was openned from the sql layer.
      Added HA_OPTION_RELIES_ON_SQL_LAYER flag - indicates that a table relies on the sql layer.
      Added HA_CREATE_RELIES_ON_SQL_LAYER flag - indicates that a table must be created with
      HA_OPTION_RELIES_ON_SQL_LAYER flag.
    include/myisam.h:
      Distinct fulltext parser number added.
    include/plugin.h:
      Revise comment.
    sql/ha_myisam.cc:
      Pass HA_OPEN_FROM_SQL_LAYER flag to mi_open().
      Pass HA_CREATE_RELIES_ON_SQL_LAYER flag to mi_create().
    sql/sql_plugin.cc:
      Reuse "unused" dynamic array elements.
      A check for plugin info interface version.
    sql/sql_plugin.h:
      Added plugin_type_names[] - string plugin type names.
    sql/sql_show.cc:
      Use plugin_type_names array instead of switch to find literal parser name representation.
    sql/sql_table.cc:
      Fixed that ALTER TABLE ... ADD INDEX loses WITH PARSER info.
    storage/myisam/ft_boolean_search.c:
      Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
      ftparser_call_initializer(), to parser->parse().
    storage/myisam/ft_nlq_search.c:
      Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
      ftparser_call_initializer(), to parser->parse().
    storage/myisam/ft_parser.c:
      Added two functions:
      ftparser_call_initializer() - calls parser->init() function if specified and parser is not yet
      initialized. Returns MYSQL_FTPARSER_PARAM *.
      ftparser_call_deinitializer() - calls parser->deinit() function if specified and parser was
      initialized. Deinitializes all parsers.
      ft_parse() accepts additional param now - MYSQL_FTPARSER_PARM and passes it to parser->parse().
    storage/myisam/ft_update.c:
      Call fulltext parser init() function, pass MYSQL_FTPARSER_PARAM, returned by
      ftparser_call_initializer(), to _mi_ft_parse().
      _mi_ft_parse() accepts additional param now - MYSQL_FTPARSER_PARAM and passes
      it to parser->parse().
    storage/myisam/ftdefs.h:
      Prototypes for new functions were added. MYSQL_FTPARSER_PARAM was added
      to ft_parse and _mi_ft_parse().
    storage/myisam/mi_close.c:
      Free ftparser_param allocated by ftparser_call_initializer().
    storage/myisam/mi_create.c:
      If a table relies on the sql layer, set HA_OPTION_RELIES_ON_SQL_LAYER.
    storage/myisam/mi_locking.c:
      Call deinitializer for each initialized parser.
    storage/myisam/mi_open.c:
      Set default values for share->ftparser and keydef->ftparser_nr.
      If a table is openned from the non-sql layer and HA_OPTION_RELIES_ON_SQL_LAYER is set, raise
      HA_ERR_UNSUPPORTED error.
    storage/myisam/myisamdef.h:
      Added number of distinct parsers to MYISAM_SHARE.
      Added ftparser_param to MI_INFO.
    plugin/Makefile.am:
      New BitKeeper file ``plugin/Makefile.am''
    plugin/fulltext/Makefile.am:
      New BitKeeper file ``plugin/fulltext/Makefile.am''
    plugin/fulltext/plugin_example.c:
      New BitKeeper file ``plugin/fulltext/plugin_example.c''
    38005eae
ha_myisam.cc 50 KB