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
e3d5356d
Commit
e3d5356d
authored
Mar 07, 2002
by
bar@gw.udmsearch.izhnet.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Extend String class with CHARSET_INFO field
parent
2eed4065
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
10 deletions
+29
-10
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+2
-2
sql/sql_string.h
sql/sql_string.h
+27
-8
No files found.
sql/item_cmpfunc.cc
View file @
e3d5356d
...
...
@@ -1279,7 +1279,7 @@ Item_func_regex::fix_fields(THD *thd,TABLE_LIST *tables)
if
((
error
=
regcomp
(
&
preg
,
res
->
c_ptr
(),
binary
?
REG_EXTENDED
|
REG_NOSUB
:
REG_EXTENDED
|
REG_NOSUB
|
REG_ICASE
,
default_charset_info
)))
res
->
charset
()
)))
{
(
void
)
regerror
(
error
,
&
preg
,
buff
,
sizeof
(
buff
));
my_printf_error
(
ER_REGEXP_ERROR
,
ER
(
ER_REGEXP_ERROR
),
MYF
(
0
),
buff
);
...
...
@@ -1327,7 +1327,7 @@ longlong Item_func_regex::val_int()
if
(
regcomp
(
&
preg
,
res2
->
c_ptr
(),
binary
?
REG_EXTENDED
|
REG_NOSUB
:
REG_EXTENDED
|
REG_NOSUB
|
REG_ICASE
,
default_charset_info
))
res
->
charset
()
))
{
null_value
=
1
;
...
...
sql/sql_string.h
View file @
e3d5356d
...
...
@@ -36,26 +36,45 @@ class String
char
*
Ptr
;
uint32
str_length
,
Alloced_length
;
bool
alloced
;
CHARSET_INFO
*
str_charset
;
public:
String
()
{
Ptr
=
0
;
str_length
=
Alloced_length
=
0
;
alloced
=
0
;
}
{
Ptr
=
0
;
str_length
=
Alloced_length
=
0
;
alloced
=
0
;
str_charset
=
default_charset_info
;
}
String
(
uint32
length_arg
)
{
alloced
=
0
;
Alloced_length
=
0
;
(
void
)
real_alloc
(
length_arg
);
}
{
alloced
=
0
;
Alloced_length
=
0
;
(
void
)
real_alloc
(
length_arg
);
str_charset
=
default_charset_info
;
}
String
(
const
char
*
str
)
{
Ptr
=
(
char
*
)
str
;
str_length
=
(
uint
)
strlen
(
str
);
Alloced_length
=
0
;
alloced
=
0
;}
{
Ptr
=
(
char
*
)
str
;
str_length
=
(
uint
)
strlen
(
str
);
Alloced_length
=
0
;
alloced
=
0
;
str_charset
=
default_charset_info
;
}
String
(
const
char
*
str
,
uint32
len
)
{
Ptr
=
(
char
*
)
str
;
str_length
=
len
;
Alloced_length
=
0
;
alloced
=
0
;}
{
Ptr
=
(
char
*
)
str
;
str_length
=
len
;
Alloced_length
=
0
;
alloced
=
0
;
str_charset
=
default_charset_info
;
}
String
(
char
*
str
,
uint32
len
)
{
Ptr
=
(
char
*
)
str
;
Alloced_length
=
str_length
=
len
;
alloced
=
0
;}
{
Ptr
=
(
char
*
)
str
;
Alloced_length
=
str_length
=
len
;
alloced
=
0
;
str_charset
=
default_charset_info
;
}
String
(
const
String
&
str
)
{
Ptr
=
str
.
Ptr
;
str_length
=
str
.
str_length
;
Alloced_length
=
str
.
Alloced_length
;
alloced
=
0
;
}
{
Ptr
=
str
.
Ptr
;
str_length
=
str
.
str_length
;
Alloced_length
=
str
.
Alloced_length
;
alloced
=
0
;
str_charset
=
str
.
str_charset
;
}
static
void
*
operator
new
(
size_t
size
)
{
return
(
void
*
)
sql_alloc
((
uint
)
size
);
}
static
void
operator
delete
(
void
*
ptr_arg
,
size_t
size
)
/*lint -e715 */
{
sql_element_free
(
ptr_arg
);
}
~
String
()
{
free
();
}
inline
CHARSET_INFO
*
charset
()
const
{
return
str_charset
;
}
inline
uint32
length
()
const
{
return
str_length
;}
inline
uint32
alloced_length
()
const
{
return
Alloced_length
;}
inline
char
&
operator
[]
(
uint32
i
)
const
{
return
Ptr
[
i
];
}
...
...
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