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
96a927b5
Commit
96a927b5
authored
Dec 10, 2004
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
parents
f4f4e636
c486461e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
9 deletions
+39
-9
innobase/dict/dict0dict.c
innobase/dict/dict0dict.c
+32
-9
innobase/include/dict0dict.h
innobase/include/dict0dict.h
+2
-0
sql/ha_innodb.cc
sql/ha_innodb.cc
+5
-0
No files found.
innobase/dict/dict0dict.c
View file @
96a927b5
...
...
@@ -27,6 +27,8 @@ Created 1/8/1996 Heikki Tuuri
#include "que0que.h"
#include "rem0cmp.h"
ibool
dict_char_0xA0_is_space
=
FALSE
;
/* A special fix for 4.0 */
dict_sys_t
*
dict_sys
=
NULL
;
/* the dictionary system */
rw_lock_t
dict_operation_lock
;
/* table create, drop, etc. reserve
...
...
@@ -172,7 +174,28 @@ and unique key errors */
FILE
*
dict_foreign_err_file
=
NULL
;
mutex_t
dict_foreign_err_mutex
;
/* mutex protecting the foreign
and unique error buffers */
/************************************************************************
Checks if a byte is considered space in the current charset of MySQL.
TODO: find out if this works correctly in multibyte charsets. */
static
ibool
dict_isspace
(
/*=========*/
/* out: TRUE if considered space */
char
c
)
/* in: one-byte character */
{
if
(
isspace
(
c
))
{
return
(
TRUE
);
}
if
(
dict_char_0xA0_is_space
&&
(
byte
)
c
==
(
byte
)
0xA0
)
{
return
(
TRUE
);
}
return
(
FALSE
);
}
/************************************************************************
Checks if the database name in two table names is the same. */
...
...
@@ -2198,7 +2221,7 @@ dict_accept(
*
success
=
FALSE
;
while
(
isspace
(
*
ptr
))
{
while
(
dict_
isspace
(
*
ptr
))
{
ptr
++
;
}
...
...
@@ -2241,7 +2264,7 @@ dict_scan_id(
*
id
=
NULL
;
while
(
isspace
(
*
ptr
))
{
while
(
dict_
isspace
(
*
ptr
))
{
ptr
++
;
}
...
...
@@ -2272,7 +2295,7 @@ dict_scan_id(
len
++
;
}
}
else
{
while
(
!
isspace
(
*
ptr
)
&&
*
ptr
!=
'('
&&
*
ptr
!=
')'
while
(
!
dict_
isspace
(
*
ptr
)
&&
*
ptr
!=
'('
&&
*
ptr
!=
')'
&&
(
accept_also_dot
||
*
ptr
!=
'.'
)
&&
*
ptr
!=
','
&&
*
ptr
!=
'\0'
)
{
...
...
@@ -2765,11 +2788,11 @@ loop:
ut_a
(
success
);
if
(
!
isspace
(
*
ptr
)
&&
*
ptr
!=
'"'
&&
*
ptr
!=
'`'
)
{
if
(
!
dict_
isspace
(
*
ptr
)
&&
*
ptr
!=
'"'
&&
*
ptr
!=
'`'
)
{
goto
loop
;
}
while
(
isspace
(
*
ptr
))
{
while
(
dict_
isspace
(
*
ptr
))
{
ptr
++
;
}
...
...
@@ -2795,7 +2818,7 @@ loop:
ptr
=
dict_accept
(
ptr
,
"FOREIGN"
,
&
success
);
if
(
!
isspace
(
*
ptr
))
{
if
(
!
dict_
isspace
(
*
ptr
))
{
goto
loop
;
}
...
...
@@ -2883,7 +2906,7 @@ col_loop1:
}
ptr
=
dict_accept
(
ptr
,
"REFERENCES"
,
&
success
);
if
(
!
success
||
!
isspace
(
*
ptr
))
{
if
(
!
success
||
!
dict_
isspace
(
*
ptr
))
{
dict_foreign_report_syntax_err
(
name
,
start_of_latest_foreign
,
ptr
);
return
(
DB_CANNOT_ADD_CONSTRAINT
);
...
...
@@ -3261,7 +3284,7 @@ loop:
ptr
=
dict_accept
(
ptr
,
"DROP"
,
&
success
);
if
(
!
isspace
(
*
ptr
))
{
if
(
!
dict_
isspace
(
*
ptr
))
{
goto
loop
;
}
...
...
innobase/include/dict0dict.h
View file @
96a927b5
...
...
@@ -26,6 +26,8 @@ Created 1/8/1996 Heikki Tuuri
#include "ut0byte.h"
#include "trx0types.h"
extern
ibool
dict_char_0xA0_is_space
;
/************************************************************************
Get the database name length in a table name. */
...
...
sql/ha_innodb.cc
View file @
96a927b5
...
...
@@ -64,6 +64,7 @@ extern "C" {
#include "../innobase/include/log0log.h"
#include "../innobase/include/lock0lock.h"
#include "../innobase/include/dict0crea.h"
#include "../innobase/include/dict0dict.h"
#include "../innobase/include/btr0cur.h"
#include "../innobase/include/btr0btr.h"
#include "../innobase/include/fsp0fsp.h"
...
...
@@ -917,6 +918,10 @@ innobase_init(void)
srv_print_verbose_log
=
mysql_embedded
?
0
:
1
;
if
(
my_isspace
(
default_charset_info
,
(
char
)
0xA0
))
{
dict_char_0xA0_is_space
=
TRUE
;
}
if
(
strcmp
(
default_charset_info
->
name
,
"latin1"
)
==
0
)
{
/* Store the character ordering table to InnoDB.
...
...
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