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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
1bba969b
Commit
1bba969b
authored
Dec 19, 2002
by
bar@bar.mysql.r18.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removed several cases of default_charset_info use
a bit more ucs2 compatibility
parent
6ac401b5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
56 additions
and
49 deletions
+56
-49
sql/des_key_file.cc
sql/des_key_file.cc
+4
-2
sql/field.cc
sql/field.cc
+17
-11
sql/field_conv.cc
sql/field_conv.cc
+4
-4
sql/hostname.cc
sql/hostname.cc
+2
-2
sql/item_timefunc.cc
sql/item_timefunc.cc
+14
-13
sql/log_event.cc
sql/log_event.cc
+14
-16
sql/set_var.h
sql/set_var.h
+1
-1
No files found.
sql/des_key_file.cc
View file @
1bba969b
...
...
@@ -34,6 +34,8 @@ static int initialized;
1 Error
*/
#define des_cs my_charset_latin1
bool
load_des_key_file
(
const
char
*
file_name
)
{
...
...
@@ -70,10 +72,10 @@ load_des_key_file(const char *file_name)
{
offset
=
(
char
)
(
offset
-
'0'
);
// Remove newline and possible other control characters
for
(
start
=
buf
+
1
;
my_isspace
(
system_charset_info
,
*
start
)
;
start
++
)
;
for
(
start
=
buf
+
1
;
my_isspace
(
des_cs
,
*
start
)
;
start
++
)
;
end
=
buf
+
length
;
for
(
end
=
strend
(
buf
)
;
end
>
start
&&
!
my_isgraph
(
system_charset_info
,
end
[
-
1
])
;
end
--
)
;
end
>
start
&&
!
my_isgraph
(
des_cs
,
end
[
-
1
])
;
end
--
)
;
if
(
start
!=
end
)
{
...
...
sql/field.cc
View file @
1bba969b
...
...
@@ -287,7 +287,7 @@ uint Field::fill_cache_field(CACHE_FIELD *copy)
bool
Field
::
get_date
(
TIME
*
ltime
,
bool
fuzzydate
)
{
char
buff
[
40
];
String
tmp
(
buff
,
sizeof
(
buff
),
default_charset_info
),
tmp2
,
*
res
;
String
tmp
(
buff
,
sizeof
(
buff
),
my_charset_latin1
),
tmp2
,
*
res
;
if
(
!
(
res
=
val_str
(
&
tmp
,
&
tmp2
))
||
str_to_TIME
(
res
->
ptr
(),
res
->
length
(),
ltime
,
fuzzydate
)
==
TIMESTAMP_NONE
)
return
1
;
...
...
@@ -297,7 +297,7 @@ bool Field::get_date(TIME *ltime,bool fuzzydate)
bool
Field
::
get_time
(
TIME
*
ltime
)
{
char
buff
[
40
];
String
tmp
(
buff
,
sizeof
(
buff
),
default_charset_info
),
tmp2
,
*
res
;
String
tmp
(
buff
,
sizeof
(
buff
),
my_charset_latin1
),
tmp2
,
*
res
;
if
(
!
(
res
=
val_str
(
&
tmp
,
&
tmp2
))
||
str_to_time
(
res
->
ptr
(),
res
->
length
(),
ltime
))
return
1
;
...
...
@@ -404,6 +404,12 @@ void Field_decimal::overflow(bool negative)
int
Field_decimal
::
store
(
const
char
*
from
,
uint
len
,
CHARSET_INFO
*
cs
)
{
String
l1from
;
l1from
.
copy
(
from
,
len
,
cs
,
my_charset_latin1
);
from
=
l1from
.
ptr
();
len
=
l1from
.
length
();
const
char
*
end
=
from
+
len
;
/* The pointer where the field value starts (i.e., "where to write") */
char
*
to
=
ptr
;
...
...
@@ -463,7 +469,7 @@ int Field_decimal::store(const char *from, uint len, CHARSET_INFO *cs)
tmp_dec
++
;
/* skip pre-space */
while
(
from
!=
end
&&
my_isspace
(
system_charset_info
,
*
from
))
while
(
from
!=
end
&&
my_isspace
(
my_charset_latin1
,
*
from
))
from
++
;
if
(
from
==
end
)
{
...
...
@@ -500,13 +506,13 @@ int Field_decimal::store(const char *from, uint len, CHARSET_INFO *cs)
for
(;
from
!=
end
&&
*
from
==
'0'
;
from
++
)
;
// Read prezeros
pre_zeros_end
=
int_digits_from
=
from
;
/* Read non zero digits at the left of '.'*/
for
(;
from
!=
end
&&
my_isdigit
(
system_charset_info
,
*
from
)
;
from
++
)
;
for
(;
from
!=
end
&&
my_isdigit
(
my_charset_latin1
,
*
from
)
;
from
++
)
;
int_digits_end
=
from
;
if
(
from
!=
end
&&
*
from
==
'.'
)
// Some '.' ?
from
++
;
frac_digits_from
=
from
;
/* Read digits at the right of '.' */
for
(;
from
!=
end
&&
my_isdigit
(
system_charset_info
,
*
from
);
from
++
)
;
for
(;
from
!=
end
&&
my_isdigit
(
my_charset_latin1
,
*
from
);
from
++
)
;
frac_digits_end
=
from
;
// Some exponentiation symbol ?
if
(
from
!=
end
&&
(
*
from
==
'e'
||
*
from
==
'E'
))
...
...
@@ -522,7 +528,7 @@ int Field_decimal::store(const char *from, uint len, CHARSET_INFO *cs)
exponents will become small (e.g. 1e4294967296 will become 1e0, and the
field will finally contain 1 instead of its max possible value).
*/
for
(;
from
!=
end
&&
my_isdigit
(
system_charset_info
,
*
from
);
from
++
)
for
(;
from
!=
end
&&
my_isdigit
(
my_charset_latin1
,
*
from
);
from
++
)
{
exponent
=
10
*
exponent
+
(
*
from
-
'0'
);
if
(
exponent
>
MAX_EXPONENT
)
...
...
@@ -540,7 +546,7 @@ int Field_decimal::store(const char *from, uint len, CHARSET_INFO *cs)
if
(
current_thd
->
count_cuted_fields
)
{
// Skip end spaces
for
(;
from
!=
end
&&
my_isspace
(
system_charset_info
,
*
from
);
from
++
)
;
for
(;
from
!=
end
&&
my_isspace
(
my_charset_latin1
,
*
from
);
from
++
)
;
if
(
from
!=
end
)
// If still something left, warn
{
current_thd
->
cuted_fields
++
;
...
...
@@ -871,9 +877,9 @@ int Field_decimal::cmp(const char *a_ptr,const char *b_ptr)
for
(
end
=
a_ptr
+
field_length
;
a_ptr
!=
end
&&
(
*
a_ptr
==
*
b_ptr
||
((
my_isspace
(
system_charset_info
,
*
a_ptr
)
||
*
a_ptr
==
'+'
||
((
my_isspace
(
my_charset_latin1
,
*
a_ptr
)
||
*
a_ptr
==
'+'
||
*
a_ptr
==
'0'
)
&&
(
my_isspace
(
system_charset_info
,
*
b_ptr
)
||
*
b_ptr
==
'+'
||
(
my_isspace
(
my_charset_latin1
,
*
b_ptr
)
||
*
b_ptr
==
'+'
||
*
b_ptr
==
'0'
)));
a_ptr
++
,
b_ptr
++
)
{
...
...
@@ -901,7 +907,7 @@ void Field_decimal::sort_string(char *to,uint length)
char
*
str
,
*
end
;
for
(
str
=
ptr
,
end
=
ptr
+
length
;
str
!=
end
&&
((
my_isspace
(
system_charset_info
,
*
str
)
||
*
str
==
'+'
||
((
my_isspace
(
my_charset_latin1
,
*
str
)
||
*
str
==
'+'
||
*
str
==
'0'
))
;
str
++
)
*
to
++=
' '
;
...
...
@@ -913,7 +919,7 @@ void Field_decimal::sort_string(char *to,uint length)
*
to
++=
1
;
// Smaller than any number
str
++
;
while
(
str
!=
end
)
if
(
my_isdigit
(
system_charset_info
,
*
str
))
if
(
my_isdigit
(
my_charset_latin1
,
*
str
))
*
to
++=
(
char
)
(
'9'
-
*
str
++
);
else
*
to
++=
*
str
++
;
...
...
sql/field_conv.cc
View file @
1bba969b
...
...
@@ -272,7 +272,7 @@ static void do_conv_blob(Copy_field *copy)
static
void
do_save_blob
(
Copy_field
*
copy
)
{
char
buff
[
MAX_FIELD_WIDTH
];
String
res
(
buff
,
sizeof
(
buff
),
default_charset_info
);
String
res
(
buff
,
sizeof
(
buff
),
copy
->
tmp
.
charset
()
);
copy
->
from_field
->
val_str
(
&
res
,
&
res
);
copy
->
tmp
.
copy
(
res
);
((
Field_blob
*
)
copy
->
to_field
)
->
store
(
copy
->
tmp
.
ptr
(),
...
...
@@ -284,7 +284,7 @@ static void do_save_blob(Copy_field *copy)
static
void
do_field_string
(
Copy_field
*
copy
)
{
char
buff
[
MAX_FIELD_WIDTH
];
copy
->
tmp
.
set_quick
(
buff
,
sizeof
(
buff
),
default_charset_info
);
copy
->
tmp
.
set_quick
(
buff
,
sizeof
(
buff
),
copy
->
tmp
.
charset
()
);
copy
->
from_field
->
val_str
(
&
copy
->
tmp
,
&
copy
->
tmp
);
copy
->
to_field
->
store
(
copy
->
tmp
.
c_ptr_quick
(),
copy
->
tmp
.
length
(),
copy
->
tmp
.
charset
());
}
...
...
@@ -313,7 +313,7 @@ static void do_cut_string(Copy_field *copy)
ptr
!=
end
;
ptr
++
)
{
if
(
!
my_isspace
(
system_charset_info
,
*
ptr
))
if
(
!
my_isspace
(
system_charset_info
,
*
ptr
))
// QQ: ucs incompatible
{
current_thd
->
cuted_fields
++
;
// Give a warning
break
;
...
...
@@ -555,7 +555,7 @@ void field_conv(Field *to,Field *from)
to
->
type
()
==
FIELD_TYPE_DECIMAL
)
{
char
buff
[
MAX_FIELD_WIDTH
];
String
result
(
buff
,
sizeof
(
buff
),
default_charset_info
);
String
result
(
buff
,
sizeof
(
buff
),
from
->
charset
()
);
from
->
val_str
(
&
result
,
&
result
);
to
->
store
(
result
.
c_ptr_quick
(),
result
.
length
(),
to
->
charset
());
// QQ: what to do if "from" and "to" are of dirrent charsets?
...
...
sql/hostname.cc
View file @
1bba969b
...
...
@@ -221,10 +221,10 @@ my_string ip_to_hostname(struct in_addr *in, uint *errors)
/* Don't accept hostnames that starts with digits because they may be
false ip:s */
if
(
my_isdigit
(
system_charset_info
,
name
[
0
]))
if
(
my_isdigit
(
my_charset_latin1
,
name
[
0
]))
{
char
*
pos
;
for
(
pos
=
name
+
1
;
my_isdigit
(
system_charset_info
,
*
pos
);
pos
++
)
;
for
(
pos
=
name
+
1
;
my_isdigit
(
my_charset_latin1
,
*
pos
);
pos
++
)
;
if
(
*
pos
==
'.'
)
{
DBUG_PRINT
(
"error"
,(
"mysqld doesn't accept hostnames that starts with a number followed by a '.'"
));
...
...
sql/item_timefunc.cc
View file @
1bba969b
...
...
@@ -64,21 +64,21 @@ static String day_names[] =
** DAY_TO_SECOND as "D MM:HH:SS", "MM:HH:SS" "HH:SS" or as seconds.
*/
bool
get_interval_info
(
const
char
*
str
,
uint
length
,
uint
count
,
long
*
values
)
bool
get_interval_info
(
const
char
*
str
,
uint
length
,
CHARSET_INFO
*
cs
,
uint
count
,
long
*
values
)
{
const
char
*
end
=
str
+
length
;
uint
i
;
while
(
str
!=
end
&&
!
my_isdigit
(
system_charset_info
,
*
str
))
while
(
str
!=
end
&&
!
my_isdigit
(
cs
,
*
str
))
str
++
;
for
(
i
=
0
;
i
<
count
;
i
++
)
{
long
value
;
for
(
value
=
0
;
str
!=
end
&&
my_isdigit
(
system_charset_info
,
*
str
)
;
str
++
)
for
(
value
=
0
;
str
!=
end
&&
my_isdigit
(
cs
,
*
str
)
;
str
++
)
value
=
value
*
10L
+
(
long
)
(
*
str
-
'0'
);
values
[
i
]
=
value
;
while
(
str
!=
end
&&
!
my_isdigit
(
system_charset_info
,
*
str
))
while
(
str
!=
end
&&
!
my_isdigit
(
cs
,
*
str
))
str
++
;
if
(
str
==
end
&&
i
!=
count
-
1
)
{
...
...
@@ -306,6 +306,7 @@ static bool get_interval_value(Item *args,interval_type int_type,
const
char
*
str
;
uint32
length
;
LINT_INIT
(
value
);
LINT_INIT
(
str
);
LINT_INIT
(
length
);
CHARSET_INFO
*
cs
=
str_value
->
charset
();
bzero
((
char
*
)
t
,
sizeof
(
*
t
));
if
((
int
)
int_type
<=
INTERVAL_SECOND
)
...
...
@@ -328,7 +329,7 @@ static bool get_interval_value(Item *args,interval_type int_type,
/* record negative intervalls in t->neg */
str
=
res
->
ptr
();
const
char
*
end
=
str
+
res
->
length
();
while
(
str
!=
end
&&
my_isspace
(
system_charset_info
,
*
str
))
while
(
str
!=
end
&&
my_isspace
(
cs
,
*
str
))
str
++
;
if
(
str
!=
end
&&
*
str
==
'-'
)
{
...
...
@@ -358,26 +359,26 @@ static bool get_interval_value(Item *args,interval_type int_type,
t
->
second
=
value
;
break
;
case
INTERVAL_YEAR_MONTH
:
// Allow YEAR-MONTH YYYYYMM
if
(
get_interval_info
(
str
,
length
,
2
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
2
,
array
))
return
(
1
);
t
->
year
=
array
[
0
];
t
->
month
=
array
[
1
];
break
;
case
INTERVAL_DAY_HOUR
:
if
(
get_interval_info
(
str
,
length
,
2
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
2
,
array
))
return
(
1
);
t
->
day
=
array
[
0
];
t
->
hour
=
array
[
1
];
break
;
case
INTERVAL_DAY_MINUTE
:
if
(
get_interval_info
(
str
,
length
,
3
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
3
,
array
))
return
(
1
);
t
->
day
=
array
[
0
];
t
->
hour
=
array
[
1
];
t
->
minute
=
array
[
2
];
break
;
case
INTERVAL_DAY_SECOND
:
if
(
get_interval_info
(
str
,
length
,
4
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
4
,
array
))
return
(
1
);
t
->
day
=
array
[
0
];
t
->
hour
=
array
[
1
];
...
...
@@ -385,20 +386,20 @@ static bool get_interval_value(Item *args,interval_type int_type,
t
->
second
=
array
[
3
];
break
;
case
INTERVAL_HOUR_MINUTE
:
if
(
get_interval_info
(
str
,
length
,
2
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
2
,
array
))
return
(
1
);
t
->
hour
=
array
[
0
];
t
->
minute
=
array
[
1
];
break
;
case
INTERVAL_HOUR_SECOND
:
if
(
get_interval_info
(
str
,
length
,
3
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
3
,
array
))
return
(
1
);
t
->
hour
=
array
[
0
];
t
->
minute
=
array
[
1
];
t
->
second
=
array
[
2
];
break
;
case
INTERVAL_MINUTE_SECOND
:
if
(
get_interval_info
(
str
,
length
,
2
,
array
))
if
(
get_interval_info
(
str
,
length
,
cs
,
2
,
array
))
return
(
1
);
t
->
minute
=
array
[
0
];
t
->
second
=
array
[
1
];
...
...
sql/log_event.cc
View file @
1bba969b
...
...
@@ -26,6 +26,8 @@
#include <assert.h>
#define log_cs my_charset_latin1
/*****************************************************************************
my_b_safe_write()
...
...
@@ -676,7 +678,7 @@ void Log_event::set_log_pos(MYSQL_LOG* log)
void
Query_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf
[
256
];
String
tmp
(
buf
,
sizeof
(
buf
),
system_charset_info
);
String
tmp
(
buf
,
sizeof
(
buf
),
log_cs
);
tmp
.
length
(
0
);
if
(
db
&&
db_len
)
{
...
...
@@ -930,7 +932,7 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli)
void
Start_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf1
[
256
];
String
tmp
(
buf1
,
sizeof
(
buf1
),
system_charset_info
);
String
tmp
(
buf1
,
sizeof
(
buf1
),
log_cs
);
tmp
.
length
(
0
);
char
buf
[
22
];
...
...
@@ -1041,7 +1043,7 @@ int Start_log_event::exec_event(struct st_relay_log_info* rli)
void
Load_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf
[
256
];
String
tmp
(
buf
,
sizeof
(
buf
),
system_charset_info
);
String
tmp
(
buf
,
sizeof
(
buf
),
log_cs
);
tmp
.
length
(
0
);
if
(
db
&&
db_len
)
{
...
...
@@ -1453,15 +1455,11 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli)
handle_dup
=
DUP_REPLACE
;
sql_exchange
ex
((
char
*
)
fname
,
sql_ex
.
opt_flags
&&
DUMPFILE_FLAG
);
String
field_term
(
sql_ex
.
field_term
,
sql_ex
.
field_term_len
,
system_charset_info
);
String
enclosed
(
sql_ex
.
enclosed
,
sql_ex
.
enclosed_len
,
system_charset_info
);
String
line_term
(
sql_ex
.
line_term
,
sql_ex
.
line_term_len
,
system_charset_info
);
String
line_start
(
sql_ex
.
line_start
,
sql_ex
.
line_start_len
,
system_charset_info
);
String
escaped
(
sql_ex
.
escaped
,
sql_ex
.
escaped_len
,
system_charset_info
);
String
field_term
(
sql_ex
.
field_term
,
sql_ex
.
field_term_len
,
log_cs
);
String
enclosed
(
sql_ex
.
enclosed
,
sql_ex
.
enclosed_len
,
log_cs
);
String
line_term
(
sql_ex
.
line_term
,
sql_ex
.
line_term_len
,
log_cs
);
String
line_start
(
sql_ex
.
line_start
,
sql_ex
.
line_start_len
,
log_cs
);
String
escaped
(
sql_ex
.
escaped
,
sql_ex
.
escaped_len
,
log_cs
);
ex
.
opt_enclosed
=
(
sql_ex
.
opt_flags
&
OPT_ENCLOSED_FLAG
);
if
(
sql_ex
.
empty_flags
&
FIELD_TERM_EMPTY
)
...
...
@@ -1547,7 +1545,7 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli)
void
Rotate_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf1
[
256
],
buf
[
22
];
String
tmp
(
buf1
,
sizeof
(
buf1
),
system_charset_info
);
String
tmp
(
buf1
,
sizeof
(
buf1
),
log_cs
);
tmp
.
length
(
0
);
tmp
.
append
(
new_log_ident
,
ident_len
);
tmp
.
append
(
";pos="
);
...
...
@@ -1685,7 +1683,7 @@ int Rotate_log_event::exec_event(struct st_relay_log_info* rli)
void
Intvar_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf1
[
256
],
buf
[
22
];
String
tmp
(
buf1
,
sizeof
(
buf1
),
system_charset_info
);
String
tmp
(
buf1
,
sizeof
(
buf1
),
log_cs
);
tmp
.
length
(
0
);
tmp
.
append
(
get_var_type_name
());
tmp
.
append
(
'='
);
...
...
@@ -1893,7 +1891,7 @@ int Rand_log_event::exec_event(struct st_relay_log_info* rli)
void
Slave_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf1
[
256
],
buf
[
22
],
*
end
;
String
tmp
(
buf1
,
sizeof
(
buf1
),
system_charset_info
);
String
tmp
(
buf1
,
sizeof
(
buf1
),
log_cs
);
tmp
.
length
(
0
);
tmp
.
append
(
"host="
);
tmp
.
append
(
master_host
);
...
...
@@ -2241,7 +2239,7 @@ void Create_file_log_event::print(FILE* file, bool short_form,
void
Create_file_log_event
::
pack_info
(
Protocol
*
protocol
)
{
char
buf1
[
256
],
buf
[
22
],
*
end
;
String
tmp
(
buf1
,
sizeof
(
buf1
),
system_charset_info
);
String
tmp
(
buf1
,
sizeof
(
buf1
),
log_cs
);
tmp
.
length
(
0
);
tmp
.
append
(
"db="
);
tmp
.
append
(
db
,
db_len
);
...
...
sql/set_var.h
View file @
1bba969b
...
...
@@ -452,7 +452,7 @@ class set_var :public set_var_base
{
Item_field
*
item
=
(
Item_field
*
)
value_arg
;
if
(
!
(
value
=
new
Item_string
(
item
->
field_name
,
strlen
(
item
->
field_name
),
system_charset_info
)))
item
->
charset
()
)))
value
=
value_arg
;
/* Give error message later */
}
else
...
...
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