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
7e05bc77
Commit
7e05bc77
authored
Jun 03, 2003
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MY_CS_NONTEXT flag for sprintf() incompatible charsets (ucs2 if the only one now)
Some default_charset_info were removed
parent
1aa1d970
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
36 additions
and
36 deletions
+36
-36
include/m_ctype.h
include/m_ctype.h
+1
-1
myisam/mi_create.c
myisam/mi_create.c
+1
-1
myisam/mi_test1.c
myisam/mi_test1.c
+2
-2
myisam/mi_test2.c
myisam/mi_test2.c
+4
-4
myisam/rt_test.c
myisam/rt_test.c
+1
-1
myisam/sp_test.c
myisam/sp_test.c
+1
-1
sql/field.cc
sql/field.cc
+10
-10
sql/item.cc
sql/item.cc
+1
-1
sql/item_create.cc
sql/item_create.cc
+1
-1
sql/item_geofunc.cc
sql/item_geofunc.cc
+1
-1
sql/item_strfunc.cc
sql/item_strfunc.cc
+2
-2
sql/sql_parse.cc
sql/sql_parse.cc
+1
-1
sql/sql_string.cc
sql/sql_string.cc
+2
-2
sql/sql_string.h
sql/sql_string.h
+1
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+5
-5
strings/ctype-ucs2.c
strings/ctype-ucs2.c
+2
-2
No files found.
include/m_ctype.h
View file @
7e05bc77
...
...
@@ -62,9 +62,9 @@ typedef struct unicase_info_st
#define MY_CS_PRIMARY 32
/* if primary collation */
#define MY_CS_STRNXFRM 64
/* if strnxfrm is used for sort */
#define MY_CS_UNICODE 128
/* is a charset is full unicode */
#define MY_CS_NONTEXT 256
/* if a charset is not sprintf() compatible */
#define MY_CHARSET_UNDEFINED 0
#define MY_CHARSET_CURRENT (default_charset_info->number)
typedef
struct
my_uni_idx_st
...
...
myisam/mi_create.c
View file @
7e05bc77
...
...
@@ -441,7 +441,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
mi_int2store
(
share
.
state
.
header
.
base_info_length
,
MI_BASE_INFO_SIZE
);
mi_int2store
(
share
.
state
.
header
.
base_pos
,
base_pos
);
share
.
state
.
header
.
language
=
(
ci
->
language
?
ci
->
language
:
MY_CHARSET_CURRENT
);
ci
->
language
:
default_charset_info
->
number
);
share
.
state
.
header
.
max_block_size
=
max_key_block_length
/
MI_MIN_KEY_BLOCK_LENGTH
;
share
.
state
.
dellink
=
HA_OFFSET_ERROR
;
...
...
myisam/mi_test1.c
View file @
7e05bc77
...
...
@@ -99,7 +99,7 @@ static int run_test(const char *filename)
keyinfo
[
0
].
seg
[
0
].
length
=
key_length
;
keyinfo
[
0
].
seg
[
0
].
null_bit
=
null_fields
?
2
:
0
;
keyinfo
[
0
].
seg
[
0
].
null_pos
=
0
;
keyinfo
[
0
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
0
].
seg
[
0
].
language
=
default_charset_info
->
number
;
if
(
pack_seg
&
HA_BLOB_PART
)
{
keyinfo
[
0
].
seg
[
0
].
bit_start
=
4
;
/* Length of blob length */
...
...
@@ -122,7 +122,7 @@ static int run_test(const char *filename)
uniqueseg
[
i
].
start
=
start
;
start
+=
recinfo
[
i
+
1
].
length
;
uniqueseg
[
i
].
length
=
recinfo
[
i
+
1
].
length
;
uniqueseg
[
i
].
language
=
MY_CHARSET_CURRENT
;
uniqueseg
[
i
].
language
=
default_charset_info
->
number
;
}
uniqueseg
[
0
].
type
=
key_type
;
uniqueseg
[
0
].
null_bit
=
null_fields
?
2
:
0
;
...
...
myisam/mi_test2.c
View file @
7e05bc77
...
...
@@ -87,7 +87,7 @@ int main(int argc, char *argv[])
keyinfo
[
0
].
seg
[
0
].
start
=
0
;
keyinfo
[
0
].
seg
[
0
].
length
=
6
;
keyinfo
[
0
].
seg
[
0
].
type
=
HA_KEYTYPE_TEXT
;
keyinfo
[
0
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
0
].
seg
[
0
].
language
=
default_charset_info
->
number
;
keyinfo
[
0
].
seg
[
0
].
flag
=
(
uint8
)
pack_seg
;
keyinfo
[
0
].
seg
[
0
].
null_bit
=
0
;
keyinfo
[
0
].
seg
[
0
].
null_pos
=
0
;
...
...
@@ -124,7 +124,7 @@ int main(int argc, char *argv[])
keyinfo
[
3
].
seg
[
0
].
start
=
0
;
keyinfo
[
3
].
seg
[
0
].
length
=
reclength
-
(
use_blob
?
8
:
0
);
keyinfo
[
3
].
seg
[
0
].
type
=
HA_KEYTYPE_TEXT
;
keyinfo
[
3
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
3
].
seg
[
0
].
language
=
default_charset_info
->
number
;
keyinfo
[
3
].
seg
[
0
].
flag
=
(
uint8
)
pack_seg
;
keyinfo
[
3
].
seg
[
0
].
null_bit
=
0
;
keyinfo
[
3
].
seg
[
0
].
null_pos
=
0
;
...
...
@@ -135,7 +135,7 @@ int main(int argc, char *argv[])
keyinfo
[
4
].
seg
[
0
].
start
=
0
;
keyinfo
[
4
].
seg
[
0
].
length
=
5
;
keyinfo
[
4
].
seg
[
0
].
type
=
HA_KEYTYPE_TEXT
;
keyinfo
[
4
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
4
].
seg
[
0
].
language
=
default_charset_info
->
number
;
keyinfo
[
4
].
seg
[
0
].
flag
=
0
;
keyinfo
[
4
].
seg
[
0
].
null_bit
=
0
;
keyinfo
[
4
].
seg
[
0
].
null_pos
=
0
;
...
...
@@ -146,7 +146,7 @@ int main(int argc, char *argv[])
keyinfo
[
5
].
seg
[
0
].
start
=
0
;
keyinfo
[
5
].
seg
[
0
].
length
=
4
;
keyinfo
[
5
].
seg
[
0
].
type
=
HA_KEYTYPE_TEXT
;
keyinfo
[
5
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
5
].
seg
[
0
].
language
=
default_charset_info
->
number
;
keyinfo
[
5
].
seg
[
0
].
flag
=
pack_seg
;
keyinfo
[
5
].
seg
[
0
].
null_bit
=
0
;
keyinfo
[
5
].
seg
[
0
].
null_pos
=
0
;
...
...
myisam/rt_test.c
View file @
7e05bc77
...
...
@@ -98,7 +98,7 @@ int run_test(const char *filename)
keyinfo
[
0
].
seg
[
i
].
length
=
key_length
;
keyinfo
[
0
].
seg
[
i
].
null_bit
=
null_fields
?
2
:
0
;
keyinfo
[
0
].
seg
[
i
].
null_pos
=
0
;
keyinfo
[
0
].
seg
[
i
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
0
].
seg
[
i
].
language
=
default_charset_info
->
number
;
}
...
...
myisam/sp_test.c
View file @
7e05bc77
...
...
@@ -96,7 +96,7 @@ int run_test(const char *filename)
keyinfo
[
0
].
seg
[
0
].
length
=
1
;
/* Spatial ignores it anyway */
keyinfo
[
0
].
seg
[
0
].
null_bit
=
null_fields
?
2
:
0
;
keyinfo
[
0
].
seg
[
0
].
null_pos
=
0
;
keyinfo
[
0
].
seg
[
0
].
language
=
MY_CHARSET_CURRENT
;
keyinfo
[
0
].
seg
[
0
].
language
=
default_charset_info
->
number
;
keyinfo
[
0
].
seg
[
0
].
bit_start
=
4
;
/* Long BLOB */
...
...
sql/field.cc
View file @
7e05bc77
...
...
@@ -335,7 +335,7 @@ bool Field::optimize_range(uint idx)
void
Field_null
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"null"
,
4
);
res
.
set_
ascii
(
"null"
,
4
);
}
...
...
@@ -856,7 +856,7 @@ String *Field_decimal::val_str(String *val_buffer __attribute__((unused)),
if
(
field_length
<
tmp_length
)
// Error in data
val_ptr
->
length
(
0
);
else
val_ptr
->
set_
latin1
((
const
char
*
)
str
,
field_length
-
tmp_length
);
val_ptr
->
set_
ascii
((
const
char
*
)
str
,
field_length
-
tmp_length
);
return
val_ptr
;
}
...
...
@@ -2389,7 +2389,7 @@ void Field_float::sql_type(String &res) const
{
if
(
dec
==
NOT_FIXED_DEC
)
{
res
.
set_
latin1
(
"float"
,
5
);
res
.
set_
ascii
(
"float"
,
5
);
}
else
{
...
...
@@ -2647,7 +2647,7 @@ void Field_double::sql_type(String &res) const
CHARSET_INFO
*
cs
=
res
.
charset
();
if
(
dec
==
NOT_FIXED_DEC
)
{
res
.
set_
latin1
(
"double"
,
6
);
res
.
set_
ascii
(
"double"
,
6
);
}
else
{
...
...
@@ -2987,7 +2987,7 @@ void Field_timestamp::sort_string(char *to,uint length __attribute__((unused)))
void
Field_timestamp
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"timestamp"
,
9
);
res
.
set_
ascii
(
"timestamp"
,
9
);
}
...
...
@@ -3186,7 +3186,7 @@ void Field_time::sort_string(char *to,uint length __attribute__((unused)))
void
Field_time
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"time"
,
4
);
res
.
set_
ascii
(
"time"
,
4
);
}
/****************************************************************************
...
...
@@ -3467,7 +3467,7 @@ void Field_date::sort_string(char *to,uint length __attribute__((unused)))
void
Field_date
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"date"
,
4
);
res
.
set_
ascii
(
"date"
,
4
);
}
/****************************************************************************
...
...
@@ -3637,7 +3637,7 @@ void Field_newdate::sort_string(char *to,uint length __attribute__((unused)))
void
Field_newdate
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"date"
,
4
);
res
.
set_
ascii
(
"date"
,
4
);
}
...
...
@@ -3870,7 +3870,7 @@ void Field_datetime::sort_string(char *to,uint length __attribute__((unused)))
void
Field_datetime
::
sql_type
(
String
&
res
)
const
{
res
.
set_
latin1
(
"datetime"
,
8
);
res
.
set_
ascii
(
"datetime"
,
8
);
}
/****************************************************************************
...
...
@@ -4615,7 +4615,7 @@ void Field_blob::sql_type(String &res) const
case
3
:
str
=
"medium"
;
length
=
6
;
break
;
case
4
:
str
=
"long"
;
length
=
4
;
break
;
}
res
.
set_
latin1
(
str
,
length
);
res
.
set_
ascii
(
str
,
length
);
if
(
charset
()
==
&
my_charset_bin
)
res
.
append
(
"blob"
);
else
...
...
sql/item.cc
View file @
7e05bc77
...
...
@@ -1452,7 +1452,7 @@ bool Item_insert_value::fix_fields(THD *thd, struct st_table_list *table_list, I
Field
*
field
=
field_arg
->
field
;
/* charset doesn't matter here, it's to avoid sigsegv only */
set_field
(
new
Field_null
(
0
,
0
,
Field
::
NONE
,
field
->
field_name
,
field
->
table
,
default_charset_info
));
&
my_charset_bin
));
}
return
0
;
}
...
...
sql/item_create.cc
View file @
7e05bc77
...
...
@@ -324,7 +324,7 @@ Item *create_func_current_user()
length
=
(
uint
)
(
strxmov
(
buff
,
thd
->
priv_user
,
"@"
,
thd
->
priv_host
,
NullS
)
-
buff
);
return
new
Item_string
(
NullS
,
thd
->
memdup
(
buff
,
length
),
length
,
default
_charset_info
);
system
_charset_info
);
}
Item
*
create_func_quarter
(
Item
*
a
)
...
...
sql/item_geofunc.cc
View file @
7e05bc77
...
...
@@ -141,7 +141,7 @@ String *Item_func_geometry_type::val_str(String *str)
return
0
;
str
->
copy
(
geom
.
get_class_info
()
->
m_name
,
strlen
(
geom
.
get_class_info
()
->
m_name
),
default_charset
_info
);
default_charset
()
);
return
str
;
}
...
...
sql/item_strfunc.cc
View file @
7e05bc77
...
...
@@ -2257,7 +2257,7 @@ String *Item_func_hex::val_str(String *str)
if
((
null_value
=
args
[
0
]
->
null_value
))
return
0
;
ptr
=
longlong2str
(
dec
,
ans
,
16
);
if
(
str
->
copy
(
ans
,(
uint32
)
(
ptr
-
ans
),
default_charset
_info
))
if
(
str
->
copy
(
ans
,(
uint32
)
(
ptr
-
ans
),
default_charset
()
))
return
&
empty_string
;
// End of memory
return
str
;
}
...
...
@@ -2366,7 +2366,7 @@ String* Item_func_export_set::val_str(String* str)
}
break
;
case
3
:
sep_buf
.
set
(
","
,
1
,
default_charset
_info
);
sep_buf
.
set
(
","
,
1
,
default_charset
()
);
sep
=
&
sep_buf
;
}
null_value
=
0
;
...
...
sql/sql_parse.cc
View file @
7e05bc77
...
...
@@ -623,7 +623,7 @@ check_connections(THD *thd)
memcpy
(
end
,
thd
->
scramble
,
SCRAMBLE_LENGTH
+
1
);
end
+=
SCRAMBLE_LENGTH
+
1
;
int2store
(
end
,
client_flags
);
end
[
2
]
=
(
char
)
MY_CHARSET_CURRENT
;
end
[
2
]
=
(
char
)
default_charset_info
->
number
;
int2store
(
end
+
3
,
thd
->
server_status
);
bzero
(
end
+
5
,
13
);
end
+=
18
;
...
...
sql/sql_string.cc
View file @
7e05bc77
...
...
@@ -265,9 +265,9 @@ bool String::copy(const char *str, uint32 arg_length,
*/
bool
String
::
set_
latin1
(
const
char
*
str
,
uint32
arg_length
)
bool
String
::
set_
ascii
(
const
char
*
str
,
uint32
arg_length
)
{
if
(
str_charset
->
mbmaxlen
==
1
)
if
(
!
(
str_charset
->
state
&
MY_CS_NONTEXT
)
)
{
set
(
str
,
arg_length
,
str_charset
);
return
0
;
...
...
sql/sql_string.h
View file @
7e05bc77
...
...
@@ -117,7 +117,7 @@ class String
Ptr
=
(
char
*
)
str
;
str_length
=
arg_length
;
Alloced_length
=
0
;
alloced
=
0
;
str_charset
=
cs
;
}
bool
set_
latin1
(
const
char
*
str
,
uint32
arg_length
);
bool
set_
ascii
(
const
char
*
str
,
uint32
arg_length
);
inline
void
set_quick
(
char
*
str
,
uint32
arg_length
,
CHARSET_INFO
*
cs
)
{
if
(
!
alloced
)
...
...
sql/sql_yacc.yy
View file @
7e05bc77
...
...
@@ -2863,15 +2863,15 @@ key_usage_list2:
key_usage_list2 ',' ident
{ Select->select_lex()->
interval_list.push_back(new String((const char*) $3.str, $3.length,
default
_charset_info)); }
system
_charset_info)); }
| ident
{ Select->select_lex()->
interval_list.push_back(new String((const char*) $1.str, $1.length,
default
_charset_info)); }
system
_charset_info)); }
| PRIMARY_SYM
{ Select->select_lex()->
interval_list.push_back(new String("PRIMARY", 7,
default
_charset_info)); };
system
_charset_info)); };
using_list:
ident
...
...
@@ -3756,7 +3756,7 @@ opt_describe_column:
/* empty */ {}
| text_string { Lex->wild= $1; }
| ident
{ Lex->wild= new String((const char*) $1.str,$1.length,
default
_charset_info); };
{ Lex->wild= new String((const char*) $1.str,$1.length,
system
_charset_info); };
/* flush things */
...
...
@@ -4829,7 +4829,7 @@ column_list:
column_list_id:
ident
{
String *new_str = new String((const char*) $1.str,$1.length,
default
_charset_info);
String *new_str = new String((const char*) $1.str,$1.length,
system
_charset_info);
List_iterator <LEX_COLUMN> iter(Lex->columns);
class LEX_COLUMN *point;
LEX *lex=Lex;
...
...
strings/ctype-ucs2.c
View file @
7e05bc77
...
...
@@ -1042,7 +1042,7 @@ static MY_CHARSET_HANDLER my_charset_handler=
CHARSET_INFO
my_charset_ucs2_general_ci
=
{
35
,
0
,
0
,
/* number */
MY_CS_COMPILED
|
MY_CS_PRIMARY
|
MY_CS_STRNXFRM
|
MY_CS_UNICODE
,
/* state */
MY_CS_COMPILED
|
MY_CS_PRIMARY
|
MY_CS_STRNXFRM
|
MY_CS_UNICODE
|
MY_CS_NONTEXT
,
"ucs2"
,
/* cs name */
"ucs2_general_ci"
,
/* name */
""
,
/* comment */
...
...
@@ -1065,7 +1065,7 @@ CHARSET_INFO my_charset_ucs2_general_ci=
CHARSET_INFO
my_charset_ucs2_bin
=
{
90
,
0
,
0
,
/* number */
MY_CS_COMPILED
|
MY_CS_BINSORT
|
MY_CS_UNICODE
,
/* state */
MY_CS_COMPILED
|
MY_CS_BINSORT
|
MY_CS_UNICODE
|
MY_CS_NONTEXT
,
"ucs2"
,
/* cs name */
"ucs2_bin"
,
/* name */
""
,
/* comment */
...
...
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