mirror of
https://github.com/MariaDB/server.git
synced 2025-11-22 17:44:29 +03:00
Added missing DBUG_RETURN statements (in mysqldump.c) Added missing enums Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems. client/mysqldump.c: Fixed some compiler warnings Added some missing DBUG_RETURN Remove copying of 'cluster' database client/mysqlslap.c: Fixed compiler warnings client/mysqltest.c: After merge fix extra/yassl/taocrypt/include/algebra.hpp: Removed compiler warning mysql-test/include/im_check_env.inc: Fixed race condition (mysqld1 could report 'starting' or 'online' mysql-test/mysql-test-run.pl: After merge fixes Added missing directory to LD_LIBRARY_PATH mysql-test/r/ctype_cp1250_ch.result: After merge fix mysql-test/r/im_cmd_line.result: Fixed race condition mysql-test/r/im_daemon_life_cycle.result: Fixed race condition mysql-test/r/im_instance_conf.result: Fixed race condition mysql-test/r/im_life_cycle.result: Fixed race condition mysql-test/r/im_utils.result: Fixed race condition mysql-test/r/log_tables.result: Fixed wrong result mysql-test/t/disabled.def: Disabled ndb_restore_partion, as ndb_restore_compate caused it to fail, becasue of table 'cluster/def/schema' which is stored in ndb_backup50 mysys/my_compress.c: Removed compiler warnings mysys/my_getopt.c: Ensure we always have at least one space between option name and value plugin/fulltext/plugin_example.c: Removed compiler warnings server-tools/instance-manager/mysql_connection.cc: After merge fix sql/event_data_objects.cc: Fixed compiler warnings Fixed platform compatibility issues (%lld is not portable) sql/event_data_objects.h: Fixed compiler warnings sql/event_db_repository.cc: Fixed compiler warnings sql/event_queue.cc: Fixed compiler warnings sql/event_scheduler.cc: Fixed compiler warnings sql/events.cc: Fixed compiler warnings sql/field.cc: Fixed compiler warnings sql/ha_ndbcluster.cc: Fixed compiler warnings sql/ha_ndbcluster_binlog.cc: Fixed compiler warnings sql/ha_partition.cc: Fixed compiler warnings sql/handler.cc: Fixed compiler warnings sql/item_cmpfunc.cc: Fixed DBUG_PRINT style sql/item_func.cc: Fixed compiler warnings sql/log.cc: Fixed compiler warnings sql/log_event.cc: Fixed compiler warnings sql/mysqld.cc: Fixed compiler warnings sql/opt_range.cc: Fixed compiler warnings sql/repl_failsafe.cc: Indentation fixes sql/rpl_rli.cc: Fixed compiler warnings sql/rpl_tblmap.cc: Fixed compiler warnings sql/set_var.cc: Fixed compiler warnings sql/slave.cc: Fixed compiler warnings sql/sp_head.cc: Fixed compiler warnings sql/sql_base.cc: Fixed compiler warnings Fixed indentation sql/sql_binlog.cc: Fixed compiler warnings sql/sql_cache.cc: Fixed compiler warnings sql/sql_class.cc: Fixed compiler warnings sql/sql_handler.cc: Fixed compiler warnings sql/sql_lex.cc: Fixed compiler warnings sql/sql_parse.cc: Fixed compiler warnings sql/sql_partition.cc: Fixed compiler warnings sql/sql_prepare.cc: Fixed compiler warnings sql/sql_table.cc: Fixed compiler warnings sql/sql_test.cc: Fixed DBUG_PRINT style sql/sql_trigger.cc: Fixed DBUG_PRINT style sql/table.cc: Fixed compiler warnings storage/federated/ha_federated.cc: Fixed compiler warnings storage/myisam/mi_rsamepos.c: Fixed compiler warnings storage/ndb/include/ndb_global.h.in: After merge fix storage/ndb/include/util/NdbOut.hpp: Inform gcc that ndbout_c takes a printf() string as argument storage/ndb/include/util/SimpleProperties.hpp: After merge fixes storage/ndb/src/kernel/blocks/backup/Backup.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Fixed compiler warnings Fixed usage of uninitialized value (Got help from Jonas with patch) storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/lgman.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/pgman.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/restore.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp: Fixed compiler warnings storage/ndb/src/kernel/blocks/suma/Suma.cpp: Fixed compiler warnings Added missing enum's to switch storage/ndb/src/kernel/vm/Configuration.cpp: Fixed compiler warnings storage/ndb/src/kernel/vm/DLHashTable.hpp: Fixed compiler warnings storage/ndb/src/kernel/vm/RWPool.hpp: Fixed compiler warnings storage/ndb/src/kernel/vm/SimulatedBlock.cpp: Fixed compiler warnings storage/ndb/src/kernel/vm/WOPool.hpp: Fixed compiler warnings storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp: Fixed compiler warnings storage/ndb/src/mgmclient/CommandInterpreter.cpp: Fixed compiler warnings storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/DictCache.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/NdbIndexOperation.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/NdbIndexStat.cpp: Initialize possible uninitialized variable storage/ndb/src/ndbapi/NdbOperationInt.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/NdbRecAttr.cpp: Added missing enum's (To avoid compiler warnings) storage/ndb/src/ndbapi/NdbScanOperation.cpp: Fixed compiler warnings storage/ndb/src/ndbapi/ObjectMap.hpp: Fixed compiler warnings storage/ndb/tools/desc.cpp: Fixed compiler warnings storage/ndb/tools/restore/Restore.cpp: Fixed compiler warnings storage/ndb/tools/restore/consumer_restore.cpp: Fixed compiler warnings unittest/mytap/t/basic-t.c: Fixed compiler warnings unittest/mytap/tap.c: Fixed compiler warnings
239 lines
5.9 KiB
C
239 lines
5.9 KiB
C
/*
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
#include <mysql/plugin.h>
|
|
|
|
#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__) || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
|
|
#define __attribute__(A)
|
|
#endif
|
|
|
|
static long number_of_calls= 0; /* for SHOW STATUS, see below */
|
|
|
|
/*
|
|
Simple full-text parser plugin that acts as a replacement for the
|
|
built-in full-text parser:
|
|
- All non-whitespace characters are significant and are interpreted as
|
|
"word characters."
|
|
- Whitespace characters are space, tab, CR, LF.
|
|
- There is no minimum word length. Non-whitespace sequences of one
|
|
character or longer are words.
|
|
- Stopwords are used in non-boolean mode, not used in boolean mode.
|
|
*/
|
|
|
|
/*
|
|
simple_parser interface functions:
|
|
|
|
Plugin declaration functions:
|
|
- simple_parser_plugin_init()
|
|
- simple_parser_plugin_deinit()
|
|
|
|
Parser descriptor functions:
|
|
- simple_parser_parse()
|
|
- simple_parser_init()
|
|
- simple_parser_deinit()
|
|
*/
|
|
|
|
|
|
/*
|
|
Initialize the parser plugin at server start or plugin installation.
|
|
|
|
SYNOPSIS
|
|
simple_parser_plugin_init()
|
|
|
|
DESCRIPTION
|
|
Does nothing.
|
|
|
|
RETURN VALUE
|
|
0 success
|
|
1 failure (cannot happen)
|
|
*/
|
|
|
|
static int simple_parser_plugin_init(void *arg __attribute__((unused)))
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
|
|
/*
|
|
Terminate the parser plugin at server shutdown or plugin deinstallation.
|
|
|
|
SYNOPSIS
|
|
simple_parser_plugin_deinit()
|
|
Does nothing.
|
|
|
|
RETURN VALUE
|
|
0 success
|
|
1 failure (cannot happen)
|
|
|
|
*/
|
|
|
|
static int simple_parser_plugin_deinit(void *arg __attribute__((unused)))
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
|
|
/*
|
|
Initialize the parser on the first use in the query
|
|
|
|
SYNOPSIS
|
|
simple_parser_init()
|
|
|
|
DESCRIPTION
|
|
Does nothing.
|
|
|
|
RETURN VALUE
|
|
0 success
|
|
1 failure (cannot happen)
|
|
*/
|
|
|
|
static int simple_parser_init(MYSQL_FTPARSER_PARAM *param
|
|
__attribute__((unused)))
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
|
|
/*
|
|
Terminate the parser at the end of the query
|
|
|
|
SYNOPSIS
|
|
simple_parser_deinit()
|
|
|
|
DESCRIPTION
|
|
Does nothing.
|
|
|
|
RETURN VALUE
|
|
0 success
|
|
1 failure (cannot happen)
|
|
*/
|
|
|
|
static int simple_parser_deinit(MYSQL_FTPARSER_PARAM *param
|
|
__attribute__((unused)))
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
|
|
/*
|
|
Pass a word back to the server.
|
|
|
|
SYNOPSIS
|
|
add_word()
|
|
param parsing context of the plugin
|
|
word a word
|
|
len word length
|
|
|
|
DESCRIPTION
|
|
Fill in boolean metadata for the word (if parsing in boolean mode)
|
|
and pass the word to the server. The server adds the word to
|
|
a full-text index when parsing for indexing, or adds the word to
|
|
the list of search terms when parsing a search string.
|
|
*/
|
|
|
|
static void add_word(MYSQL_FTPARSER_PARAM *param, char *word, size_t len)
|
|
{
|
|
MYSQL_FTPARSER_BOOLEAN_INFO bool_info=
|
|
{ FT_TOKEN_WORD, 0, 0, 0, 0, ' ', 0 };
|
|
|
|
param->mysql_add_word(param, word, len, &bool_info);
|
|
}
|
|
|
|
/*
|
|
Parse a document or a search query.
|
|
|
|
SYNOPSIS
|
|
simple_parser_parse()
|
|
param parsing context
|
|
|
|
DESCRIPTION
|
|
This is the main plugin function which is called to parse
|
|
a document or a search query. The call mode is set in
|
|
param->mode. This function simply splits the text into words
|
|
and passes every word to the MySQL full-text indexing engine.
|
|
*/
|
|
|
|
static int simple_parser_parse(MYSQL_FTPARSER_PARAM *param)
|
|
{
|
|
char *end, *start, *docend= param->doc + param->length;
|
|
|
|
number_of_calls++;
|
|
|
|
for (end= start= param->doc;; end++)
|
|
{
|
|
if (end == docend)
|
|
{
|
|
if (end > start)
|
|
add_word(param, start, end - start);
|
|
break;
|
|
}
|
|
else if (isspace(*end))
|
|
{
|
|
if (end > start)
|
|
add_word(param, start, end - start);
|
|
start= end + 1;
|
|
}
|
|
}
|
|
return(0);
|
|
}
|
|
|
|
|
|
/*
|
|
Plugin type-specific descriptor
|
|
*/
|
|
|
|
static struct st_mysql_ftparser simple_parser_descriptor=
|
|
{
|
|
MYSQL_FTPARSER_INTERFACE_VERSION, /* interface version */
|
|
simple_parser_parse, /* parsing function */
|
|
simple_parser_init, /* parser init function */
|
|
simple_parser_deinit /* parser deinit function */
|
|
};
|
|
|
|
/*
|
|
Plugin status variables for SHOW STATUS
|
|
*/
|
|
|
|
static struct st_mysql_show_var simple_status[]=
|
|
{
|
|
{"static", (char *)"just a static text", SHOW_CHAR},
|
|
{"called", (char *)&number_of_calls, SHOW_LONG},
|
|
{0,0,0}
|
|
};
|
|
|
|
/*
|
|
Plugin library descriptor
|
|
*/
|
|
|
|
mysql_declare_plugin(ftexample)
|
|
{
|
|
MYSQL_FTPARSER_PLUGIN, /* type */
|
|
&simple_parser_descriptor, /* descriptor */
|
|
"simple_parser", /* name */
|
|
"MySQL AB", /* author */
|
|
"Simple Full-Text Parser", /* description */
|
|
PLUGIN_LICENSE_GPL,
|
|
simple_parser_plugin_init, /* init function (when loaded) */
|
|
simple_parser_plugin_deinit,/* deinit function (when unloaded) */
|
|
0x0001, /* version */
|
|
simple_status, /* status variables */
|
|
NULL, /* system variables */
|
|
NULL /* config options */
|
|
}
|
|
mysql_declare_plugin_end;
|
|
|