Commit aff5af7c authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

Imported Upstream version 10.0.23

parent 3326a6fa
......@@ -166,31 +166,32 @@ storage/myisam/myisamlog
storage/myisam/myisampack
storage/myisam/rt_test
storage/myisam/sp_test
storage/tokudb/ft-index/buildheader/db.h
storage/tokudb/ft-index/buildheader/make_tdb
storage/tokudb/ft-index/buildheader/runcat.sh
storage/tokudb/ft-index/ft/log_code.cc
storage/tokudb/ft-index/ft/log_header.h
storage/tokudb/ft-index/ft/log_print.cc
storage/tokudb/ft-index/ft/logformat
storage/tokudb/ft-index/ft/ftverify
storage/tokudb/ft-index/ft/tdb-recover
storage/tokudb/ft-index/ft/tokuftdump
storage/tokudb/ft-index/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/ft-index/portability/toku_config.h
storage/tokudb/ft-index/portability/tokuportability_static_depends.cc
storage/tokudb/ft-index/src/merge_archives_tokufractaltree_static.cmake
storage/tokudb/ft-index/src/tokufractaltree_static_depends.cc
storage/tokudb/ft-index/toku_include/toku_config.h
storage/tokudb/ft-index/tools/ba_replay
storage/tokudb/ft-index/tools/ftverify
storage/tokudb/ft-index/tools/tdb-recover
storage/tokudb/ft-index/tools/tokudb_dump
storage/tokudb/ft-index/tools/tokudb_gen
storage/tokudb/ft-index/tools/tokudb_load
storage/tokudb/ft-index/tools/tokuftdump
storage/tokudb/ft-index/tools/tokuft_logprint
storage/tokudb/ft-index/xz/
storage/tokudb/PerconaFT/buildheader/db.h
storage/tokudb/PerconaFT/buildheader/make_tdb
storage/tokudb/PerconaFT/buildheader/runcat.sh
storage/tokudb/PerconaFT/ft/log_code.cc
storage/tokudb/PerconaFT/ft/log_header.h
storage/tokudb/PerconaFT/ft/log_print.cc
storage/tokudb/PerconaFT/ft/logformat
storage/tokudb/PerconaFT/ft/ftverify
storage/tokudb/PerconaFT/ft/tdb-recover
storage/tokudb/PerconaFT/ft/tokuftdump
storage/tokudb/PerconaFT/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/PerconaFT/portability/toku_config.h
storage/tokudb/PerconaFT/portability/tokuportability_static_depends.cc
storage/tokudb/PerconaFT/snappy/
storage/tokudb/PerconaFT/src/merge_archives_tokufractaltree_static.cmake
storage/tokudb/PerconaFT/src/tokufractaltree_static_depends.cc
storage/tokudb/PerconaFT/toku_include/toku_config.h
storage/tokudb/PerconaFT/tools/ba_replay
storage/tokudb/PerconaFT/tools/ftverify
storage/tokudb/PerconaFT/tools/tdb-recover
storage/tokudb/PerconaFT/tools/tokudb_dump
storage/tokudb/PerconaFT/tools/tokudb_gen
storage/tokudb/PerconaFT/tools/tokudb_load
storage/tokudb/PerconaFT/tools/tokuftdump
storage/tokudb/PerconaFT/tools/tokuft_logprint
storage/tokudb/PerconaFT/xz/
support-files/MySQL-shared-compat.spec
support-files/binary-configure
support-files/config.huge.ini
......
commit: d775ecdd010daad4dc6147fba58acd006bf2c60c
date: 2015-10-28 13:13:45 +0100
build-date: 2015-10-28 13:35:07 +0100
short: d775ecd
commit: 90ea0145856338221803ebb9b446ed2a6e082412
date: 2015-12-16 19:39:00 +0400
build-date: 2015-12-16 17:05:47 +0100
short: 90ea014
branch: HEAD
MySQL source 10.0.22
MySQL source 10.0.23
MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=0
MYSQL_VERSION_PATCH=22
MYSQL_VERSION_PATCH=23
......@@ -1108,7 +1108,7 @@ inline int get_command_index(char cmd_char)
All client-specific commands are in the first part of commands array
and have a function to implement it.
*/
for (uint i= 0; *commands[i].func; i++)
for (uint i= 0; commands[i].func; i++)
if (commands[i].cmd_char == cmd_char)
return i;
return -1;
......
/*
Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
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
......@@ -404,7 +404,7 @@ static int get_default_values()
static void usage(void)
{
PRINT_VERSION;
puts("Copyright (c) 2011, Oracle and/or its affiliates. "
puts("Copyright (c) 2011, 2015, Oracle and/or its affiliates. "
"All rights reserved.\n");
puts("Enable or disable plugins.");
printf("\nUsage: %s [options] <plugin> ENABLE|DISABLE\n\nOptions:\n",
......@@ -755,6 +755,11 @@ static int check_options(int argc, char **argv, char *operation)
/* read the plugin config file and check for match against argument */
else
{
if (strlen(argv[i]) + 4 + 1 > FN_REFLEN)
{
fprintf(stderr, "ERROR: argument is too long.\n");
return 1;
}
strcpy(plugin_name, argv[i]);
strcpy(config_file, argv[i]);
strcat(config_file, ".ini");
......@@ -846,6 +851,7 @@ static int process_options(int argc, char *argv[], char *operation)
if (opt_basedir[i-1] != FN_LIBCHAR || opt_basedir[i-1] != FN_LIBCHAR2)
{
char buff[FN_REFLEN];
memset(buff, 0, sizeof(buff));
strncpy(buff, opt_basedir, sizeof(buff) - 1);
#ifdef __WIN__
......
......@@ -55,6 +55,8 @@ static DYNAMIC_STRING conn_args;
static char *opt_password= 0;
static char *opt_plugin_dir= 0, *opt_default_auth= 0;
static char *cnf_file_path= 0, defaults_file[FN_REFLEN + 32];
static my_bool tty_password= 0;
static char opt_tmpdir[FN_REFLEN] = "";
......@@ -111,6 +113,7 @@ static struct my_option my_long_options[]=
&opt_force, &opt_force, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"host", 'h', "Connect to host.", 0,
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#define PASSWORD_OPT 12
{"password", 'p',
"Password to use when connecting to server. If password is not given,"
" it's solicited on the tty.", &opt_password,&opt_password,
......@@ -147,6 +150,7 @@ static struct my_option my_long_options[]=
{"upgrade-system-tables", 's', "Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.",
&opt_systables_only, &opt_systables_only, 0,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#define USER_OPT (array_elements(my_long_options) - 6)
{"user", 'u', "User for login if not current user.", &opt_user,
&opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"verbose", 'v', "Display more output about the process; Using it twice will print connection argument; Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.",
......@@ -184,6 +188,8 @@ static void free_used_memory(void)
dynstr_free(&ds_args);
dynstr_free(&conn_args);
if (cnf_file_path)
my_delete(cnf_file_path, MYF(MY_WME));
}
......@@ -235,31 +241,32 @@ static void verbose(const char *fmt, ...)
this way we pass the same arguments on to mysql and mysql_check
*/
static void add_one_option(DYNAMIC_STRING* ds,
const struct my_option *opt,
const char* argument)
static void add_one_option_cmd_line(DYNAMIC_STRING *ds,
const struct my_option *opt,
const char* arg)
{
const char* eq= NullS;
const char* arg= NullS;
if (opt->arg_type != NO_ARG)
dynstr_append(ds, "--");
dynstr_append(ds, opt->name);
if (arg)
{
eq= "=";
switch (opt->var_type & GET_TYPE_MASK) {
case GET_STR:
arg= argument;
break;
case GET_BOOL:
arg= (*(my_bool *)opt->value) ? "1" : "0";
break;
default:
die("internal error at %s: %d",__FILE__, __LINE__);
}
dynstr_append(ds, "=");
dynstr_append_os_quoted(ds, arg, NullS);
}
dynstr_append_os_quoted(ds, "--", opt->name, eq, arg, NullS);
dynstr_append(ds, " ");
}
static void add_one_option_cnf_file(DYNAMIC_STRING *ds,
const struct my_option *opt,
const char* arg)
{
dynstr_append(ds, opt->name);
if (arg)
{
dynstr_append(ds, "=");
dynstr_append_os_quoted(ds, arg, NullS);
}
dynstr_append(ds, "\n");
}
static my_bool
get_one_option(int optid, const struct my_option *opt,
......@@ -290,16 +297,17 @@ get_one_option(int optid, const struct my_option *opt,
case 'p':
if (argument == disabled_my_option)
argument= (char*) ""; /* Don't require password */
tty_password= 1;
add_option= FALSE;
if (argument)
{
/* Add password to ds_args before overwriting the arg with x's */
add_one_option(&ds_args, opt, argument);
add_one_option_cnf_file(&ds_args, opt, argument);
while (*argument)
*argument++= 'x'; /* Destroy argument */
tty_password= 0;
}
else
tty_password= 1;
break;
case 't':
......@@ -346,18 +354,18 @@ get_one_option(int optid, const struct my_option *opt,
case OPT_SHARED_MEMORY_BASE_NAME: /* --shared-memory-base-name */
case OPT_PLUGIN_DIR: /* --plugin-dir */
case OPT_DEFAULT_AUTH: /* --default-auth */
add_one_option(&conn_args, opt, argument);
add_one_option_cmd_line(&conn_args, opt, argument);
break;
}
if (add_option)
{
/*
This is an option that is accpted by mysql_upgrade just so
This is an option that is accepted by mysql_upgrade just so
it can be passed on to "mysql" and "mysqlcheck"
Save it in the ds_args string
*/
add_one_option(&ds_args, opt, argument);
add_one_option_cnf_file(&ds_args, opt, argument);
}
return 0;
}
......@@ -420,11 +428,8 @@ static int run_tool(char *tool_path, DYNAMIC_STRING *ds_res, ...)
while ((arg= va_arg(args, char *)))
{
/* Options should be os quoted */
if (strncmp(arg, "--", 2) == 0)
dynstr_append_os_quoted(&ds_cmdline, arg, NullS);
else
dynstr_append(&ds_cmdline, arg);
/* Options should already be os quoted */
dynstr_append(&ds_cmdline, arg);
dynstr_append(&ds_cmdline, " ");
}
......@@ -566,8 +571,7 @@ static int run_query(const char *query, DYNAMIC_STRING *ds_res,
ret= run_tool(mysql_path,
ds_res,
"--no-defaults",
ds_args.str,
defaults_file,
"--database=mysql",
"--batch", /* Turns off pager etc. */
force ? "--force": "--skip-force",
......@@ -759,8 +763,7 @@ static int run_mysqlcheck_upgrade(my_bool mysql_db_only)
print_conn_args("mysqlcheck");
retch= run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--check-upgrade",
"--auto-repair",
!opt_silent || opt_verbose >= 1 ? "--verbose" : "",
......@@ -820,8 +823,7 @@ static int run_mysqlcheck_views(void)
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--all-databases", "--repair",
upgrade_views,
"--skip-process-tables",
......@@ -845,8 +847,7 @@ static int run_mysqlcheck_fixnames(void)
print_conn_args("mysqlcheck");
return run_tool(mysqlcheck_path,
NULL, /* Send output from mysqlcheck directly to screen */
"--no-defaults",
ds_args.str,
defaults_file,
"--all-databases",
"--fix-db-names",
"--fix-table-names",
......@@ -1070,12 +1071,21 @@ int main(int argc, char **argv)
{
opt_password= get_tty_password(NullS);
/* add password to defaults file */
dynstr_append_os_quoted(&ds_args, "--password=", opt_password, NullS);
dynstr_append(&ds_args, " ");
add_one_option_cnf_file(&ds_args, &my_long_options[PASSWORD_OPT], opt_password);
DBUG_ASSERT(strcmp(my_long_options[PASSWORD_OPT].name, "password") == 0);
}
/* add user to defaults file */
dynstr_append_os_quoted(&ds_args, "--user=", opt_user, NullS);
dynstr_append(&ds_args, " ");
add_one_option_cnf_file(&ds_args, &my_long_options[USER_OPT], opt_user);
DBUG_ASSERT(strcmp(my_long_options[USER_OPT].name, "user") == 0);
cnf_file_path= strmov(defaults_file, "--defaults-file=");
{
int fd= create_temp_file(cnf_file_path, opt_tmpdir[0] ? opt_tmpdir : NULL,
"mysql_upgrade-", O_CREAT | O_WRONLY, MYF(MY_FAE));
my_write(fd, USTRING_WITH_LEN( "[client]\n"), MYF(MY_FAE));
my_write(fd, (uchar*)ds_args.str, ds_args.length, MYF(MY_FAE));
my_close(fd, MYF(0));
}
/* Find mysql */
find_tool(mysql_path, IF_WIN("mysql.exe", "mysql"), self_name);
......
......@@ -1533,6 +1533,8 @@ static void cleanup()
my_free(host);
my_free(user);
my_free(const_cast<char*>(dirname_for_local_load));
my_free(start_datetime_str);
my_free(stop_datetime_str);
delete binlog_filter;
delete glob_description_event;
......@@ -1719,7 +1721,7 @@ static int parse_args(int *argc, char*** argv)
exit(ho_error);
if (debug_info_flag)
my_end_arg= MY_CHECK_ERROR | MY_GIVE_INFO;
if (debug_check_flag)
else if (debug_check_flag)
my_end_arg= MY_CHECK_ERROR;
return 0;
}
......@@ -2044,6 +2046,7 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
if ((rev->ident_len != logname_len) ||
memcmp(rev->new_log_ident, logname, logname_len))
{
delete ev;
DBUG_RETURN(OK_CONTINUE);
}
/*
......@@ -2052,6 +2055,7 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
log. If we are running with to_last_remote_log, we print it,
because it serves as a useful marker between binlogs then.
*/
delete ev;
continue;
}
len= 1; // fake Rotate, so don't increment old_off
......@@ -2082,7 +2086,9 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
Exit_status retval;
if ((file= load_processor.prepare_new_file_for_old_format(le,fname)) < 0)
{
DBUG_RETURN(ERROR_STOP);
}
retval= process_event(print_event_info, ev, old_off, logname);
if (retval != OK_CONTINUE)
......@@ -2450,23 +2456,23 @@ int main(int argc, char** argv)
if (load_defaults("my", load_groups, &argc, &argv))
exit(1);
defaults_argv= argv;
if (!(binlog_filter= new Rpl_filter))
{
error("Failed to create Rpl_filter");
exit(1);
goto err;
}
defaults_argv= argv;
parse_args(&argc, (char***)&argv);
if (!argc || opt_version)
{
if (!argc)
usage();
cleanup();
free_defaults(defaults_argv);
my_end(my_end_arg);
exit(!opt_version);
if (!opt_version)
retval= ERROR_STOP;
goto err;
}
if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC)
......@@ -2486,12 +2492,18 @@ int main(int argc, char** argv)
if (!dirname_for_local_load)
{
if (init_tmpdir(&tmpdir, 0))
exit(1);
{
retval= ERROR_STOP;
goto err;
}
dirname_for_local_load= my_strdup(my_tmpdir(&tmpdir), MY_WME);
}
if (load_processor.init())
exit(1);
{
retval= ERROR_STOP;
goto err;
}
if (dirname_for_local_load)
load_processor.init_by_dir_name(dirname_for_local_load);
else
......@@ -2561,12 +2573,20 @@ int main(int argc, char** argv)
free_defaults(defaults_argv);
my_free_open_file_info();
load_processor.destroy();
mysql_server_end();
/* We cannot free DBUG, it is used in global destructors after exit(). */
my_end(my_end_arg | MY_DONT_FREE_DBUG);
exit(retval == ERROR_STOP ? 1 : 0);
/* Keep compilers happy. */
DBUG_RETURN(retval == ERROR_STOP ? 1 : 0);
err:
cleanup();
free_defaults(defaults_argv);
my_end(my_end_arg);
exit(retval == ERROR_STOP ? 1 : 0);
DBUG_RETURN(retval == ERROR_STOP ? 1 : 0);
}
......
/*
Copyright (c) 2000, 2013, Oracle and/or its affiliates.
Copyright (c) 2010, 2013, Monty Program Ab.
Copyright (c) 2010, 2015, Monty Program Ab.
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
......@@ -148,6 +148,12 @@ static int first_error=0;
*/
static uint multi_source= 0;
static DYNAMIC_STRING extended_row;
static DYNAMIC_STRING dynamic_where;
static MYSQL_RES *get_table_name_result= NULL;
static MEM_ROOT glob_root;
static MYSQL_RES *routine_res, *routine_list_res;
#include <sslopt-vars.h>
FILE *md_result_file= 0;
FILE *stderror_file=0;
......@@ -1138,16 +1144,14 @@ static int fetch_db_collation(const char *db_name,
int db_cl_size)
{
my_bool err_status= FALSE;
char query[QUERY_LENGTH];
MYSQL_RES *db_cl_res;
MYSQL_ROW db_cl_row;
char quoted_database_buf[NAME_LEN*2+3];
char *qdatabase= quote_name(db_name, quoted_database_buf, 1);
my_snprintf(query, sizeof (query), "use %s", qdatabase);
if (mysql_query_with_error_report(mysql, NULL, query))
return 1;
if (mysql_select_db(mysql, db_name))
{
DB_error(mysql, "when selecting the database");
return 1; /* If --force */
}
if (mysql_query_with_error_report(mysql, &db_cl_res,
"select @@collation_database"))
......@@ -1585,14 +1589,26 @@ static void free_resources()
{
if (md_result_file && md_result_file != stdout)
my_fclose(md_result_file, MYF(0));
if (get_table_name_result)
mysql_free_result(get_table_name_result);
if (routine_res)
mysql_free_result(routine_res);
if (routine_list_res)
mysql_free_result(routine_list_res);
if (mysql)
{
mysql_close(mysql);
mysql= 0;
}
my_free(order_by);
my_free(opt_password);
my_free(current_host);
free_root(&glob_root, MYF(0));
if (my_hash_inited(&ignore_table))
my_hash_free(&ignore_table);
if (extended_insert)
dynstr_free(&extended_row);
if (insert_pat_inited)
dynstr_free(&insert_pat);
dynstr_free(&extended_row);
dynstr_free(&dynamic_where);
dynstr_free(&insert_pat);
if (defaults_argv)
free_defaults(defaults_argv);
mysql_library_end();
......@@ -1609,8 +1625,6 @@ static void maybe_exit(int error)
ignore_errors= 1; /* don't want to recurse, if something fails below */
if (opt_slave_data)
do_start_slave_sql(mysql);
if (mysql)
mysql_close(mysql);
free_resources();
exit(error);
}
......@@ -1703,6 +1717,7 @@ static void dbDisconnect(char *host)
{
verbose_msg("-- Disconnecting from %s...\n", host ? host : "localhost");
mysql_close(mysql);
mysql= 0;
} /* dbDisconnect */
......@@ -2324,6 +2339,8 @@ static uint dump_events_for_db(char *db)
(const char *) (query_str != NULL ? query_str : row[3]),
(const char *) delimiter);
my_free(query_str);
restore_time_zone(sql_file, delimiter);
restore_sql_mode(sql_file, delimiter);
......@@ -2408,7 +2425,6 @@ static uint dump_routines_for_db(char *db)
char *routine_name;
int i;
FILE *sql_file= md_result_file;
MYSQL_RES *routine_res, *routine_list_res;
MYSQL_ROW row, routine_list_row;
char db_cl_name[MY_CS_NAME_SIZE];
......@@ -2432,7 +2448,7 @@ static uint dump_routines_for_db(char *db)
/* Get database collation. */
if (fetch_db_collation(db_name_buff, db_cl_name, sizeof (db_cl_name)))
if (fetch_db_collation(db, db_cl_name, sizeof (db_cl_name)))
DBUG_RETURN(1);
if (switch_character_set_results(mysql, "binary"))
......@@ -2463,7 +2479,11 @@ static uint dump_routines_for_db(char *db)
routine_type[i], routine_name);
if (mysql_query_with_error_report(mysql, &routine_res, query_buff))
{
mysql_free_result(routine_list_res);
routine_list_res= 0;
DBUG_RETURN(1);
}
while ((row= mysql_fetch_row(routine_res)))
{
......@@ -2481,7 +2501,8 @@ static uint dump_routines_for_db(char *db)
print_comment(sql_file, 1,
"-- does %s have permissions on mysql.proc?\n\n",
current_user);
maybe_die(EX_MYSQLERR,"%s has insufficent privileges to %s!", current_user, query_buff);
maybe_die(EX_MYSQLERR,"%s has insufficent privileges to %s!",
current_user, query_buff);
}
else if (strlen(row[2]))
{
......@@ -2501,9 +2522,12 @@ static uint dump_routines_for_db(char *db)
if (mysql_num_fields(routine_res) >= 6)
{
if (switch_db_collation(sql_file, db_name_buff, ";",
if (switch_db_collation(sql_file, db, ";",
db_cl_name, row[5], &db_cl_altered))
{
mysql_free_result(routine_res);
mysql_free_result(routine_list_res);
routine_res= routine_list_res= 0;
DBUG_RETURN(1);
}
......@@ -2548,18 +2572,25 @@ static uint dump_routines_for_db(char *db)
if (db_cl_altered)
{
if (restore_db_collation(sql_file, db_name_buff, ";", db_cl_name))
if (restore_db_collation(sql_file, db, ";", db_cl_name))
{
mysql_free_result(routine_res);
mysql_free_result(routine_list_res);
routine_res= routine_list_res= 0;
DBUG_RETURN(1);
}
}
}
}
} /* end of routine printing */
mysql_free_result(routine_res);
routine_res= 0;
} /* end of list of routines */
}
mysql_free_result(routine_list_res);
routine_list_res= 0;
} /* end of for i (0 .. 1) */
if (opt_xml)
......@@ -2681,13 +2712,20 @@ static uint get_table_structure(char *table, char *db, char *table_type,
if (switch_character_set_results(mysql, "binary") ||
mysql_query_with_error_report(mysql, &result, buff) ||
switch_character_set_results(mysql, default_charset))
{
my_free(order_by);
order_by= 0;
DBUG_RETURN(0);
}
if (path)
{
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
{
my_free(order_by);
order_by= 0;
DBUG_RETURN(0);
}
write_header(sql_file, db);
}
......@@ -3257,10 +3295,6 @@ static int dump_trigger(FILE *sql_file, MYSQL_RES *show_create_trigger_rs,
continue;
}
query_str= cover_definer_clause(row[2], strlen(row[2]),
C_STRING_WITH_LEN("50017"),
C_STRING_WITH_LEN("50003"),
C_STRING_WITH_LEN(" TRIGGER"));
if (switch_db_collation(sql_file, db_name, ";",
db_cl_name, row[5], &db_cl_altered))
DBUG_RETURN(TRUE);
......@@ -3272,12 +3306,18 @@ static int dump_trigger(FILE *sql_file, MYSQL_RES *show_create_trigger_rs,
switch_sql_mode(sql_file, ";", row[1]);
query_str= cover_definer_clause(row[2], strlen(row[2]),
C_STRING_WITH_LEN("50017"),
C_STRING_WITH_LEN("50003"),
C_STRING_WITH_LEN(" TRIGGER"));
fprintf(sql_file,
"DELIMITER ;;\n"
"/*!50003 %s */;;\n"
"DELIMITER ;\n",
(const char *) (query_str != NULL ? query_str : row[2]));
my_free(query_str);
restore_sql_mode(sql_file, ";");
restore_cs_variables(sql_file, ";");
......@@ -3286,8 +3326,6 @@ static int dump_trigger(FILE *sql_file, MYSQL_RES *show_create_trigger_rs,
if (restore_db_collation(sql_file, db_name, ";", db_cl_name))
DBUG_RETURN(TRUE);
}
my_free(query_str);
}
DBUG_RETURN(FALSE);
......@@ -3378,13 +3416,14 @@ static int dump_triggers_for_table(char *table_name, char *db_name)
{
MYSQL_RES *show_create_trigger_rs= mysql_store_result(mysql);
if (!show_create_trigger_rs ||
dump_trigger(sql_file, show_create_trigger_rs, db_name, db_cl_name))
goto done;
int error= (!show_create_trigger_rs ||
dump_trigger(sql_file, show_create_trigger_rs, db_name,
db_cl_name));
mysql_free_result(show_create_trigger_rs);
if (error)
goto done;
}
}
if (opt_xml)
......@@ -3631,12 +3670,14 @@ static void dump_table(char *table, char *db)
{
dynstr_append_checked(&query_string, " ORDER BY ");
dynstr_append_checked(&query_string, order_by);
my_free(order_by);
order_by= 0;
}
if (mysql_real_query(mysql, query_string.str, query_string.length))
{
DB_error(mysql, "when executing 'SELECT INTO OUTFILE'");
dynstr_free(&query_string);
DB_error(mysql, "when executing 'SELECT INTO OUTFILE'");
DBUG_VOID_RETURN;
}
}
......@@ -3662,6 +3703,8 @@ static void dump_table(char *table, char *db)
dynstr_append_checked(&query_string, " ORDER BY ");
dynstr_append_checked(&query_string, order_by);
my_free(order_by);
order_by= 0;
}
if (!opt_xml && !opt_compact)
......@@ -3671,6 +3714,7 @@ static void dump_table(char *table, char *db)
}
if (mysql_query_with_error_report(mysql, 0, query_string.str))
{
dynstr_free(&query_string);
DB_error(mysql, "when retrieving data from server");
goto err;
}
......@@ -3680,6 +3724,7 @@ static void dump_table(char *table, char *db)
res=mysql_store_result(mysql);
if (!res)
{
dynstr_free(&query_string);
DB_error(mysql, "when retrieving data from server");
goto err;
}
......@@ -3995,23 +4040,22 @@ static void dump_table(char *table, char *db)
static char *getTableName(int reset)
{
static MYSQL_RES *res= NULL;
MYSQL_ROW row;
MYSQL_ROW row;
if (!res)
if (!get_table_name_result)
{
if (!(res= mysql_list_tables(mysql,NullS)))
if (!(get_table_name_result= mysql_list_tables(mysql,NullS)))
return(NULL);
}
if ((row= mysql_fetch_row(res)))
if ((row= mysql_fetch_row(get_table_name_result)))
return((char*) row[0]);
if (reset)
mysql_data_seek(res,0); /* We want to read again */
mysql_data_seek(get_table_name_result,0); /* We want to read again */
else
{
mysql_free_result(res);
res= NULL;
mysql_free_result(get_table_name_result);
get_table_name_result= NULL;
}
return(NULL);
} /* getTableName */
......@@ -4028,46 +4072,44 @@ static int dump_all_tablespaces()
static int dump_tablespaces_for_tables(char *db, char **table_names, int tables)
{
DYNAMIC_STRING where;
int r;
int i;
char name_buff[NAME_LEN*2+3];
mysql_real_escape_string(mysql, name_buff, db, strlen(db));
init_dynamic_string_checked(&where, " AND TABLESPACE_NAME IN ("
init_dynamic_string_checked(&dynamic_where, " AND TABLESPACE_NAME IN ("
"SELECT DISTINCT TABLESPACE_NAME FROM"
" INFORMATION_SCHEMA.PARTITIONS"
" WHERE"
" TABLE_SCHEMA='", 256, 1024);
dynstr_append_checked(&where, name_buff);
dynstr_append_checked(&where, "' AND TABLE_NAME IN (");
dynstr_append_checked(&dynamic_where, name_buff);
dynstr_append_checked(&dynamic_where, "' AND TABLE_NAME IN (");
for (i=0 ; i<tables ; i++)
{
mysql_real_escape_string(mysql, name_buff,
table_names[i], strlen(table_names[i]));
dynstr_append_checked(&where, "'");
dynstr_append_checked(&where, name_buff);
dynstr_append_checked(&where, "',");
dynstr_append_checked(&dynamic_where, "'");
dynstr_append_checked(&dynamic_where, name_buff);
dynstr_append_checked(&dynamic_where, "',");
}
dynstr_trunc(&where, 1);
dynstr_append_checked(&where,"))");
dynstr_trunc(&dynamic_where, 1);
dynstr_append_checked(&dynamic_where,"))");
DBUG_PRINT("info",("Dump TS for Tables where: %s",where.str));
r= dump_tablespaces(where.str);
dynstr_free(&where);
DBUG_PRINT("info",("Dump TS for Tables where: %s",dynamic_where.str));
r= dump_tablespaces(dynamic_where.str);
dynstr_free(&dynamic_where);
return r;
}
static int dump_tablespaces_for_databases(char** databases)
{
DYNAMIC_STRING where;
int r;
int i;
init_dynamic_string_checked(&where, " AND TABLESPACE_NAME IN ("
init_dynamic_string_checked(&dynamic_where, " AND TABLESPACE_NAME IN ("
"SELECT DISTINCT TABLESPACE_NAME FROM"
" INFORMATION_SCHEMA.PARTITIONS"
" WHERE"
......@@ -4078,16 +4120,16 @@ static int dump_tablespaces_for_databases(char** databases)
char db_name_buff[NAME_LEN*2+3];
mysql_real_escape_string(mysql, db_name_buff,
databases[i], strlen(databases[i]));
dynstr_append_checked(&where, "'");
dynstr_append_checked(&where, db_name_buff);
dynstr_append_checked(&where, "',");
dynstr_append_checked(&dynamic_where, "'");
dynstr_append_checked(&dynamic_where, db_name_buff);
dynstr_append_checked(&dynamic_where, "',");
}
dynstr_trunc(&where, 1);
dynstr_append_checked(&where,"))");
dynstr_trunc(&dynamic_where, 1);
dynstr_append_checked(&dynamic_where,"))");
DBUG_PRINT("info",("Dump TS for DBs where: %s",where.str));
r= dump_tablespaces(where.str);
dynstr_free(&where);
DBUG_PRINT("info",("Dump TS for DBs where: %s",dynamic_where.str));
r= dump_tablespaces(dynamic_where.str);
dynstr_free(&dynamic_where);
return r;
}
......@@ -4495,9 +4537,12 @@ static int dump_all_tables_in_db(char *database)
}
}
if (numrows && mysql_real_query(mysql, query.str, query.length-1))
{
dynstr_free(&query);
DB_error(mysql, "when using LOCK TABLES");
/* We shall continue here, if --force was given */
dynstr_free(&query);
/* We shall continue here, if --force was given */
}
dynstr_free(&query); /* Safe to call twice */
}
if (flush_logs)
{
......@@ -4511,7 +4556,9 @@ static int dump_all_tables_in_db(char *database)
{
verbose_msg("-- Setting savepoint...\n");
if (mysql_query_with_error_report(mysql, 0, "SAVEPOINT sp"))
{
DBUG_RETURN(1);
}
}
while ((table= getTableName(0)))
{
......@@ -4746,22 +4793,22 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
{
char table_buff[NAME_LEN*2+3];
DYNAMIC_STRING lock_tables_query;
MEM_ROOT root;
char **dump_tables, **pos, **end;
DBUG_ENTER("dump_selected_tables");
if (init_dumping(db, init_dumping_tables))
DBUG_RETURN(1);
init_alloc_root(&root, 8192, 0, MYF(0));
if (!(dump_tables= pos= (char**) alloc_root(&root, tables * sizeof(char *))))
init_alloc_root(&glob_root, 8192, 0, MYF(0));
if (!(dump_tables= pos= (char**) alloc_root(&glob_root,
tables * sizeof(char *))))
die(EX_EOM, "alloc_root failure.");
init_dynamic_string_checked(&lock_tables_query, "LOCK TABLES ", 256, 1024);
for (; tables > 0 ; tables-- , table_names++)
{
/* the table name passed on commandline may be wrong case */
if ((*pos= get_actual_table_name(*table_names, &root)))
if ((*pos= get_actual_table_name(*table_names, &glob_root)))
{
/* Add found table name to lock_tables_query */
if (lock_tables)
......@@ -4776,7 +4823,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
if (!ignore_errors)
{
dynstr_free(&lock_tables_query);
free_root(&root, MYF(0));
free_root(&glob_root, MYF(0));
}
maybe_die(EX_ILLEGAL_TABLE, "Couldn't find table: \"%s\"", *table_names);
/* We shall countinue here, if --force was given */
......@@ -4797,7 +4844,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
if (!ignore_errors)
{
dynstr_free(&lock_tables_query);
free_root(&root, MYF(0));
free_root(&glob_root, MYF(0));
}
DB_error(mysql, "when doing LOCK TABLES");
/* We shall countinue here, if --force was given */
......@@ -4809,7 +4856,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
if (mysql_refresh(mysql, REFRESH_LOG))
{
if (!ignore_errors)
free_root(&root, MYF(0));
free_root(&glob_root, MYF(0));
DB_error(mysql, "when doing refresh");
}
/* We shall countinue here, if --force was given */
......@@ -4823,7 +4870,10 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
{
verbose_msg("-- Setting savepoint...\n");
if (mysql_query_with_error_report(mysql, 0, "SAVEPOINT sp"))
{
free_root(&glob_root, MYF(0));
DBUG_RETURN(1);
}
}
/* Dump each selected table */
......@@ -4838,6 +4888,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
{
if (path)
my_fclose(md_result_file, MYF(MY_WME));
if (!ignore_errors)
free_root(&glob_root, MYF(0));
maybe_exit(EX_MYSQLERR);
}
}
......@@ -4856,7 +4908,11 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
{
verbose_msg("-- Rolling back to savepoint sp...\n");
if (mysql_query_with_error_report(mysql, 0, "ROLLBACK TO SAVEPOINT sp"))
{
if (!ignore_errors)
free_root(&glob_root, MYF(0));
maybe_exit(EX_MYSQLERR);
}
}
}
......@@ -4864,8 +4920,10 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
{
verbose_msg("-- Releasing savepoint...\n");
if (mysql_query_with_error_report(mysql, 0, "RELEASE SAVEPOINT sp"))
{
free_root(&glob_root, MYF(0));
DBUG_RETURN(1);
}
}
/* Dump each selected view */
......@@ -4885,9 +4943,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
DBUG_PRINT("info", ("Dumping routines for database %s", db));
dump_routines_for_db(db);
}
free_root(&root, MYF(0));
my_free(order_by);
order_by= 0;
free_root(&glob_root, MYF(0));
if (opt_xml)
{
fputs("</database>\n", md_result_file);
......
/*
Copyright (c) 2000, 2012, Oracle and/or its affiliates.
Copyright (c) 2010, 2012, Monty Program Ab
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2010, 2015, MariaDB
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
......@@ -68,10 +68,12 @@ int main(int argc, char **argv)
my_bool first_argument_uses_wildcards=0;
char *wild;
MYSQL mysql;
static char **defaults_argv;
MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv))
exit(1);
defaults_argv=argv;
get_options(&argc,&argv);
......@@ -150,7 +152,8 @@ int main(int argc, char **argv)
0)))
{
fprintf(stderr,"%s: %s\n",my_progname,mysql_error(&mysql));
exit(1);
error= 1;
goto error;
}
mysql.reconnect= 1;
......@@ -169,11 +172,14 @@ int main(int argc, char **argv)
error=list_fields(&mysql,argv[0],argv[1],wild);
break;
}
error:
mysql_close(&mysql); /* Close & free connection */
my_free(opt_password);
mysql_server_end();
#ifdef HAVE_SMEM
my_free(shared_memory_base_name);
#endif
free_defaults(defaults_argv);
my_end(my_end_arg);
exit(error ? 1 : 0);
return 0; /* No compiler warnings */
......@@ -376,7 +382,7 @@ list_dbs(MYSQL *mysql,const char *wild)
uint length, counter = 0;
ulong rowcount = 0L;
char tables[NAME_LEN+1], rows[NAME_LEN+1];
char query[255];
char query[NAME_LEN + 100];
MYSQL_FIELD *field;
MYSQL_RES *result;
MYSQL_ROW row= NULL, rrow;
......@@ -443,7 +449,8 @@ list_dbs(MYSQL *mysql,const char *wild)
MYSQL_ROW trow;
while ((trow = mysql_fetch_row(tresult)))
{
sprintf(query,"SELECT COUNT(*) FROM `%s`",trow[0]);
my_snprintf(query, sizeof(query),
"SELECT COUNT(*) FROM `%s`", trow[0]);
if (!(mysql_query(mysql,query)))
{
MYSQL_RES *rresult;
......@@ -499,7 +506,7 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
{
const char *header;
uint head_length, counter = 0;
char query[255], rows[NAME_LEN], fields[16];
char query[NAME_LEN + 100], rows[NAME_LEN], fields[16];
MYSQL_FIELD *field;
MYSQL_RES *result;
MYSQL_ROW row, rrow;
......@@ -584,7 +591,8 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
if (opt_verbose > 1)
{
/* Print the count of rows for each table */
sprintf(query,"SELECT COUNT(*) FROM `%s`",row[0]);
my_snprintf(query, sizeof(query), "SELECT COUNT(*) FROM `%s`",
row[0]);
if (!(mysql_query(mysql,query)))
{
if ((rresult = mysql_store_result(mysql)))
......@@ -644,13 +652,15 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
static int
list_table_status(MYSQL *mysql,const char *db,const char *wild)
{
char query[1024],*end;
char query[NAME_LEN + 100];
int len;
MYSQL_RES *result;
MYSQL_ROW row;
end=strxmov(query,"show table status from `",db,"`",NullS);
if (wild && wild[0])
strxmov(end," like '",wild,"'",NullS);
len= sizeof(query);
len-= my_snprintf(query, len, "show table status from `%s`", db);
if (wild && wild[0] && len)
strxnmov(query + strlen(query), len, " like '", wild, "'", NullS);
if (mysql_query(mysql,query) || !(result=mysql_store_result(mysql)))
{
fprintf(stderr,"%s: Cannot get status for db: %s, table: %s: %s\n",
......@@ -682,7 +692,8 @@ static int
list_fields(MYSQL *mysql,const char *db,const char *table,
const char *wild)
{
char query[1024],*end;
char query[NAME_LEN + 100];
int len;
MYSQL_RES *result;
MYSQL_ROW row;
ulong UNINIT_VAR(rows);
......@@ -696,7 +707,7 @@ list_fields(MYSQL *mysql,const char *db,const char *table,
if (opt_count)
{
sprintf(query,"select count(*) from `%s`", table);
my_snprintf(query, sizeof(query), "select count(*) from `%s`", table);
if (mysql_query(mysql,query) || !(result=mysql_store_result(mysql)))
{
fprintf(stderr,"%s: Cannot get record count for db: %s, table: %s: %s\n",
......@@ -708,9 +719,11 @@ list_fields(MYSQL *mysql,const char *db,const char *table,
mysql_free_result(result);
}
end=strmov(strmov(strmov(query,"show /*!32332 FULL */ columns from `"),table),"`");
if (wild && wild[0])
strxmov(end," like '",wild,"'",NullS);
len= sizeof(query);
len-= my_snprintf(query, len, "show /*!32332 FULL */ columns from `%s`",
table);
if (wild && wild[0] && len)
strxnmov(query + strlen(query), len, " like '", wild, "'", NullS);
if (mysql_query(mysql,query) || !(result=mysql_store_result(mysql)))
{
fprintf(stderr,"%s: Cannot list columns in db: %s, table: %s: %s\n",
......@@ -731,7 +744,7 @@ list_fields(MYSQL *mysql,const char *db,const char *table,
print_res_top(result);
if (opt_show_keys)
{
end=strmov(strmov(strmov(query,"show keys from `"),table),"`");
my_snprintf(query, sizeof(query), "show keys from `%s`", table);
if (mysql_query(mysql,query) || !(result=mysql_store_result(mysql)))
{
fprintf(stderr,"%s: Cannot list keys in db: %s, table: %s: %s\n",
......
......@@ -168,6 +168,7 @@ static ulonglong auto_generate_sql_number;
const char *concurrency_str= NULL;
static char *create_string;
uint *concurrency;
static char mysql_charsets_dir[FN_REFLEN+1];
const char *default_dbug_option="d:t:o,/tmp/mysqlslap.trace";
const char *opt_csv_str;
......@@ -372,6 +373,7 @@ int main(int argc, char **argv)
{
fprintf(stderr,"%s: Error when connecting to server: %s\n",
my_progname,mysql_error(&mysql));
mysql_close(&mysql);
free_defaults(defaults_argv);
my_end(0);
exit(1);
......@@ -417,8 +419,7 @@ int main(int argc, char **argv)
pthread_mutex_destroy(&sleeper_mutex);
pthread_cond_destroy(&sleep_threshhold);
if (!opt_only_print)
mysql_close(&mysql); /* Close & free connection */
mysql_close(&mysql); /* Close & free connection */
/* now free all the strings we created */
my_free(opt_password);
......@@ -585,6 +586,9 @@ static struct my_option my_long_options[] =
"Number of row inserts to perform for each thread (default is 100).",
&auto_generate_sql_number, &auto_generate_sql_number,
0, GET_ULL, REQUIRED_ARG, 100, 0, 0, 0, 0, 0},
{"character-sets-dir", OPT_CHARSETS_DIR,
"Directory for character set files.", &charsets_dir,
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"commit", OPT_SLAP_COMMIT, "Commit records every X number of statements.",
&commit_rate, &commit_rate, 0, GET_UINT, REQUIRED_ARG,
0, 0, 0, 0, 0, 0},
......@@ -782,6 +786,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
DBUG_PUSH(argument ? argument : default_dbug_option);
debug_check_flag= 1;
break;
case OPT_CHARSETS_DIR:
strmake_buf(mysql_charsets_dir, argument);
charsets_dir = mysql_charsets_dir;
break;
case OPT_SLAP_CSV:
if (!argument)
argument= (char *)"-"; /* use stdout */
......@@ -1863,21 +1871,21 @@ pthread_handler_t run_task(void *p)
}
pthread_mutex_unlock(&sleeper_mutex);
if (!(mysql= mysql_init(NULL)))
if (mysql_thread_init())
{
fprintf(stderr,"%s: mysql_init() failed ERROR : %s\n",
my_progname, mysql_error(mysql));
fprintf(stderr,"%s: mysql_thread_init() failed\n", my_progname);
exit(0);
}
set_mysql_connect_options(mysql);
if (mysql_thread_init())
if (!(mysql= mysql_init(NULL)))
{
fprintf(stderr,"%s: mysql_thread_init() failed ERROR : %s\n",
my_progname, mysql_error(mysql));
fprintf(stderr,"%s: mysql_init() failed\n", my_progname);
mysql_thread_end();
exit(0);
}
set_mysql_connect_options(mysql);
DBUG_PRINT("info", ("trying to connect to host %s as user %s", host, user));
if (!opt_only_print)
......@@ -1995,8 +2003,7 @@ pthread_handler_t run_task(void *p)
if (commit_rate)
run_query(mysql, "COMMIT", strlen("COMMIT"));
if (!opt_only_print)
mysql_close(mysql);
mysql_close(mysql);
mysql_thread_end();
......
......@@ -5246,7 +5246,7 @@ static st_error global_error_names[] =
#include <my_base.h>
static st_error handler_error_names[] =
{
{ "<No error>", -1U, "" },
{ "<No error>", UINT_MAX, "" },
#include <handler_ername.h>
{ 0, 0, 0 }
};
......
......@@ -32,7 +32,7 @@ SET(CPACK_RPM_PACKAGE_NAME "MariaDB")
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")
SET(CPACK_RPM_PACKAGE_RELEASE "1%{?dist}")
SET(CPACK_RPM_PACKAGE_LICENSE "GPL")
SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
SET(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
SET(CPACK_PACKAGE_RELOCATABLE FALSE)
SET(CPACK_RPM_PACKAGE_GROUP "Applications/Databases")
......
......@@ -96,8 +96,11 @@ IF(MSVC)
STRING(REGEX REPLACE "/STACK:([^ ]+)" "" CMAKE_${type}_LINKER_FLAGS "${CMAKE_${type}_LINKER_FLAGS}")
STRING(REGEX REPLACE "/INCREMENTAL:([^ ]+)" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "/INCREMENTAL$" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "/INCREMENTAL:([^ ]+)" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_DEBUG "${CMAKE_${type}_LINKER_FLAGS_DEBUG}")
STRING(REGEX REPLACE "/INCREMENTAL$" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_DEBUG "${CMAKE_${type}_LINKER_FLAGS_DEBUG}")
SET(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF /release")
ENDFOREACH()
# Mark 32 bit executables large address aware so they can
# use > 2GB address space
......@@ -113,7 +116,7 @@ IF(MSVC)
#TODO: update the code and remove the disabled warnings
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4800 /wd4805 /wd4996")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805 /wd4996 /we4099")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805 /wd4996 /wd4291 /we4099")
IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
# _WIN64 is defined by the compiler itself.
......@@ -181,14 +184,14 @@ CHECK_SYMBOL_REPLACEMENT(S_IROTH _S_IREAD sys/stat.h)
CHECK_SYMBOL_REPLACEMENT(S_IFIFO _S_IFIFO sys/stat.h)
CHECK_SYMBOL_REPLACEMENT(SIGQUIT SIGTERM signal.h)
CHECK_SYMBOL_REPLACEMENT(SIGPIPE SIGINT signal.h)
CHECK_SYMBOL_REPLACEMENT(isnan _isnan float.h)
CHECK_SYMBOL_REPLACEMENT(finite _finite float.h)
CHECK_SYMBOL_REPLACEMENT(isnan _isnan "math.h;float.h")
CHECK_SYMBOL_REPLACEMENT(finite _finite "math;float.h")
CHECK_FUNCTION_REPLACEMENT(popen _popen)
CHECK_FUNCTION_REPLACEMENT(pclose _pclose)
CHECK_FUNCTION_REPLACEMENT(access _access)
CHECK_FUNCTION_REPLACEMENT(strcasecmp _stricmp)
CHECK_FUNCTION_REPLACEMENT(strncasecmp _strnicmp)
CHECK_FUNCTION_REPLACEMENT(snprintf _snprintf)
CHECK_SYMBOL_REPLACEMENT(snprintf _snprintf stdio.h)
CHECK_FUNCTION_REPLACEMENT(strtok_r strtok_s)
CHECK_FUNCTION_REPLACEMENT(strtoll _strtoi64)
CHECK_FUNCTION_REPLACEMENT(strtoull _strtoui64)
......
......@@ -101,7 +101,6 @@ SET(HAVE_IPPROTO_IPV6 CACHE INTERNAL "")
SET(HAVE_IPV6 TRUE CACHE INTERNAL "")
SET(HAVE_IPV6_V6ONLY 1 CACHE INTERNAL "")
SET(HAVE_ISINF CACHE INTERNAL "")
SET(HAVE_ISNAN CACHE INTERNAL "")
SET(HAVE_ISSETUGID CACHE INTERNAL "")
SET(HAVE_GETUID CACHE INTERNAL "")
SET(HAVE_GETEUID CACHE INTERNAL "")
......@@ -231,7 +230,6 @@ SET(HAVE_SIZEOF_ULONG FALSE CACHE INTERNAL "")
SET(HAVE_SIZEOF_U_INT32_T FALSE CACHE INTERNAL "")
SET(HAVE_SIZE_OF_SSIZE_T FALSE CACHE INTERNAL "")
SET(HAVE_SLEEP CACHE INTERNAL "")
SET(HAVE_SNPRINTF CACHE INTERNAL "")
SET(HAVE_SOCKADDR_STORAGE_SS_FAMILY 1 CACHE INTERNAL "")
SET(HAVE_SOLARIS_STYLE_GETHOST CACHE INTERNAL "")
SET(STACK_DIRECTION -1 CACHE INTERNAL "")
......@@ -324,10 +322,8 @@ SET(WORDS_BIGENDIAN CACHE INTERNAL "")
SET(HAVE__S_IFIFO 1 CACHE INTERNAL "")
SET(HAVE__S_IREAD 1 CACHE INTERNAL "")
SET(HAVE__finite 1 CACHE INTERNAL "")
SET(HAVE__isnan 1 CACHE INTERNAL "")
SET(HAVE__pclose 1 CACHE INTERNAL "")
SET(HAVE__popen 1 CACHE INTERNAL "")
SET(HAVE__snprintf 1 CACHE INTERNAL "")
SET(HAVE__stricmp 1 CACHE INTERNAL "")
SET(HAVE__strnicmp 1 CACHE INTERNAL "")
SET(HAVE__strtoi64 1 CACHE INTERNAL "")
......
......@@ -317,6 +317,8 @@
#cmakedefine HAVE_TIMESPEC_TS_SEC 1
#cmakedefine STRUCT_DIRENT_HAS_D_INO 1
#cmakedefine STRUCT_DIRENT_HAS_D_NAMLEN 1
#cmakedefine STRUCT_TIMESPEC_HAS_TV_SEC 1
#cmakedefine STRUCT_TIMESPEC_HAS_TV_NSEC 1
#cmakedefine SPRINTF_RETURNS_INT 1
#define USE_MB 1
......@@ -404,6 +406,7 @@
#cmakedefine SIGNAL_RETURN_TYPE_IS_VOID 1
#cmakedefine RETSIGTYPE @RETSIGTYPE@
#cmakedefine VOID_SIGHANDLER 1
#cmakedefine HAVE_SIGHANDLER_T 1
#define STRUCT_RLIMIT struct rlimit
#ifdef __APPLE__
......@@ -489,6 +492,7 @@
#define SYSTEM_TYPE "@SYSTEM_TYPE@"
#define MACHINE_TYPE "@CMAKE_SYSTEM_PROCESSOR@"
#define DEFAULT_MACHINE "@DEFAULT_MACHINE@"
#cmakedefine HAVE_DTRACE 1
#cmakedefine SIGNAL_WITH_VIO_CLOSE 1
......@@ -514,6 +518,10 @@
#cmakedefine strtoll @strtoll@
#cmakedefine strtoull @strtoull@
#cmakedefine vsnprintf @vsnprintf@
#if (_MSC_VER > 1800)
#define tzname _tzname
#define P_tmpdir "C:\\TEMP"
#endif
#if (_MSC_VER > 1310)
# define HAVE_SETENV
#define setenv(a,b,c) _putenv_s(a,b)
......@@ -522,7 +530,7 @@
/* We don't want the min/max macros */
#ifdef __WIN__
#define NOMINMAX
#define NOMINMAX 1
#endif
/*
......
......@@ -547,6 +547,7 @@ MY_CHECK_TYPE_SIZE(mode_t MODE_T)
IF(NOT SIZEOF_MODE_T)
SET(mode_t int)
ENDIF()
MY_CHECK_TYPE_SIZE(sighandler_t SIGHANDLER_T)
IF(HAVE_NETINET_IN_H)
SET(CMAKE_EXTRA_INCLUDE_FILES netinet/in.h)
......@@ -1056,3 +1057,5 @@ CHECK_STRUCT_HAS_MEMBER("struct dirent" d_ino "dirent.h" STRUCT_DIRENT_HAS_D_IN
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_namlen "dirent.h" STRUCT_DIRENT_HAS_D_NAMLEN)
SET(SPRINTF_RETURNS_INT 1)
CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H)
CHECK_STRUCT_HAS_MEMBER("struct timespec" tv_sec "time.h" STRUCT_TIMESPEC_HAS_TV_SEC)
CHECK_STRUCT_HAS_MEMBER("struct timespec" tv_nsec "time.h" STRUCT_TIMESPEC_HAS_TV_NSEC)
......@@ -39,11 +39,15 @@ case "${CODENAME}" in
*) LIBREADLINE_DEV=libreadline-gplv2-dev ;;
esac
sed -i -e "s/\\\${LIBREADLINE_DEV}/${LIBREADLINE_DEV}/g" debian/control
case "${CODENAME}" in
etch|lenny|hardy|intrepid|jaunty|karmic) CMAKE_DEP='' ;;
*) CMAKE_DEP='cmake (>= 2.7), ' ;;
esac
sed -i -e "s/\\\${CMAKE_DEP}/${CMAKE_DEP}/g" debian/control
# Clean up build file symlinks that are distro-specific. First remove all, then set
# new links.
DISTRODIRS="$(ls ./debian/dist)"
......@@ -60,9 +64,7 @@ echo "Copying distribution specific build files for ${DISTRO}"
DISTROFILES="$(ls ./debian/dist/${DISTRO})"
for distrofile in ${DISTROFILES}; do
rm -f "./debian/${distrofile}"
sed -e "s/\\\${LIBREADLINE_DEV}/${LIBREADLINE_DEV}/g" \
-e "s/\\\${CMAKE_DEP}/${CMAKE_DEP}/g" \
< "./debian/dist/${DISTRO}/${distrofile}" > "./debian/${distrofile}"
cat "./debian/dist/${DISTRO}/${distrofile}" > "./debian/${distrofile}"
chmod --reference="./debian/dist/${DISTRO}/${distrofile}" "./debian/${distrofile}"
done;
......@@ -75,8 +77,9 @@ dch -b -D ${CODENAME} -v "${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTR
echo "Creating package version ${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTRA:+-${RELEASE_EXTRA}}1~${CODENAME} ... "
# Build the package.
#
fakeroot dpkg-buildpackage -us -uc
# Pass -I so that .git and other unnecessary temporary and source control files
# will be ignored by dpkg-source when createing the tar.gz source package
fakeroot dpkg-buildpackage -us -uc -I
[ -e debian/autorm-file ] && rm -vf `cat debian/autorm-file`
......
Source: mariadb-10.0
Section: misc
Priority: optional
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
Build-Depends: bison,
chrpath,
debhelper,
dpatch,
gawk,
hardening-wrapper,
libjemalloc-dev (>= 3.0.0),
libncurses5-dev (>= 5.0-6),
libpam0g-dev,
libssl-dev,
libwrap0-dev (>= 7.6-8.3),
lsb-release,
perl (>= 5.6.0),
po-debconf,
procps | hurd,
psmisc,
zlib1g-dev (>= 1:1.1.3-5),
${CMAKE_DEP}libaio-dev,
${LIBREADLINE_DEV}
Standards-Version: 3.8.3
Homepage: http://mariadb.org/
Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/10.0/files
Vcs-Bzr: bzr://lp:maria
Package: libmariadbclient18
Section: libs
Architecture: any
Depends: libmysqlclient18 (= ${source:Version}),
mariadb-common (>= ${source:Version}),
${misc:Depends},
${shlibs:Depends}
Conflicts: mariadb-galera-server-10.0 (<< 10.0.5),
mariadb-galera-server-5.5 (<< 5.5.33),
mariadb-server-10.0 (<< 10.0.5),
mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5 (<< 5.5.33)
Description: MariaDB database client library
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the client library.
Package: libmysqlclient18
Section: libs
Architecture: any
Depends: libmariadbclient18 (= ${source:Version})
Replaces: libmysqlclient18 (<< ${source:Version})
Description: Virtual package to satisfy external depends
This is an empty package that provides an updated "best" version of
libmysqlclient18 that does not conflict with the libmariadbclient18
package.
.
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
Package: libmariadbd-dev
Architecture: any
Section: libdevel
Depends: libmariadbclient-dev (>= ${source:Version}), ${misc:Depends}
Provides: libmysqld-dev
Conflicts: libmysqld-dev
Replaces: libmysqld-dev
Description: MariaDB embedded database development files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the embedded server library and header files.
Package: libmariadbclient-dev
Architecture: any
Section: libdevel
Depends: libmariadbclient18 (>= ${source:Version}),
zlib1g-dev,
${misc:Depends},
${shlibs:Depends}
Replaces: libmariadbclient16-dev, libmysqlclient16-dev
Conflicts: libmariadbclient16-dev,
libmysqlclient-dev,
libmysqlclient10-dev,
libmysqlclient12-dev,
libmysqlclient14-dev,
libmysqlclient15-dev,
libmysqlclient16-dev
Provides: libmysqlclient-dev
Description: MariaDB database development files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes development libraries and header files.
Package: mysql-common
Section: database
Architecture: all
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes files needed by all versions of the client library
(e.g. /etc/mysql/my.cnf).
Package: mariadb-common
Section: database
Architecture: all
Depends: mysql-common (>= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes files needed by all versions of the client library
(e.g. /etc/mysql/conf.d/mariadb.cnf).
Package: mariadb-client-core-10.0
Architecture: any
Depends: libmariadbclient18 (>= ${source:Version}),
mariadb-common (>= ${source:Version}),
${misc:Depends},
${shlibs:Depends}
Provides: mysql-client-core,
mysql-client-core-5.1,
mysql-client-core-5.5,
mysql-client-core-5.6
Conflicts: mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mariadb-client-core-5.1,
mariadb-client-core-5.2,
mariadb-client-core-5.3,
mariadb-client-core-5.5,
mysql-client (<< 5.0.51),
mysql-client-5.0,
mysql-client-5.1 (<< ${source:Version}),
mysql-client-5.5 (<< ${source:Version}),
mysql-client-core-5.1,
mysql-client-core-5.5,
mysql-client-core-5.6
Replaces: mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mariadb-client-core-5.1,
mariadb-client-core-5.2,
mariadb-client-core-5.3,
mariadb-client-core-5.5,
mysql-client (<< 5.0.51),
mysql-client-5.0,
mysql-client-5.1,
mysql-client-5.5,
mysql-client-core-5.1,
mysql-client-core-5.5,
mysql-client-core-5.6
Description: MariaDB database core client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the core client files, as used by Akonadi.
Package: mariadb-client-10.0
Architecture: any
Depends: debianutils (>=1.6),
libdbd-mysql-perl (>= 1.2202),
libdbi-perl,
libmariadbclient18 (>= ${source:Version}),
mariadb-client-core-10.0 (>= ${source:Version}),
mariadb-common (>= ${source:Version}),
${misc:Depends},
${perl:Depends},
${shlibs:Depends}
Suggests: libterm-readkey-perl
Provides: mysql-client,
mysql-client-4.1,
mysql-client-5.1,
mysql-client-5.5,
mysql-client-5.6,
virtual-mysql-client
Conflicts: mariadb-client (<< ${source:Version}),
mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mysql-client (<< 5.0.51),
mysql-client-5.0,
mysql-client-5.1,
mysql-client-5.5,
mysql-client-5.6
Replaces: mariadb-client (<< ${source:Version}),
mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5,
mysql-client (<< 5.0.51),
mysql-client-5.0,
mysql-client-5.1,
mysql-client-5.5,
mysql-client-5.6
Description: MariaDB database client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the client binaries and the additional tools
innotop and mysqlreport.
Package: mariadb-server-core-10.0
Architecture: any
Depends: libmariadbclient18 (>= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Provides: mysql-server-core,
mysql-server-core-5.1,
mysql-server-core-5.5,
mysql-server-core-5.6
Conflicts: mariadb-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5,
mysql-server-5.0,
mysql-server-core-5.0,
mysql-server-core-5.1,
mysql-server-core-5.5,
mysql-server-core-5.6
Replaces: mariadb-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5,
mysql-server-5.0,
mysql-server-core-5.0,
mysql-server-core-5.1,
mysql-server-core-5.5,
mysql-server-core-5.6
Description: MariaDB database core server files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the core server files, as used by Akonadi.
Package: mariadb-test-10.0
Section: database
Architecture: any
Depends: mariadb-client-10.0 (= ${source:Version}),
mariadb-server-10.0 (= ${source:Version})
Suggests: patch
Conflicts: mariadb-galera-server-5.5 (<< 5.5.33),
mariadb-server-5.5 (<< 5.5.33),
mariadb-test (<< ${source:Version}),
mariadb-test-5.1,
mariadb-test-5.2,
mariadb-test-5.3
Replaces: mariadb-test (<< ${source:Version}),
mariadb-test-5.1,
mariadb-test-5.2,
mariadb-test-5.3
Description: MariaDB database regression test suite
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the regression test suite.
Package: mariadb-server-10.0
Architecture: any
Suggests: mailx, mariadb-test, tinyca
Recommends: libhtml-template-perl
Pre-Depends: mariadb-common (>= ${source:Version}), adduser (>= 3.40), debconf
Depends: bsdutils,
libdbi-perl,
lsb-base (>= 3.0-10),
mariadb-client-10.0 (>= ${source:Version}),
mariadb-server-core-10.0 (>= ${binary:Version}),
passwd,
perl (>= 5.6),
psmisc,
${misc:Depends},
${shlibs:Depends}
Provides: mariadb-server, mysql-server, virtual-mysql-server
Conflicts: mariadb-server (<< ${source:Version}),
mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5,
mariadb-tokudb-engine-10.0,
mariadb-tokudb-engine-5.5,
mysql-server (<< ${source:Version}),
mysql-server-4.1,
mysql-server-5.0,
mysql-server-5.1,
mysql-server-5.5,
mysql-server-5.6
Replaces: libmariadbclient-dev (<< 5.5.0),
libmariadbclient16 (<< 5.3.4),
mariadb-server (<< ${source:Version}),
mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5,
mariadb-tokudb-engine-10.0,
mariadb-tokudb-engine-5.5,
mysql-server (<< ${source:Version}),
mysql-server-4.1,
mysql-server-5.0,
mysql-server-5.1,
mysql-server-5.5,
mysql-server-5.6
Description: MariaDB database server binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the server binaries.
Package: mariadb-server
Section: database
Architecture: all
Depends: mariadb-server-10.0 (= ${source:Version}), ${misc:Depends}
Description: MariaDB database server (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-server (currently mariadb-server-10.0), as determined by the MariaDB
maintainers. Install this package if in doubt about which MariaDB
version you need. That will install the version recommended by the
package maintainers.
.
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
Package: mariadb-client
Section: database
Architecture: all
Depends: mariadb-client-10.0 (= ${source:Version}), ${misc:Depends}
Description: MariaDB database client (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-client (currently mariadb-client-10.0), as determined by the MariaDB
maintainers. Install this package if in doubt about which MariaDB version
you want, as this is the one we consider to be in the best shape.
Package: mariadb-test
Section: database
Architecture: all
Depends: mariadb-test-10.0 (= ${source:Version})
Description: MariaDB database regression test suite (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-test (currently mariadb-test-10.0), as determined by the MariaDB
maintainers.
Package: mariadb-connect-engine-10.0
Section: database
Architecture: any
Depends: libxml2, mariadb-server-10.0|mariadb-galera-server-10.0, unixODBC
Build-depends: libxml2-dev,
mariadb-server-10.0|mariadb-galera-server-10.0,
unixODBC-dev
Description: Connect storage engine for MariaDB
Connect engine supports a number of file formats (dbf, xml, txt, bin, etc),
connections to ODBC tables and remote MySQL tables, as well as a number of
other interesting features.
Package: mariadb-oqgraph-engine-10.0
Section: database
Architecture: any
Depends: libjudydebian1, mariadb-server-10.0|mariadb-galera-server-10.0
Description: Oqgraph storage engine for MariaDB
The OQGRAPH engine is a computation engine plugin for handling hierarchies
(trees) and graphs (friend-of-a-friend, etc) cleanly through standard SQL.
......@@ -2,7 +2,7 @@
== MariaDB ==
The Debian package of MySQL was first debianzed on 1997-04-12 by Christian
Schwarz <schwarz@debian.org> and ist maintained since 1999-04-20 by
Schwarz <schwarz@debian.org> and ist maintained since 1999-04-20 by
Christian Hammers <ch@debian.org>.
The MariaDB packages were initally made by http://ourdelta.org/, and
......@@ -17,22 +17,22 @@ According to the file "COPYING" all parts of this package are licenced
under the terms of the GNU GPL Version 2 of which a copy is available
in /usr/share/common-licenses.
To allow free software with other licences than the GPL to link against the
To allow free software with other licences than the GPL to link against the
shared library, special terms for "derived works" are granted in the README file of MySQL 5.5, as follows:
> MySQL FOSS License Exception
> We want free and open source software applications under certain
> licenses to be able to use specified GPL-licensed MySQL client
> libraries despite the fact that not all such FOSS licenses are
> compatible with version 2 of the GNU General Public License.
> Therefore there are special exceptions to the terms and conditions
> of the GPLv2 as applied to these client libraries, which are
> identified and described in more detail in the FOSS License
> Exception at
> compatible with version 2 of the GNU General Public License.
> Therefore there are special exceptions to the terms and conditions
> of the GPLv2 as applied to these client libraries, which are
> identified and described in more detail in the FOSS License
> Exception at
> <http://www.mysql.com/about/legal/licensing/foss-exception.html>.
The manual had to be removed as it is not free in the sense of the
Debian Free Software Guidelines (DFSG).
Debian Free Software Guidelines (DFSG).
== innotop ==
......
Source: mariadb-10.0
Section: misc
Priority: optional
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
Build-Depends: procps | hurd, debhelper, libncurses5-dev (>= 5.0-6),
perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3),
zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV},
libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath,
dpatch, gawk, bison, lsb-release, hardening-wrapper,
${CMAKE_DEP}libaio-dev, libjemalloc-dev (>= 3.0.0)
Standards-Version: 3.8.3
Homepage: http://mariadb.org/
Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/10.0/files
Vcs-Bzr: bzr://lp:maria
Package: libmariadbclient18
Section: libs
Architecture: any
Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Conflicts: mariadb-server-10.0 (<< 10.0.5), mariadb-galera-server-10.0 (<< 10.0.5),
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33),
mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3
Description: MariaDB database client library
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the client library.
Package: libmysqlclient18
Section: libs
Architecture: any
Depends: libmariadbclient18 (= ${source:Version})
Replaces: libmysqlclient18 (<< ${source:Version})
Description: Virtual package to satisfy external depends
This is an empty package that provides an updated "best" version of
libmysqlclient18 that does not conflict with the libmariadbclient18
package.
.
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
Package: libmariadbd-dev
Architecture: any
Section: libdevel
Depends: libmariadbclient-dev (>= ${source:Version}), ${misc:Depends}
Provides: libmysqld-dev
Conflicts: libmysqld-dev
Replaces: libmysqld-dev
Description: MariaDB embedded database development files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the embedded server library and header files.
Package: libmariadbclient-dev
Architecture: any
Section: libdevel
Depends: libmariadbclient18 (>= ${source:Version}), zlib1g-dev, , ${shlibs:Depends}, ${misc:Depends}
Replaces: libmariadbclient16-dev, libmysqlclient16-dev
Conflicts: libmysqlclient-dev, libmariadbclient16-dev, libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
Provides: libmysqlclient-dev
Description: MariaDB database development files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes development libraries and header files.
Package: mysql-common
Section: database
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes files needed by all versions of the client library
(e.g. /etc/mysql/my.cnf).
Package: mariadb-common
Section: database
Architecture: all
Depends: mysql-common, ${shlibs:Depends}, ${misc:Depends}
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes files needed by all versions of the client library
(e.g. /etc/mysql/conf.d/mariadb.cnf).
Package: mariadb-client-core-10.0
Architecture: any
Depends: mariadb-common, libmariadbclient18 (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Provides: mysql-client-core, mysql-client-core-5.1, mysql-client-core-5.5
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-5.1 (<< ${source:Version}), mysql-client-5.5 (<< ${source:Version}),
mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-5.1, mysql-client-5.5,
mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Description: MariaDB database core client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the core client files, as used by Akonadi.
Package: mariadb-client-10.0
Architecture: any
Depends: debianutils (>=1.6), libdbi-perl, libdbd-mysql-perl (>= 1.2202),
mariadb-common, libmariadbclient18 (>= ${source:Version}),
mariadb-client-core-10.0 (>= ${source:Version}), ${perl:Depends},
${shlibs:Depends}, ${misc:Depends}
Suggests: libterm-readkey-perl
Provides: virtual-mysql-client, mysql-client,
mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mariadb-client (<< ${source:Version}),
mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mariadb-client (<< ${source:Version}),
mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Description: MariaDB database client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the client binaries and the additional tools
innotop and mysqlreport.
Package: mariadb-server-core-10.0
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version})
Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5
Conflicts: mysql-server-5.0, mysql-server-core-5.0,
mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5, mysql-server-core-5.5
Replaces: mysql-server-5.0, mysql-server-core-5.0,
mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5, mysql-server-core-5.5
Description: MariaDB database core server files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the core server files, as used by Akonadi.
Package: mariadb-test-10.0
Section: database
Architecture: any
Depends: mariadb-server-10.0 (= ${source:Version}), mariadb-client-10.0 (= ${source:Version})
Suggests: patch
Conflicts: mariadb-test (<< ${source:Version}),
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3,
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33)
Replaces: mariadb-test (<< ${source:Version}),
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3
Description: MariaDB database regression test suite
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the regression test suite.
Package: mariadb-server-10.0
Architecture: any
Suggests: tinyca, mailx, mariadb-test
Recommends: libhtml-template-perl
Pre-Depends: mariadb-common, adduser (>= 3.40), debconf
Depends: mariadb-client-10.0 (>= ${source:Version}), libdbi-perl,
perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc,
passwd, lsb-base (>= 3.0-10), bsdutils,
mariadb-server-core-10.0 (>= ${binary:Version})
Provides: mariadb-server, mysql-server, virtual-mysql-server
Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
libmariadbclient16 (<< 5.3.4), libmariadbclient-dev (<< 5.5.0),
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Description: MariaDB database server binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
.
This package includes the server binaries.
Package: mariadb-server
Section: database
Architecture: all
Depends: mariadb-server-10.0 (= ${source:Version}), ${misc:Depends}
Description: MariaDB database server (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-server (currently mariadb-server-10.0), as determined by the MariaDB
maintainers. Install this package if in doubt about which MariaDB
version you need. That will install the version recommended by the
package maintainers.
.
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query
language in the world. The main goals of MariaDB are speed, robustness and
ease of use.
Package: mariadb-client
Section: database
Architecture: all
Depends: mariadb-client-10.0 (= ${source:Version}), ${misc:Depends}
Description: MariaDB database client (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-client (currently mariadb-client-10.0), as determined by the MariaDB
maintainers. Install this package if in doubt about which MariaDB version
you want, as this is the one we consider to be in the best shape.
Package: mariadb-test
Section: database
Architecture: all
Depends: mariadb-test-10.0 (= ${source:Version})
Description: MariaDB database regression test suite (metapackage depending on the latest version)
This is an empty package that depends on the current "best" version of
mariadb-test (currently mariadb-test-10.0), as determined by the MariaDB
maintainers.
Package: mariadb-connect-engine-10.0
Section: database
Architecture: any
Depends: mariadb-server-10.0|mariadb-galera-server-10.0, unixODBC, libxml2
Build-depends: mariadb-server-10.0|mariadb-galera-server-10.0, unixODBC-dev, libxml2-dev
Description: Connect storage engine for MariaDB
Connect engine supports a number of file formats (dbf, xml, txt, bin, etc),
connections to ODBC tables and remote MySQL tables, as well as a number of
other interesting features.
Package: mariadb-oqgraph-engine-10.0
Section: database
Architecture: any
Depends: mariadb-server-10.0|mariadb-galera-server-10.0, libjudydebian1
Description: Oqgraph storage engine for MariaDB
The OQGRAPH engine is a computation engine plugin for handling hierarchies
(trees) and graphs (friend-of-a-friend, etc) cleanly through standard SQL.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment