mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 03:47:17 +02:00
Ensure that one can't from the command line set a variable too small. (Bug #2710)
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994) Added variables "lower_case_file_system", "version_compile_os" and "license" mysql-test/t/lowercase_table3-master.opt: Rename: mysql-test/t/lowercase_table2-master.opt -> mysql-test/t/lowercase_table3-master.opt mysys/my_getopt.c: Ensure that one can't from the command line set a variable too small (could happen when sub_size was set) sql/mysql_priv.h: Added lower_case_file_system sql/mysqld.cc: Allow one to force lower_case_table_names to 0, even if the file system is case insensitive sql/set_var.cc: Added variable "lower_case_file_system" Added variable "version_compile_os" Added variable "license" sql/set_var.h: Added support for read only strings sql/sql_select.cc: Make join optimizer killable
This commit is contained in:
parent
0b751edc57
commit
aa20bd9e8c
11 changed files with 120 additions and 17 deletions
|
|
@ -576,18 +576,15 @@ static longlong eval_num_suffix (char *argument, int *error, char *option_name)
|
|||
static longlong getopt_ll(char *arg, const struct my_option *optp, int *err)
|
||||
{
|
||||
longlong num;
|
||||
ulonglong block_size= (optp->block_size ? (ulonglong) optp->block_size : 1L);
|
||||
|
||||
num= eval_num_suffix(arg, err, (char*) optp->name);
|
||||
if (num < (longlong) optp->min_value)
|
||||
num= (longlong) optp->min_value;
|
||||
else if (num > 0 && (ulonglong) num > (ulonglong) (ulong) optp->max_value
|
||||
&& optp->max_value) /* if max value is not set -> no upper limit */
|
||||
if (num > 0 && (ulonglong) num > (ulonglong) (ulong) optp->max_value &&
|
||||
optp->max_value) /* if max value is not set -> no upper limit */
|
||||
num= (longlong) (ulong) optp->max_value;
|
||||
num= ((num - (longlong) optp->sub_size) / (optp->block_size ?
|
||||
(ulonglong) optp->block_size :
|
||||
1L));
|
||||
return (longlong) (num * (optp->block_size ? (ulonglong) optp->block_size :
|
||||
1L));
|
||||
num= ((num - (longlong) optp->sub_size) / block_size);
|
||||
num= (longlong) (num * block_size);
|
||||
return max(num, optp->min_value);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue