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
b4c8ecd8
Commit
b4c8ecd8
authored
Mar 13, 2003
by
bar@bar.mysql.r18.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
filesort.cc, sql_analyse.cc, item_func.cc, item_strfunc.cc, field.cc:
Unnesessary binary() calls have been removed
parent
dba579bf
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
31 deletions
+24
-31
sql/field.cc
sql/field.cc
+1
-1
sql/filesort.cc
sql/filesort.cc
+12
-19
sql/item_func.cc
sql/item_func.cc
+2
-2
sql/item_strfunc.cc
sql/item_strfunc.cc
+5
-5
sql/sql_analyse.cc
sql/sql_analyse.cc
+4
-4
No files found.
sql/field.cc
View file @
b4c8ecd8
...
@@ -5163,7 +5163,7 @@ void Field_set::sql_type(String &res) const
...
@@ -5163,7 +5163,7 @@ void Field_set::sql_type(String &res) const
bool
Field
::
eq_def
(
Field
*
field
)
bool
Field
::
eq_def
(
Field
*
field
)
{
{
if
(
real_type
()
!=
field
->
real_type
()
||
binary
()
!=
field
->
binary
()
||
if
(
real_type
()
!=
field
->
real_type
()
||
charset
()
!=
field
->
charset
()
||
pack_length
()
!=
field
->
pack_length
())
pack_length
()
!=
field
->
pack_length
())
return
0
;
return
0
;
return
1
;
return
1
;
...
...
sql/filesort.cc
View file @
b4c8ecd8
...
@@ -507,7 +507,6 @@ static void make_sortkey(register SORTPARAM *param,
...
@@ -507,7 +507,6 @@ static void make_sortkey(register SORTPARAM *param,
if
(
res
->
ptr
()
!=
(
char
*
)
to
)
if
(
res
->
ptr
()
!=
(
char
*
)
to
)
memcpy
(
to
,
res
->
ptr
(),
length
);
memcpy
(
to
,
res
->
ptr
(),
length
);
bzero
((
char
*
)
to
+
length
,
diff
);
bzero
((
char
*
)
to
+
length
,
diff
);
if
(
!
item
->
binary
())
my_tosort
(
cs
,
(
char
*
)
to
,
length
);
my_tosort
(
cs
,
(
char
*
)
to
,
length
);
}
}
break
;
break
;
...
@@ -918,6 +917,7 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
...
@@ -918,6 +917,7 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
{
{
reg2
uint
length
;
reg2
uint
length
;
THD
*
thd
=
current_thd
;
THD
*
thd
=
current_thd
;
CHARSET_INFO
*
cs
;
*
multi_byte_charset
=
0
;
*
multi_byte_charset
=
0
;
length
=
0
;
length
=
0
;
...
@@ -926,22 +926,19 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
...
@@ -926,22 +926,19 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
sortorder
->
need_strxnfrm
=
0
;
sortorder
->
need_strxnfrm
=
0
;
if
(
sortorder
->
field
)
if
(
sortorder
->
field
)
{
{
if
(
sortorder
->
field
->
type
()
==
FIELD_TYPE_BLOB
)
if
(
sortorder
->
field
->
type
()
==
FIELD_TYPE_BLOB
)
sortorder
->
length
=
thd
->
variables
.
max_sort_length
;
sortorder
->
length
=
thd
->
variables
.
max_sort_length
;
else
else
{
{
sortorder
->
length
=
sortorder
->
field
->
pack_length
();
sortorder
->
length
=
sortorder
->
field
->
pack_length
();
if
(
!
sortorder
->
field
->
binary
())
if
(
use_strnxfrm
((
cs
=
sortorder
->
field
->
charset
())))
{
CHARSET_INFO
*
cs
=
sortorder
->
field
->
charset
();
if
(
use_strnxfrm
(
cs
))
{
{
sortorder
->
need_strxnfrm
=
1
;
sortorder
->
need_strxnfrm
=
1
;
*
multi_byte_charset
=
1
;
*
multi_byte_charset
=
1
;
sortorder
->
length
=
sortorder
->
length
*
cs
->
strxfrm_multiply
;
sortorder
->
length
=
sortorder
->
length
*
cs
->
strxfrm_multiply
;
}
}
}
}
}
if
(
sortorder
->
field
->
maybe_null
())
if
(
sortorder
->
field
->
maybe_null
())
length
++
;
// Place for NULL marker
length
++
;
// Place for NULL marker
}
}
...
@@ -950,16 +947,12 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
...
@@ -950,16 +947,12 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset)
switch
((
sortorder
->
result_type
=
sortorder
->
item
->
result_type
()))
{
switch
((
sortorder
->
result_type
=
sortorder
->
item
->
result_type
()))
{
case
STRING_RESULT
:
case
STRING_RESULT
:
sortorder
->
length
=
sortorder
->
item
->
max_length
;
sortorder
->
length
=
sortorder
->
item
->
max_length
;
if
(
!
sortorder
->
item
->
binary
())
if
(
use_strnxfrm
((
cs
=
sortorder
->
item
->
charset
())))
{
CHARSET_INFO
*
cs
=
sortorder
->
item
->
charset
();
if
(
use_strnxfrm
(
cs
))
{
{
sortorder
->
length
=
sortorder
->
length
*
cs
->
strxfrm_multiply
;
sortorder
->
length
=
sortorder
->
length
*
cs
->
strxfrm_multiply
;
sortorder
->
need_strxnfrm
=
1
;
sortorder
->
need_strxnfrm
=
1
;
*
multi_byte_charset
=
1
;
*
multi_byte_charset
=
1
;
}
}
}
break
;
break
;
case
INT_RESULT
:
case
INT_RESULT
:
#if SIZEOF_LONG_LONG > 4
#if SIZEOF_LONG_LONG > 4
...
...
sql/item_func.cc
View file @
b4c8ecd8
...
@@ -1024,7 +1024,7 @@ longlong Item_func_char_length::val_int()
...
@@ -1024,7 +1024,7 @@ longlong Item_func_char_length::val_int()
return
0
;
/* purecov: inspected */
return
0
;
/* purecov: inspected */
}
}
null_value
=
0
;
null_value
=
0
;
return
(
longlong
)
(
!
args
[
0
]
->
binary
())
?
res
->
numchars
()
:
res
->
length
();
return
(
longlong
)
res
->
numchars
();
}
}
longlong
Item_func_coercibility
::
val_int
()
longlong
Item_func_coercibility
::
val_int
()
...
@@ -1156,7 +1156,7 @@ longlong Item_func_ord::val_int()
...
@@ -1156,7 +1156,7 @@ longlong Item_func_ord::val_int()
null_value
=
0
;
null_value
=
0
;
if
(
!
res
->
length
())
return
0
;
if
(
!
res
->
length
())
return
0
;
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
args
[
0
]
->
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
register
const
char
*
str
=
res
->
ptr
();
register
const
char
*
str
=
res
->
ptr
();
register
uint32
n
=
0
,
l
=
my_ismbchar
(
res
->
charset
(),
str
,
str
+
res
->
length
());
register
uint32
n
=
0
,
l
=
my_ismbchar
(
res
->
charset
(),
str
,
str
+
res
->
length
());
...
...
sql/item_strfunc.cc
View file @
b4c8ecd8
...
@@ -650,7 +650,7 @@ String *Item_func_reverse::val_str(String *str)
...
@@ -650,7 +650,7 @@ String *Item_func_reverse::val_str(String *str)
ptr
=
(
char
*
)
res
->
ptr
();
ptr
=
(
char
*
)
res
->
ptr
();
end
=
ptr
+
res
->
length
();
end
=
ptr
+
res
->
length
();
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
String
tmpstr
;
String
tmpstr
;
tmpstr
.
copy
(
*
res
);
tmpstr
.
copy
(
*
res
);
...
@@ -1015,7 +1015,7 @@ String *Item_func_substr_index::val_str(String *str)
...
@@ -1015,7 +1015,7 @@ String *Item_func_substr_index::val_str(String *str)
return
&
empty_string
;
// Wrong parameters
return
&
empty_string
;
// Wrong parameters
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
const
char
*
ptr
=
res
->
ptr
();
const
char
*
ptr
=
res
->
ptr
();
const
char
*
strend
=
ptr
+
res
->
length
();
const
char
*
strend
=
ptr
+
res
->
length
();
...
@@ -1169,7 +1169,7 @@ String *Item_func_rtrim::val_str(String *str)
...
@@ -1169,7 +1169,7 @@ String *Item_func_rtrim::val_str(String *str)
{
{
char
chr
=
(
*
remove_str
)[
0
];
char
chr
=
(
*
remove_str
)[
0
];
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
while
(
ptr
<
end
)
while
(
ptr
<
end
)
{
{
...
@@ -1186,7 +1186,7 @@ String *Item_func_rtrim::val_str(String *str)
...
@@ -1186,7 +1186,7 @@ String *Item_func_rtrim::val_str(String *str)
{
{
const
char
*
r_ptr
=
remove_str
->
ptr
();
const
char
*
r_ptr
=
remove_str
->
ptr
();
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
loop:
loop:
while
(
ptr
+
remove_length
<
end
)
while
(
ptr
+
remove_length
<
end
)
...
@@ -1237,7 +1237,7 @@ String *Item_func_trim::val_str(String *str)
...
@@ -1237,7 +1237,7 @@ String *Item_func_trim::val_str(String *str)
while
(
ptr
+
remove_length
<=
end
&&
!
memcmp
(
ptr
,
r_ptr
,
remove_length
))
while
(
ptr
+
remove_length
<=
end
&&
!
memcmp
(
ptr
,
r_ptr
,
remove_length
))
ptr
+=
remove_length
;
ptr
+=
remove_length
;
#ifdef USE_MB
#ifdef USE_MB
if
(
use_mb
(
res
->
charset
())
&&
!
binary
()
)
if
(
use_mb
(
res
->
charset
()))
{
{
char
*
p
=
ptr
;
char
*
p
=
ptr
;
register
uint32
l
;
register
uint32
l
;
...
...
sql/sql_analyse.cc
View file @
b4c8ecd8
...
@@ -732,7 +732,7 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
...
@@ -732,7 +732,7 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
{
{
if
(
must_be_blob
)
if
(
must_be_blob
)
{
{
if
(
item
->
binary
()
)
if
(
item
->
charset
()
==
&
my_charset_bin
)
answer
->
append
(
"TINYBLOB"
,
8
);
answer
->
append
(
"TINYBLOB"
,
8
);
else
else
answer
->
append
(
"TINYTEXT"
,
8
);
answer
->
append
(
"TINYTEXT"
,
8
);
...
@@ -750,21 +750,21 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
...
@@ -750,21 +750,21 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
}
}
else
if
(
max_length
<
(
1L
<<
16
))
else
if
(
max_length
<
(
1L
<<
16
))
{
{
if
(
item
->
binary
()
)
if
(
item
->
charset
()
==
&
my_charset_bin
)
answer
->
append
(
"BLOB"
,
4
);
answer
->
append
(
"BLOB"
,
4
);
else
else
answer
->
append
(
"TEXT"
,
4
);
answer
->
append
(
"TEXT"
,
4
);
}
}
else
if
(
max_length
<
(
1L
<<
24
))
else
if
(
max_length
<
(
1L
<<
24
))
{
{
if
(
item
->
binary
()
)
if
(
item
->
charset
()
==
&
my_charset_bin
)
answer
->
append
(
"MEDIUMBLOB"
,
10
);
answer
->
append
(
"MEDIUMBLOB"
,
10
);
else
else
answer
->
append
(
"MEDIUMTEXT"
,
10
);
answer
->
append
(
"MEDIUMTEXT"
,
10
);
}
}
else
else
{
{
if
(
item
->
binary
()
)
if
(
item
->
charset
()
==
&
my_charset_bin
)
answer
->
append
(
"LONGBLOB"
,
8
);
answer
->
append
(
"LONGBLOB"
,
8
);
else
else
answer
->
append
(
"LONGTEXT"
,
8
);
answer
->
append
(
"LONGTEXT"
,
8
);
...
...
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