Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
28ebc2a7
Commit
28ebc2a7
authored
Aug 27, 2014
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup: sysvar, only one common check_update_type()
parent
051c1326
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
70 deletions
+31
-70
sql/set_var.h
sql/set_var.h
+25
-1
sql/sql_plugin.cc
sql/sql_plugin.cc
+0
-22
sql/sys_vars.h
sql/sys_vars.h
+6
-47
No files found.
sql/set_var.h
View file @
28ebc2a7
...
...
@@ -132,7 +132,31 @@ public:
bool
is_struct
()
{
return
option
.
var_type
&
GET_ASK_ADDR
;
}
bool
is_written_to_binlog
(
enum_var_type
type
)
{
return
type
!=
OPT_GLOBAL
&&
binlog_status
==
SESSION_VARIABLE_IN_BINLOG
;
}
virtual
bool
check_update_type
(
Item_result
type
)
=
0
;
bool
check_update_type
(
Item_result
type
)
{
switch
(
option
.
var_type
&
GET_TYPE_MASK
)
{
case
GET_INT
:
case
GET_UINT
:
case
GET_LONG
:
case
GET_ULONG
:
case
GET_LL
:
case
GET_ULL
:
return
type
!=
INT_RESULT
;
case
GET_STR
:
case
GET_STR_ALLOC
:
return
type
!=
STRING_RESULT
;
case
GET_ENUM
:
case
GET_BOOL
:
case
GET_SET
:
case
GET_FLAGSET
:
return
type
!=
STRING_RESULT
&&
type
!=
INT_RESULT
;
case
GET_DOUBLE
:
return
type
!=
INT_RESULT
&&
type
!=
REAL_RESULT
&&
type
!=
DECIMAL_RESULT
;
default:
return
true
;
}
}
bool
check_type
(
enum_var_type
type
)
{
switch
(
scope
())
...
...
sql/sql_plugin.cc
View file @
28ebc2a7
...
...
@@ -273,7 +273,6 @@ public:
plugin_var
(
plugin_var_arg
)
{
plugin_var
->
name
=
name_arg
;
}
sys_var_pluginvar
*
cast_pluginvar
()
{
return
this
;
}
bool
check_update_type
(
Item_result
type
);
SHOW_TYPE
show_type
();
uchar
*
real_value_ptr
(
THD
*
thd
,
enum_var_type
type
);
TYPELIB
*
plugin_var_typelib
(
void
);
...
...
@@ -3251,27 +3250,6 @@ static SHOW_TYPE pluginvar_show_type(st_mysql_sys_var *plugin_var)
}
bool
sys_var_pluginvar
::
check_update_type
(
Item_result
type
)
{
switch
(
plugin_var
->
flags
&
PLUGIN_VAR_TYPEMASK
)
{
case
PLUGIN_VAR_INT
:
case
PLUGIN_VAR_LONG
:
case
PLUGIN_VAR_LONGLONG
:
return
type
!=
INT_RESULT
;
case
PLUGIN_VAR_STR
:
return
type
!=
STRING_RESULT
;
case
PLUGIN_VAR_ENUM
:
case
PLUGIN_VAR_BOOL
:
case
PLUGIN_VAR_SET
:
return
type
!=
STRING_RESULT
&&
type
!=
INT_RESULT
;
case
PLUGIN_VAR_DOUBLE
:
return
type
!=
INT_RESULT
&&
type
!=
REAL_RESULT
&&
type
!=
DECIMAL_RESULT
;
default:
return
true
;
}
}
uchar
*
sys_var_pluginvar
::
real_value_ptr
(
THD
*
thd
,
enum_var_type
type
)
{
DBUG_ASSERT
(
thd
||
(
type
==
OPT_GLOBAL
));
...
...
sql/sys_vars.h
View file @
28ebc2a7
...
...
@@ -208,8 +208,6 @@ public:
global_var
(
T
)
=
static_cast
<
T
>
(
var
->
save_result
.
ulonglong_value
);
return
false
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
INT_RESULT
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
var
->
save_result
.
ulonglong_value
=
(
ulonglong
)
*
(
T
*
)
global_value_ptr
(
thd
,
0
);
}
void
global_save_default
(
THD
*
thd
,
set_var
*
var
)
...
...
@@ -284,8 +282,6 @@ public:
return
false
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
INT_RESULT
&&
type
!=
STRING_RESULT
;
}
};
/**
...
...
@@ -499,8 +495,6 @@ public:
var
->
save_result
.
string_value
.
str
=
ptr
;
var
->
save_result
.
string_value
.
length
=
ptr
?
strlen
(
ptr
)
:
0
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
};
...
...
@@ -536,8 +530,6 @@ public:
{
DBUG_ASSERT
(
FALSE
);
}
void
global_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
FALSE
);
}
bool
check_update_type
(
Item_result
type
)
{
return
true
;
}
protected:
virtual
uchar
*
session_value_ptr
(
THD
*
thd
,
LEX_STRING
*
base
)
{
...
...
@@ -580,9 +572,6 @@ public:
{
return
Sys_var_charptr
::
do_string_check
(
thd
,
var
,
charset
(
thd
));
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
FALSE
);
}
...
...
@@ -665,7 +654,7 @@ public:
0
,
VARIABLE_NOT_IN_BINLOG
,
on_check_func
,
on_update_func
,
0
),
max_length
(
max_length_arg
)
{
option
.
var_type
=
GET_
NO_ARG
;
option
.
var_type
=
GET_
STR
;
SYSVAR_ASSERT
(
scope
()
==
ONLY_SESSION
)
*
const_cast
<
SHOW_TYPE
*>
(
&
show_val_type
)
=
SHOW_LEX_STRING
;
}
...
...
@@ -725,14 +714,12 @@ public:
DBUG_ASSERT
(
FALSE
);
return
NULL
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
};
#ifndef DBUG_OFF
/**
@@session.d
bug and @@global.
dbug variables.
@@session.d
ebug_dbug and @@global.debug_
dbug variables.
@@dbug variable differs from other variables in one aspect:
if its value is not assigned in the session, it "points" to the global
...
...
@@ -757,7 +744,7 @@ public:
getopt
.
arg_type
,
SHOW_CHAR
,
(
intptr
)
def_val
,
lock
,
binlog_status_arg
,
on_check_func
,
on_update_func
,
substitute
)
{
option
.
var_type
=
GET_
NO_ARG
;
}
{
option
.
var_type
=
GET_
STR
;
}
bool
do_check
(
THD
*
thd
,
set_var
*
var
)
{
char
buff
[
STRING_BUFFER_USUAL_SIZE
];
...
...
@@ -803,8 +790,6 @@ public:
DBUG_EXPLAIN_INITIAL
(
buf
,
sizeof
(
buf
));
return
(
uchar
*
)
thd
->
strdup
(
buf
);
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
};
#endif
...
...
@@ -1031,10 +1016,6 @@ public:
global_var
(
double
)
=
var
->
save_result
.
double_value
;
return
false
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
INT_RESULT
&&
type
!=
REAL_RESULT
&&
type
!=
DECIMAL_RESULT
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
var
->
save_result
.
double_value
=
global_var
(
double
);
}
void
global_save_default
(
THD
*
thd
,
set_var
*
var
)
...
...
@@ -1408,8 +1389,6 @@ public:
var
->
save_result
.
plugin
=
my_plugin_lock
(
thd
,
plugin
);
}
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
uchar
*
session_value_ptr
(
THD
*
thd
,
LEX_STRING
*
base
)
{
plugin_ref
plugin
=
session_var
(
thd
,
plugin_ref
);
...
...
@@ -1445,7 +1424,7 @@ public:
substitute
)
{
SYSVAR_ASSERT
(
scope
()
==
ONLY_SESSION
);
option
.
var_type
=
GET_
NO_ARG
;
option
.
var_type
=
GET_
STR
;
}
bool
do_check
(
THD
*
thd
,
set_var
*
var
)
{
...
...
@@ -1487,8 +1466,6 @@ public:
DBUG_ASSERT
(
FALSE
);
return
0
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
};
#endif
/* defined(ENABLED_DEBUG_SYNC) */
...
...
@@ -1747,7 +1724,6 @@ public:
{
return
(
uchar
*
)
show_comp_option_name
[
global_var
(
enum
SHOW_COMP_OPTION
)];
}
bool
check_update_type
(
Item_result
type
)
{
return
false
;
}
};
/**
...
...
@@ -1783,7 +1759,7 @@ public:
substitute
),
name_offset
(
name_off
)
{
option
.
var_type
=
GET_
STR
;
option
.
var_type
=
GET_
ENUM
;
// because we accept INT and STRING here
/*
struct variables are special on the command line - often (e.g. for
charsets) the name cannot be immediately resolved, but only after all
...
...
@@ -1814,8 +1790,6 @@ public:
void
**
default_value
=
reinterpret_cast
<
void
**>
(
option
.
def_value
);
var
->
save_result
.
ptr
=
*
default_value
;
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
INT_RESULT
&&
type
!=
STRING_RESULT
;
}
uchar
*
session_value_ptr
(
THD
*
thd
,
LEX_STRING
*
base
)
{
uchar
*
ptr
=
session_var
(
thd
,
uchar
*
);
...
...
@@ -1856,6 +1830,7 @@ public:
{
SYSVAR_ASSERT
(
getopt
.
id
<
0
);
SYSVAR_ASSERT
(
size
==
sizeof
(
Time_zone
*
));
option
.
var_type
=
GET_STR
;
}
bool
do_check
(
THD
*
thd
,
set_var
*
var
)
{
...
...
@@ -1910,8 +1885,6 @@ public:
{
return
(
uchar
*
)(
global_var
(
Time_zone
*
)
->
get_name
()
->
ptr
());
}
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
};
/**
...
...
@@ -2092,10 +2065,6 @@ public:
DBUG_ASSERT
(
false
);
return
true
;
}
bool
check_update_type
(
Item_result
type
)
{
DBUG_ASSERT
(
false
);
return
false
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
false
);
...
...
@@ -2143,10 +2112,6 @@ public:
DBUG_ASSERT
(
false
);
return
true
;
}
bool
check_update_type
(
Item_result
type
)
{
DBUG_ASSERT
(
false
);
return
false
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
false
);
...
...
@@ -2186,7 +2151,6 @@ public:
return
true
;
}
bool
global_update
(
THD
*
thd
,
set_var
*
var
);
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
false
);
...
...
@@ -2227,7 +2191,6 @@ public:
return
true
;
}
bool
global_update
(
THD
*
thd
,
set_var
*
var
);
bool
check_update_type
(
Item_result
type
)
{
return
type
!=
STRING_RESULT
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
false
);
...
...
@@ -2275,10 +2238,6 @@ public:
DBUG_ASSERT
(
false
);
return
true
;
}
bool
check_update_type
(
Item_result
type
)
{
DBUG_ASSERT
(
false
);
return
false
;
}
void
session_save_default
(
THD
*
thd
,
set_var
*
var
)
{
DBUG_ASSERT
(
false
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment