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
eedae805
Commit
eedae805
authored
Feb 20, 2001
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/my/mysql into donna.mysql.com:/home/my/bk/mysql
parents
f80c3cb4
62884b8f
Changes
36
Show whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
175 additions
and
87 deletions
+175
-87
BUILD/compile-pentium-debug
BUILD/compile-pentium-debug
+1
-1
include/mysqld_error.h
include/mysqld_error.h
+2
-1
innobase/configure.in
innobase/configure.in
+2
-1
innobase/include/lock0types.h
innobase/include/lock0types.h
+1
-0
innobase/include/os0sync.h
innobase/include/os0sync.h
+4
-4
innobase/include/sync0types.h
innobase/include/sync0types.h
+1
-0
innobase/os/os0file.c
innobase/os/os0file.c
+4
-1
innobase/srv/srv0start.c
innobase/srv/srv0start.c
+16
-0
sql/ha_innobase.cc
sql/ha_innobase.cc
+63
-51
sql/mysql_priv.h
sql/mysql_priv.h
+2
-0
sql/mysqld.cc
sql/mysqld.cc
+14
-2
sql/share/czech/errmsg.txt
sql/share/czech/errmsg.txt
+1
-0
sql/share/danish/errmsg.txt
sql/share/danish/errmsg.txt
+1
-0
sql/share/dutch/errmsg.txt
sql/share/dutch/errmsg.txt
+1
-0
sql/share/english/errmsg.txt
sql/share/english/errmsg.txt
+1
-0
sql/share/estonian/errmsg.txt
sql/share/estonian/errmsg.txt
+1
-0
sql/share/french/errmsg.txt
sql/share/french/errmsg.txt
+1
-0
sql/share/german/errmsg.txt
sql/share/german/errmsg.txt
+1
-0
sql/share/greek/errmsg.txt
sql/share/greek/errmsg.txt
+1
-0
sql/share/hungarian/errmsg.txt
sql/share/hungarian/errmsg.txt
+1
-0
sql/share/italian/errmsg.txt
sql/share/italian/errmsg.txt
+1
-0
sql/share/japanese/errmsg.txt
sql/share/japanese/errmsg.txt
+1
-0
sql/share/korean/errmsg.txt
sql/share/korean/errmsg.txt
+1
-0
sql/share/norwegian-ny/errmsg.txt
sql/share/norwegian-ny/errmsg.txt
+1
-0
sql/share/norwegian/errmsg.txt
sql/share/norwegian/errmsg.txt
+1
-0
sql/share/polish/errmsg.txt
sql/share/polish/errmsg.txt
+1
-0
sql/share/portuguese/errmsg.txt
sql/share/portuguese/errmsg.txt
+1
-0
sql/share/romanian/errmsg.txt
sql/share/romanian/errmsg.txt
+1
-0
sql/share/russian/errmsg.txt
sql/share/russian/errmsg.txt
+1
-0
sql/share/slovak/errmsg.txt
sql/share/slovak/errmsg.txt
+1
-0
sql/share/spanish/errmsg.txt
sql/share/spanish/errmsg.txt
+1
-0
sql/share/swedish/errmsg.OLD
sql/share/swedish/errmsg.OLD
+6
-0
sql/share/swedish/errmsg.txt
sql/share/swedish/errmsg.txt
+6
-5
sql/sql_class.h
sql/sql_class.h
+3
-3
strings/str_test.c
strings/str_test.c
+17
-7
strings/strxnmov.c
strings/strxnmov.c
+13
-11
No files found.
BUILD/compile-pentium-debug
View file @
eedae805
...
@@ -11,7 +11,7 @@ extra_configs="$pentium_configs $debug_configs"
...
@@ -11,7 +11,7 @@ extra_configs="$pentium_configs $debug_configs"
# Use the debug version if it exists
# Use the debug version if it exists
if
test
-d
/usr/local/BerkeleyDB-dbug/
if
test
-d
/usr/local/BerkeleyDB-dbug/
then
then
extra_configs
=
"
$extra_configs
--with-berkeley-db=/usr/local/BerkeleyDB-dbug/"
extra_configs
=
"
$extra_configs
--with-berkeley-db=/usr/local/BerkeleyDB-dbug/
--with-innobase
"
fi
fi
.
"
$path
/FINISH.sh"
.
"
$path
/FINISH.sh"
include/mysqld_error.h
View file @
eedae805
...
@@ -203,4 +203,5 @@
...
@@ -203,4 +203,5 @@
#define ER_BAD_SLAVE 1200
#define ER_BAD_SLAVE 1200
#define ER_MASTER_INFO 1201
#define ER_MASTER_INFO 1201
#define ER_SLAVE_THREAD 1202
#define ER_SLAVE_THREAD 1202
#define ER_ERROR_MESSAGES 203
#define ER_TOO_MANY_USER_CONNECTIONS 1203
#define ER_ERROR_MESSAGES 204
innobase/configure.in
View file @
eedae805
# Process this file with autoconf to produce a configure script
# Process this file with autoconf to produce a configure script
AC_INIT(./os/os0file.c)
AC_INIT
AM_MAINTAINER_MODE
AM_CONFIG_HEADER(ib_config.h)
AM_CONFIG_HEADER(ib_config.h)
AM_INIT_AUTOMAKE(ib, 0.90)
AM_INIT_AUTOMAKE(ib, 0.90)
AC_PROG_CC
AC_PROG_CC
...
...
innobase/include/lock0types.h
View file @
eedae805
...
@@ -9,6 +9,7 @@ Created 5/7/1996 Heikki Tuuri
...
@@ -9,6 +9,7 @@ Created 5/7/1996 Heikki Tuuri
#ifndef lock0types_h
#ifndef lock0types_h
#define lock0types_h
#define lock0types_h
#define lock_t ib_lock_t
typedef
struct
lock_struct
lock_t
;
typedef
struct
lock_struct
lock_t
;
typedef
struct
lock_sys_struct
lock_sys_t
;
typedef
struct
lock_sys_struct
lock_sys_t
;
...
...
innobase/include/os0sync.h
View file @
eedae805
...
@@ -25,8 +25,8 @@ struct os_event_struct {
...
@@ -25,8 +25,8 @@ struct os_event_struct {
fields */
fields */
ibool
is_set
;
/* this is TRUE if the next mutex is
ibool
is_set
;
/* this is TRUE if the next mutex is
not reserved */
not reserved */
os_fast_mutex_t
wait_mutex
;
/* this mutex is used in waiting for
pthread_cond_t
cond_var
;
/* condition variable is used in
the event */
waiting for
the event */
};
};
typedef
struct
os_event_struct
os_event_struct_t
;
typedef
struct
os_event_struct
os_event_struct_t
;
typedef
os_event_struct_t
*
os_event_t
;
typedef
os_event_struct_t
*
os_event_t
;
...
...
innobase/include/sync0types.h
View file @
eedae805
...
@@ -9,6 +9,7 @@ Created 9/5/1995 Heikki Tuuri
...
@@ -9,6 +9,7 @@ Created 9/5/1995 Heikki Tuuri
#ifndef sync0types_h
#ifndef sync0types_h
#define sync0types_h
#define sync0types_h
#define mutex_t ib_mutex_t
typedef
struct
mutex_struct
mutex_t
;
typedef
struct
mutex_struct
mutex_t
;
...
...
innobase/os/os0file.c
View file @
eedae805
...
@@ -316,8 +316,11 @@ os_file_create(
...
@@ -316,8 +316,11 @@ os_file_create(
UT_NOT_USED
(
purpose
);
UT_NOT_USED
(
purpose
);
if
(
create_mode
==
OS_FILE_CREATE
)
{
if
(
create_mode
==
OS_FILE_CREATE
)
{
#ifndef S_IRWXU
file
=
open
(
name
,
create_flag
);
#else
file
=
open
(
name
,
create_flag
,
S_IRWXU
|
S_IRWXG
|
S_IRWXO
);
file
=
open
(
name
,
create_flag
,
S_IRWXU
|
S_IRWXG
|
S_IRWXO
);
#endif
}
else
{
}
else
{
file
=
open
(
name
,
create_flag
);
file
=
open
(
name
,
create_flag
);
}
}
...
...
innobase/srv/srv0start.c
View file @
eedae805
...
@@ -56,6 +56,9 @@ Created 2/16/1996 Heikki Tuuri
...
@@ -56,6 +56,9 @@ Created 2/16/1996 Heikki Tuuri
#include "srv0start.h"
#include "srv0start.h"
#include "que0que.h"
#include "que0que.h"
ibool
srv_is_being_started
=
FALSE
;
ibool
srv_was_started
=
FALSE
;
ibool
measure_cont
=
FALSE
;
ibool
measure_cont
=
FALSE
;
os_file_t
files
[
1000
];
os_file_t
files
[
1000
];
...
@@ -443,6 +446,8 @@ innobase_start_or_create_for_mysql(void)
...
@@ -443,6 +446,8 @@ innobase_start_or_create_for_mysql(void)
log_do_write
=
TRUE
;
log_do_write
=
TRUE
;
/* yydebug = TRUE; */
/* yydebug = TRUE; */
srv_is_being_started
=
TRUE
;
os_aio_use_native_aio
=
srv_use_native_aio
;
os_aio_use_native_aio
=
srv_use_native_aio
;
err
=
srv_boot
();
err
=
srv_boot
();
...
@@ -676,6 +681,9 @@ innobase_start_or_create_for_mysql(void)
...
@@ -676,6 +681,9 @@ innobase_start_or_create_for_mysql(void)
thread_ids
+
2
+
SRV_MAX_N_IO_THREADS
);
thread_ids
+
2
+
SRV_MAX_N_IO_THREADS
);
fprintf
(
stderr
,
"Innobase: Started
\n
"
);
fprintf
(
stderr
,
"Innobase: Started
\n
"
);
srv_was_started
=
TRUE
;
srv_is_being_started
=
FALSE
;
sync_order_checks_on
=
TRUE
;
sync_order_checks_on
=
TRUE
;
/* buf_debug_prints = TRUE; */
/* buf_debug_prints = TRUE; */
...
@@ -691,6 +699,14 @@ innobase_shutdown_for_mysql(void)
...
@@ -691,6 +699,14 @@ innobase_shutdown_for_mysql(void)
/*=============================*/
/*=============================*/
/* out: DB_SUCCESS or error code */
/* out: DB_SUCCESS or error code */
{
{
if
(
!
srv_was_started
)
{
if
(
srv_is_being_started
)
{
fprintf
(
stderr
,
"Innobase: Warning: shutting down not properly started database
\n
"
);
}
return
(
DB_SUCCESS
);
}
/* Flush buffer pool to disk, write the current lsn to
/* Flush buffer pool to disk, write the current lsn to
the tablespace header(s), and copy all log data to archive */
the tablespace header(s), and copy all log data to archive */
...
...
sql/ha_innobase.cc
View file @
eedae805
...
@@ -172,9 +172,9 @@ convert_error_code_to_mysql(
...
@@ -172,9 +172,9 @@ convert_error_code_to_mysql(
return
(
HA_ERR_TO_BIG_ROW
);
return
(
HA_ERR_TO_BIG_ROW
);
}
else
{
}
else
{
assert
(
0
);
dbug_
assert
(
0
);
return
(
0
);
return
(
-
1
);
// Unknown error
}
}
}
}
...
@@ -194,7 +194,7 @@ check_trx_exists(
...
@@ -194,7 +194,7 @@ check_trx_exists(
trx
=
(
trx_t
*
)
thd
->
transaction
.
all
.
innobase_tid
;
trx
=
(
trx_t
*
)
thd
->
transaction
.
all
.
innobase_tid
;
if
(
trx
==
NULL
)
{
if
(
trx
==
NULL
)
{
assert
(
thd
!=
NULL
);
dbug_
assert
(
thd
!=
NULL
);
trx
=
trx_allocate_for_mysql
();
trx
=
trx_allocate_for_mysql
();
thd
->
transaction
.
all
.
innobase_tid
=
trx
;
thd
->
transaction
.
all
.
innobase_tid
=
trx
;
...
@@ -418,31 +418,41 @@ innobase_init(void)
...
@@ -418,31 +418,41 @@ innobase_init(void)
int
err
;
int
err
;
bool
ret
;
bool
ret
;
ibool
test_bool
;
ibool
test_bool
;
static
char
*
current_dir
[
3
];
DBUG_ENTER
(
"innobase_init"
);
DBUG_ENTER
(
"innobase_init"
);
test_bool
=
TRUE
;
/* Use current_dir if no paths are set */
assert
(
test_bool
==
1
)
;
current_dir
[
0
]
=
FN_CURLIB
;
test_bool
=
FALSE
;
current_dir
[
1
]
=
FN_LIBCHAR
;
assert
(
test_bool
==
0
)
;
current_dir
[
2
]
=
0
;
/* Set Innobase initialization parameters according to the values
/* Set Innobase initialization parameters according to the values
read from MySQL .cnf file */
read from MySQL .cnf file */
srv_data_home
=
innobase_data_home_dir
;
if
(
!
innobase_data_file_path
)
{
fprintf
(
stderr
,
"Can't initialize innobase as 'innobase_data_file_path' is not set
\n
"
);
DBUG_RETURN
(
TRUE
);
}
srv_data_home
=
(
innobase_data_home_dir
?
innobase_data_home_dir
:
current_dir
);
srv_logs_home
=
""
;
srv_logs_home
=
""
;
srv_arch_dir
=
innobase_log_arch_dir
;
srv_arch_dir
=
(
innobase_log_arch_dir
?
innobase_log_arch_dir
:
current_dir
);
ret
=
innobase_parse_data_file_paths_and_sizes
();
ret
=
innobase_parse_data_file_paths_and_sizes
();
if
(
ret
==
FALSE
)
{
if
(
ret
==
FALSE
)
{
return
(
TRUE
);
DBUG_RETURN
(
TRUE
);
}
}
if
(
!
innobase_log_group_home_dir
)
innobase_log_group_home_dir
=
current_dir
;
ret
=
innobase_parse_log_group_home_dirs
();
ret
=
innobase_parse_log_group_home_dirs
();
if
(
ret
==
FALSE
)
{
if
(
ret
==
FALSE
)
{
return
(
TRUE
);
DBUG_RETURN
(
TRUE
);
}
}
srv_n_log_groups
=
(
ulint
)
innobase_mirrored_log_groups
;
srv_n_log_groups
=
(
ulint
)
innobase_mirrored_log_groups
;
...
@@ -466,12 +476,12 @@ innobase_init(void)
...
@@ -466,12 +476,12 @@ innobase_init(void)
if
(
err
!=
DB_SUCCESS
)
{
if
(
err
!=
DB_SUCCESS
)
{
return
(
1
);
DBUG_RETURN
(
1
);
}
}
(
void
)
hash_init
(
&
innobase_open_tables
,
32
,
0
,
0
,
(
void
)
hash_init
(
&
innobase_open_tables
,
32
,
0
,
0
,
(
hash_get_key
)
innobase_get_key
,
0
,
0
);
(
hash_get_key
)
innobase_get_key
,
0
,
0
);
pthread_mutex_init
(
&
innobase_mutex
,
NULL
);
pthread_mutex_init
(
&
innobase_mutex
,
NULL
);
return
(
0
);
DBUG_RETURN
(
0
);
}
}
/***********************************************************************
/***********************************************************************
...
@@ -490,10 +500,10 @@ innobase_end(void)
...
@@ -490,10 +500,10 @@ innobase_end(void)
if
(
err
!=
DB_SUCCESS
)
{
if
(
err
!=
DB_SUCCESS
)
{
return
(
1
);
DBUG_RETURN
(
1
);
}
}
return
(
0
);
DBUG_RETURN
(
0
);
}
}
/********************************************************************
/********************************************************************
...
@@ -666,7 +676,7 @@ normalize_table_name(
...
@@ -666,7 +676,7 @@ normalize_table_name(
/* Scan name from the end */
/* Scan name from the end */
ptr
=
(
char
*
)
name
+
strlen
(
name
)
-
1
;
ptr
=
strend
(
name
)
-
1
;
while
(
ptr
>=
name
&&
*
ptr
!=
'\\'
&&
*
ptr
!=
'/'
)
{
while
(
ptr
>=
name
&&
*
ptr
!=
'\\'
&&
*
ptr
!=
'/'
)
{
ptr
--
;
ptr
--
;
...
@@ -674,7 +684,7 @@ normalize_table_name(
...
@@ -674,7 +684,7 @@ normalize_table_name(
name_ptr
=
ptr
+
1
;
name_ptr
=
ptr
+
1
;
assert
(
ptr
>
name
);
dbug_
assert
(
ptr
>
name
);
ptr
--
;
ptr
--
;
...
@@ -770,7 +780,7 @@ ha_innobase::open(
...
@@ -770,7 +780,7 @@ ha_innobase::open(
((
row_prebuilt_t
*
)
innobase_prebuilt
)
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
TRUE
;
->
clust_index_was_generated
=
TRUE
;
assert
(
key_used_on_scan
==
MAX_KEY
);
dbug_
assert
(
key_used_on_scan
==
MAX_KEY
);
}
}
/* Init table lock structure */
/* Init table lock structure */
...
@@ -911,8 +921,8 @@ innobase_mysql_cmp(
...
@@ -911,8 +921,8 @@ innobase_mysql_cmp(
{
{
enum_field_types
mysql_tp
;
enum_field_types
mysql_tp
;
assert
(
a_length
!=
UNIV_SQL_NULL
);
dbug_
assert
(
a_length
!=
UNIV_SQL_NULL
);
assert
(
b_length
!=
UNIV_SQL_NULL
);
dbug_
assert
(
b_length
!=
UNIV_SQL_NULL
);
mysql_tp
=
(
enum_field_types
)
mysql_type
;
mysql_tp
=
(
enum_field_types
)
mysql_type
;
...
@@ -943,11 +953,11 @@ get_innobase_type_from_mysql_type(
...
@@ -943,11 +953,11 @@ get_innobase_type_from_mysql_type(
8 bits: this is used in ibuf and also when DATA_NOT_NULL is
8 bits: this is used in ibuf and also when DATA_NOT_NULL is
ORed to the type */
ORed to the type */
assert
((
ulint
)
FIELD_TYPE_STRING
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_STRING
<
256
);
assert
((
ulint
)
FIELD_TYPE_VAR_STRING
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_VAR_STRING
<
256
);
assert
((
ulint
)
FIELD_TYPE_DOUBLE
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_DOUBLE
<
256
);
assert
((
ulint
)
FIELD_TYPE_FLOAT
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_FLOAT
<
256
);
assert
((
ulint
)
FIELD_TYPE_DECIMAL
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_DECIMAL
<
256
);
switch
(
field
->
type
())
{
switch
(
field
->
type
())
{
case
FIELD_TYPE_VAR_STRING
:
if
(
field
->
flags
&
BINARY_FLAG
)
{
case
FIELD_TYPE_VAR_STRING
:
if
(
field
->
flags
&
BINARY_FLAG
)
{
...
@@ -1072,6 +1082,14 @@ build_template(
...
@@ -1072,6 +1082,14 @@ build_template(
templ_type
=
ROW_MYSQL_WHOLE_ROW
;
templ_type
=
ROW_MYSQL_WHOLE_ROW
;
}
}
if
(
prebuilt
->
select_lock_type
==
LOCK_X
)
{
/* TODO: should fix the code in sql_update so that we could do
with fetching only the needed columns */
templ_type
=
ROW_MYSQL_WHOLE_ROW
;
}
if
(
templ_type
==
ROW_MYSQL_REC_FIELDS
)
{
if
(
templ_type
==
ROW_MYSQL_REC_FIELDS
)
{
if
(
prebuilt
->
select_lock_type
!=
LOCK_NONE
)
{
if
(
prebuilt
->
select_lock_type
!=
LOCK_NONE
)
{
...
@@ -1288,9 +1306,9 @@ calc_row_difference(
...
@@ -1288,9 +1306,9 @@ calc_row_difference(
uint
n_fields
;
uint
n_fields
;
ulint
o_len
;
ulint
o_len
;
ulint
n_len
;
ulint
n_len
;
mysql_byte
*
o_ptr
;
byte
*
o_ptr
;
mysql_byte
*
n_ptr
;
byte
*
n_ptr
;
mysql_byte
*
buf
;
byte
*
buf
;
upd_field_t
*
ufield
;
upd_field_t
*
ufield
;
ulint
col_type
;
ulint
col_type
;
ulint
is_unsigned
;
ulint
is_unsigned
;
...
@@ -1300,7 +1318,7 @@ calc_row_difference(
...
@@ -1300,7 +1318,7 @@ calc_row_difference(
n_fields
=
table
->
fields
;
n_fields
=
table
->
fields
;
/* We use upd_buff to convert changed fields */
/* We use upd_buff to convert changed fields */
buf
=
upd_buff
;
buf
=
(
byte
*
)
upd_buff
;
for
(
i
=
0
;
i
<
n_fields
;
i
++
)
{
for
(
i
=
0
;
i
<
n_fields
;
i
++
)
{
field
=
table
->
field
[
i
];
field
=
table
->
field
[
i
];
...
@@ -1312,8 +1330,8 @@ calc_row_difference(
...
@@ -1312,8 +1330,8 @@ calc_row_difference(
goto
skip_field
;
goto
skip_field
;
}
}
o_ptr
=
old_row
+
get_field_offset
(
table
,
field
);
o_ptr
=
(
byte
*
)
old_row
+
get_field_offset
(
table
,
field
);
n_ptr
=
new_row
+
get_field_offset
(
table
,
field
);
n_ptr
=
(
byte
*
)
new_row
+
get_field_offset
(
table
,
field
);
o_len
=
field
->
pack_length
();
o_len
=
field
->
pack_length
();
n_len
=
field
->
pack_length
();
n_len
=
field
->
pack_length
();
...
@@ -1353,8 +1371,10 @@ calc_row_difference(
...
@@ -1353,8 +1371,10 @@ calc_row_difference(
ufield
=
uvect
->
fields
+
n_changed
;
ufield
=
uvect
->
fields
+
n_changed
;
buf
=
innobase_convert_and_store_changed_col
(
ufield
,
buf
=
(
byte
*
)
buf
,
n_ptr
,
n_len
,
col_type
,
innobase_convert_and_store_changed_col
(
ufield
,
(
mysql_byte
*
)
buf
,
(
mysql_byte
*
)
n_ptr
,
n_len
,
col_type
,
is_unsigned
);
is_unsigned
);
ufield
->
exp
=
NULL
;
ufield
->
exp
=
NULL
;
ufield
->
field_no
=
ufield
->
field_no
=
...
@@ -1580,7 +1600,7 @@ ha_innobase::index_read(
...
@@ -1580,7 +1600,7 @@ ha_innobase::index_read(
last_match_mode
=
match_mode
;
last_match_mode
=
match_mode
;
ret
=
row_search_for_mysql
(
buf
,
mode
,
prebuilt
,
match_mode
,
0
);
ret
=
row_search_for_mysql
(
(
byte
*
)
buf
,
mode
,
prebuilt
,
match_mode
,
0
);
if
(
ret
==
DB_SUCCESS
)
{
if
(
ret
==
DB_SUCCESS
)
{
error
=
0
;
error
=
0
;
...
@@ -1690,7 +1710,8 @@ ha_innobase::general_fetch(
...
@@ -1690,7 +1710,8 @@ ha_innobase::general_fetch(
DBUG_ENTER
(
"general_fetch"
);
DBUG_ENTER
(
"general_fetch"
);
ret
=
row_search_for_mysql
(
buf
,
0
,
prebuilt
,
match_mode
,
direction
);
ret
=
row_search_for_mysql
((
byte
*
)
buf
,
0
,
prebuilt
,
match_mode
,
direction
);
if
(
ret
==
DB_SUCCESS
)
{
if
(
ret
==
DB_SUCCESS
)
{
error
=
0
;
error
=
0
;
...
@@ -1935,7 +1956,7 @@ ha_innobase::position(
...
@@ -1935,7 +1956,7 @@ ha_innobase::position(
len
=
store_key_val_for_row
(
primary_key
,
(
char
*
)
ref
,
record
);
len
=
store_key_val_for_row
(
primary_key
,
(
char
*
)
ref
,
record
);
}
}
assert
(
len
<=
ref_length
);
dbug_
assert
(
len
<=
ref_length
);
ref_stored_len
=
len
;
ref_stored_len
=
len
;
}
}
...
@@ -2174,23 +2195,14 @@ ha_innobase::create(
...
@@ -2174,23 +2195,14 @@ ha_innobase::create(
int
primary_key_no
=
-
1
;
int
primary_key_no
=
-
1
;
KEY
*
key
;
KEY
*
key
;
uint
i
;
uint
i
;
char
name2
[
1000
];
char
name2
[
FN_REFLEN
];
char
norm_name
[
1000
];
char
norm_name
[
FN_REFLEN
];
DBUG_ENTER
(
"ha_innobase::create"
);
DBUG_ENTER
(
"ha_innobase::create"
);
trx
=
trx_allocate_for_mysql
();
trx
=
trx_allocate_for_mysql
();
name_len
=
strlen
(
name
);
fn_format
(
name2
,
name
,
""
,
""
,
2
);
// Remove the .frm extension
assert
(
name_len
<
1000
);
assert
(
name_len
>
4
);
memcpy
(
name2
,
name
,
name_len
);
/* Erase the .frm end from table name: */
name2
[
name_len
-
4
]
=
'\0'
;
normalize_table_name
(
norm_name
,
name2
);
normalize_table_name
(
norm_name
,
name2
);
...
@@ -2550,11 +2562,11 @@ ha_innobase::update_table_comment(
...
@@ -2550,11 +2562,11 @@ ha_innobase::update_table_comment(
char
*
str
=
my_malloc
(
length
+
50
,
MYF
(
0
));
char
*
str
=
my_malloc
(
length
+
50
,
MYF
(
0
));
if
(
!
str
)
if
(
!
str
)
return
comment
;
return
(
char
*
)
comment
;
sprintf
(
str
,
"%s Innobase free: %lu kB"
,
comment
,
innobase_get_free_space
());
sprintf
(
str
,
"%s Innobase free: %lu kB"
,
comment
,
innobase_get_free_space
());
return
str
;
return
((
char
*
)
str
)
;
}
}
...
...
sql/mysql_priv.h
View file @
eedae805
...
@@ -231,6 +231,8 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list);
...
@@ -231,6 +231,8 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list);
bool
mysql_change_db
(
THD
*
thd
,
const
char
*
name
);
bool
mysql_change_db
(
THD
*
thd
,
const
char
*
name
);
void
mysql_parse
(
THD
*
thd
,
char
*
inBuf
,
uint
length
);
void
mysql_parse
(
THD
*
thd
,
char
*
inBuf
,
uint
length
);
void
mysql_init_select
(
LEX
*
lex
);
void
mysql_init_select
(
LEX
*
lex
);
void
init_max_user_conn
(
void
);
void
free_max_user_conn
(
void
);
pthread_handler_decl
(
handle_one_connection
,
arg
);
pthread_handler_decl
(
handle_one_connection
,
arg
);
pthread_handler_decl
(
handle_bootstrap
,
arg
);
pthread_handler_decl
(
handle_bootstrap
,
arg
);
sig_handler
end_thread_signal
(
int
sig
);
sig_handler
end_thread_signal
(
int
sig
);
...
...
sql/mysqld.cc
View file @
eedae805
...
@@ -263,7 +263,7 @@ ulong select_full_range_join_count,select_full_join_count;
...
@@ -263,7 +263,7 @@ ulong select_full_range_join_count,select_full_join_count;
ulong
specialflag
=
0
,
opened_tables
=
0
,
created_tmp_tables
=
0
,
ulong
specialflag
=
0
,
opened_tables
=
0
,
created_tmp_tables
=
0
,
created_tmp_disk_tables
=
0
;
created_tmp_disk_tables
=
0
;
ulong
max_connections
,
max_insert_delayed_threads
,
max_used_connections
,
ulong
max_connections
,
max_insert_delayed_threads
,
max_used_connections
,
max_connect_errors
;
max_connect_errors
,
max_user_connections
=
0
;
ulong
thread_id
=
1L
,
current_pid
;
ulong
thread_id
=
1L
,
current_pid
;
ulong
slow_launch_threads
=
0
;
ulong
slow_launch_threads
=
0
;
char
mysql_real_data_home
[
FN_REFLEN
],
char
mysql_real_data_home
[
FN_REFLEN
],
...
@@ -295,7 +295,8 @@ pthread_mutex_t LOCK_mysql_create_db, LOCK_Acl, LOCK_open, LOCK_thread_count,
...
@@ -295,7 +295,8 @@ pthread_mutex_t LOCK_mysql_create_db, LOCK_Acl, LOCK_open, LOCK_thread_count,
LOCK_error_log
,
LOCK_error_log
,
LOCK_delayed_insert
,
LOCK_delayed_status
,
LOCK_delayed_create
,
LOCK_delayed_insert
,
LOCK_delayed_status
,
LOCK_delayed_create
,
LOCK_crypt
,
LOCK_bytes_sent
,
LOCK_bytes_received
,
LOCK_crypt
,
LOCK_bytes_sent
,
LOCK_bytes_received
,
LOCK_binlog_update
,
LOCK_slave
,
LOCK_server_id
;
LOCK_binlog_update
,
LOCK_slave
,
LOCK_server_id
,
LOCK_user_conn
;
pthread_cond_t
COND_refresh
,
COND_thread_count
,
COND_binlog_update
,
pthread_cond_t
COND_refresh
,
COND_thread_count
,
COND_binlog_update
,
COND_slave_stopped
,
COND_slave_start
;
COND_slave_stopped
,
COND_slave_start
;
...
@@ -647,6 +648,7 @@ void clean_up(void)
...
@@ -647,6 +648,7 @@ void clean_up(void)
my_free
(
mysql_tmpdir
,
MYF
(
0
));
my_free
(
mysql_tmpdir
,
MYF
(
0
));
x_free
(
opt_bin_logname
);
x_free
(
opt_bin_logname
);
bitmap_free
(
&
temp_pool
);
bitmap_free
(
&
temp_pool
);
free_max_user_conn
();
#ifndef __WIN__
#ifndef __WIN__
if
(
!
opt_bootstrap
)
if
(
!
opt_bootstrap
)
(
void
)
my_delete
(
pidfile_name
,
MYF
(
0
));
// This may not always exist
(
void
)
my_delete
(
pidfile_name
,
MYF
(
0
));
// This may not always exist
...
@@ -1576,6 +1578,7 @@ int main(int argc, char **argv)
...
@@ -1576,6 +1578,7 @@ int main(int argc, char **argv)
(
void
)
pthread_mutex_init
(
&
LOCK_binlog_update
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_binlog_update
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_slave
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_slave
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_server_id
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_server_id
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_user_conn
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_binlog_update
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_binlog_update
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_slave_stopped
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_slave_stopped
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_slave_start
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_slave_start
,
NULL
);
...
@@ -1765,6 +1768,8 @@ The server will not act as a slave.");
...
@@ -1765,6 +1768,8 @@ The server will not act as a slave.");
}
}
if
(
!
opt_noacl
)
if
(
!
opt_noacl
)
(
void
)
grant_init
();
(
void
)
grant_init
();
if
(
max_user_connections
)
init_max_user_conn
();
#ifdef HAVE_DLOPEN
#ifdef HAVE_DLOPEN
if
(
!
opt_noacl
)
if
(
!
opt_noacl
)
...
@@ -2625,6 +2630,8 @@ CHANGEABLE_VAR changeable_vars[] = {
...
@@ -2625,6 +2630,8 @@ CHANGEABLE_VAR changeable_vars[] = {
1024
,
4
,
8192
*
1024L
,
0
,
1
},
1024
,
4
,
8192
*
1024L
,
0
,
1
},
{
"max_tmp_tables"
,
(
long
*
)
&
max_tmp_tables
,
{
"max_tmp_tables"
,
(
long
*
)
&
max_tmp_tables
,
32
,
1
,
~
0L
,
0
,
1
},
32
,
1
,
~
0L
,
0
,
1
},
{
"max_user_connections"
,
(
long
*
)
&
max_user_connections
,
0
,
1
,
~
0L
,
0
,
1
},
{
"max_write_lock_count"
,
(
long
*
)
&
max_write_lock_count
,
{
"max_write_lock_count"
,
(
long
*
)
&
max_write_lock_count
,
~
0L
,
1
,
~
0L
,
0
,
1
},
~
0L
,
1
,
~
0L
,
0
,
1
},
{
"myisam_sort_buffer_size"
,
(
long
*
)
&
myisam_sort_buffer_size
,
{
"myisam_sort_buffer_size"
,
(
long
*
)
&
myisam_sort_buffer_size
,
...
@@ -2720,6 +2727,7 @@ struct show_var_st init_vars[]= {
...
@@ -2720,6 +2727,7 @@ struct show_var_st init_vars[]= {
{
"max_heap_table_size"
,
(
char
*
)
&
max_heap_table_size
,
SHOW_LONG
},
{
"max_heap_table_size"
,
(
char
*
)
&
max_heap_table_size
,
SHOW_LONG
},
{
"max_join_size"
,
(
char
*
)
&
max_join_size
,
SHOW_LONG
},
{
"max_join_size"
,
(
char
*
)
&
max_join_size
,
SHOW_LONG
},
{
"max_sort_length"
,
(
char
*
)
&
max_item_sort_length
,
SHOW_LONG
},
{
"max_sort_length"
,
(
char
*
)
&
max_item_sort_length
,
SHOW_LONG
},
{
"max_user_connections"
,
(
char
*
)
&
max_user_connections
,
SHOW_LONG
},
{
"max_tmp_tables"
,
(
char
*
)
&
max_tmp_tables
,
SHOW_LONG
},
{
"max_tmp_tables"
,
(
char
*
)
&
max_tmp_tables
,
SHOW_LONG
},
{
"max_write_lock_count"
,
(
char
*
)
&
max_write_lock_count
,
SHOW_LONG
},
{
"max_write_lock_count"
,
(
char
*
)
&
max_write_lock_count
,
SHOW_LONG
},
{
"myisam_recover_options"
,
(
char
*
)
&
myisam_recover_options_str
,
SHOW_CHAR_PTR
},
{
"myisam_recover_options"
,
(
char
*
)
&
myisam_recover_options_str
,
SHOW_CHAR_PTR
},
...
@@ -3843,6 +3851,10 @@ static int get_service_parameters()
...
@@ -3843,6 +3851,10 @@ static int get_service_parameters()
{
{
SET_CHANGEABLE_VARVAL
(
"max_connections"
);
SET_CHANGEABLE_VARVAL
(
"max_connections"
);
}
}
else
if
(
lstrcmp
(
szKeyValueName
,
TEXT
(
"MaxUserConnections"
))
==
0
)
{
SET_CHANGEABLE_VARVAL
(
"max_user_connections"
);
}
else
if
(
lstrcmp
(
szKeyValueName
,
TEXT
(
"MaxConnectErrors"
))
==
0
)
else
if
(
lstrcmp
(
szKeyValueName
,
TEXT
(
"MaxConnectErrors"
))
==
0
)
{
{
SET_CHANGEABLE_VARVAL
(
"max_connect_errors"
);
SET_CHANGEABLE_VARVAL
(
"max_connect_errors"
);
...
...
sql/share/czech/errmsg.txt
View file @
eedae805
...
@@ -213,3 +213,4 @@
...
@@ -213,3 +213,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/danish/errmsg.txt
View file @
eedae805
...
@@ -207,3 +207,4 @@
...
@@ -207,3 +207,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/dutch/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/english/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/estonian/errmsg.txt
View file @
eedae805
...
@@ -208,3 +208,4 @@
...
@@ -208,3 +208,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/french/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/german/errmsg.txt
View file @
eedae805
...
@@ -207,3 +207,4 @@
...
@@ -207,3 +207,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/greek/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/hungarian/errmsg.txt
View file @
eedae805
...
@@ -206,3 +206,4 @@
...
@@ -206,3 +206,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/italian/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/japanese/errmsg.txt
View file @
eedae805
...
@@ -206,3 +206,4 @@
...
@@ -206,3 +206,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/korean/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/norwegian-ny/errmsg.txt
View file @
eedae805
...
@@ -206,3 +206,4 @@
...
@@ -206,3 +206,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/norwegian/errmsg.txt
View file @
eedae805
...
@@ -206,3 +206,4 @@
...
@@ -206,3 +206,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/polish/errmsg.txt
View file @
eedae805
...
@@ -208,3 +208,4 @@
...
@@ -208,3 +208,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/portuguese/errmsg.txt
View file @
eedae805
...
@@ -204,3 +204,4 @@
...
@@ -204,3 +204,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/romanian/errmsg.txt
View file @
eedae805
...
@@ -208,3 +208,4 @@
...
@@ -208,3 +208,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/russian/errmsg.txt
View file @
eedae805
...
@@ -207,3 +207,4 @@
...
@@ -207,3 +207,4 @@
" slave, CHANGE MASTER TO",
" slave, CHANGE MASTER TO",
" master info, persmissions master.info",
" master info, persmissions master.info",
" SLAVE, ",
" SLAVE, ",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/slovak/errmsg.txt
View file @
eedae805
...
@@ -212,3 +212,4 @@
...
@@ -212,3 +212,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/spanish/errmsg.txt
View file @
eedae805
...
@@ -205,3 +205,4 @@
...
@@ -205,3 +205,4 @@
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Could not initialize master info structure, check permisions on master.info",
"Could not create slave thread, check system resources",
"Could not create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/swedish/errmsg.OLD
View file @
eedae805
...
@@ -199,3 +199,9 @@
...
@@ -199,3 +199,9 @@
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
"Transaktionen krävde mera än 'max_binlog_cache_size' minne. Utöka denna mysqld variabel och försök på nytt",
"Transaktionen krävde mera än 'max_binlog_cache_size' minne. Utöka denna mysqld variabel och försök på nytt",
"Denna operation kan inte göras under replikering; Gör SLAVE STOP först",
"Denna operation kan endast göras under replikering; Konfigurera slaven och gör SLAVE START",
"Servern är inte konfigurerade som en replikations slav. Ändra konfigurationsfilen eller gör CHANGE MASTER TO",
"Kunde inte initializera replications-strukturerna. Kontrollera privilegerna för 'master.info'",
"Kunde inte starta en tråd för replikering",
"Användare '%-.64s' har redan 'max_user_connections' aktiva inloggningar",
sql/share/swedish/errmsg.txt
View file @
eedae805
...
@@ -199,8 +199,9 @@
...
@@ -199,8 +199,9 @@
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
"Warning: Några icke transaktionella tabeller kunde inte återställas vid ROLLBACK",
"Transaktionen krävde mera än 'max_binlog_cache_size' minne. Utöka denna mysqld variabel och försök på nytt",
"Transaktionen krävde mera än 'max_binlog_cache_size' minne. Utöka denna mysqld variabel och försök på nytt",
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"Denna operation kan inte göras under replikering; Gör SLAVE STOP först",
"This operation requires a running slave, configure slave and do SLAVE START",
"Denna operation kan endast göras under replikering; Konfigurera slaven och gör SLAVE START",
"The server is not configured as slave, fix in config file or with CHANGE MASTER TO",
"Servern är inte konfigurerade som en replikations slav. Ändra konfigurationsfilen eller gör CHANGE MASTER TO",
"Could not initialize master info structure, check permisions on master.info",
"Kunde inte initializera replications-strukturerna. Kontrollera privilegerna för 'master.info'",
"Could not create slave thread, check system resources",
"Kunde inte starta en tråd för replikering",
"Användare '%-.64s' har redan 'max_user_connections' aktiva inloggningar",
sql/sql_class.h
View file @
eedae805
...
@@ -265,14 +265,14 @@ class THD :public ilink {
...
@@ -265,14 +265,14 @@ class THD :public ilink {
pthread_t
real_id
;
pthread_t
real_id
;
uint
current_tablenr
,
tmp_table
,
cond_count
,
col_access
,
query_length
;
uint
current_tablenr
,
tmp_table
,
cond_count
,
col_access
,
query_length
;
uint
server_status
,
open_options
;
uint
server_status
,
open_options
;
bool
slave_thread
;
char
scramble
[
9
];
char
scramble
[
9
];
bool
slave_thread
;
bool
set_query_id
,
locked
,
count_cuted_fields
,
some_tables_deleted
;
bool
set_query_id
,
locked
,
count_cuted_fields
,
some_tables_deleted
;
bool
no_errors
,
allow_sum_func
,
password
,
fatal_error
;
bool
no_errors
,
allow_sum_func
,
password
,
fatal_error
;
bool
query_start_used
,
last_insert_id_used
,
insert_id_used
;
bool
query_start_used
,
last_insert_id_used
,
insert_id_used
;
bool
volatile
killed
,
bootstrap
;
bool
system_thread
,
in_lock_tables
,
global_read_lock
;
bool
system_thread
,
in_lock_tables
,
global_read_lock
;
bool
query_error
;
bool
query_error
,
bootstrap
;
bool
volatile
killed
;
LOG_INFO
*
current_linfo
;
LOG_INFO
*
current_linfo
;
// if we do a purge of binary logs, log index info of the threads
// if we do a purge of binary logs, log index info of the threads
// that are currently reading it needs to be adjusted. To do that
// that are currently reading it needs to be adjusted. To do that
...
...
strings/str_test.c
View file @
eedae805
...
@@ -33,13 +33,13 @@
...
@@ -33,13 +33,13 @@
static
char
from_buff
[
100
],
to_buff
[
100
];
static
char
from_buff
[
100
],
to_buff
[
100
];
static
my_string
from
,
to
;
static
my_string
from
,
to
;
static
int
errors
,
tests
;
static
int
errors
,
tests
;
static
int
test_strarg
(
char
*
name
,...);
static
int
test_strarg
(
c
onst
c
har
*
name
,...);
static
void
init_strings
(
void
);
/* Init from and to */
static
void
init_strings
(
void
);
/* Init from and to */
void
test_arg
(
my_string
message
,
long
func_value
,
long
value
);
void
test_arg
(
const
char
*
message
,
long
func_value
,
long
value
);
int
compare_buff
(
my_string
message
,
my_string
b1
,
my_string
b2
,
int
length
,
int
compare_buff
(
const
char
*
message
,
my_string
b1
,
my_string
b2
,
int
length
,
pchar
fill
,
pchar
prefill
);
pchar
fill
,
pchar
prefill
);
int
my_test
(
int
a
)
static
int
my_test
(
int
a
)
{
{
return
a
?
1
:
0
;
return
a
?
1
:
0
;
}
}
...
@@ -116,6 +116,14 @@ int main(void)
...
@@ -116,6 +116,14 @@ int main(void)
test_strarg
(
"strxmov(to,from,
\"
!!
\"
,NullS)"
,
strxmov
(
to
,
from
,
"!!"
,
NullS
),
to
+
F_LEN
+
2
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
0
,
0
,
0
);
test_strarg
(
"strxmov(to,from,
\"
!!
\"
,NullS)"
,
strxmov
(
to
,
from
,
"!!"
,
NullS
),
to
+
F_LEN
+
2
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
0
,
0
,
0
);
test_strarg
(
"strxmov(to,NullS)"
,
strxmov
(
to
,
NullS
),
to
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxmov(to,NullS)"
,
strxmov
(
to
,
NullS
),
to
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxmov(to,from,from,from,from,from,'!!',from,NullS)"
,
strxmov
(
to
,
from
,
from
,
from
,
from
,
from
,
"!!"
,
from
,
NullS
),
to
+
F_LEN
*
6
+
2
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
F_LEN
,
F_CHAR
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxmov(to,from,from,from,from,from,'!!',from,NullS)"
,
strxmov
(
to
,
from
,
from
,
from
,
from
,
from
,
"!!"
,
from
,
NullS
),
to
+
F_LEN
*
6
+
2
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
F_LEN
,
F_CHAR
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,100,from,
\"
!!
\"
,NullS)"
,
strxnmov
(
to
,
100
,
from
,
"!!"
,
NullS
),
to
+
F_LEN
+
2
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,2,NullS)"
,
strxnmov
(
to
,
2
,
NullS
),
to
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,100,from,from,from,from,from,'!!',from,NullS)"
,
strxnmov
(
to
,
100
,
from
,
from
,
from
,
from
,
from
,
"!!"
,
from
,
NullS
),
to
+
F_LEN
*
6
+
2
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
F_LEN
,
F_CHAR
,
2
,
'!'
,
F_LEN
,
F_CHAR
,
1
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,2,
\"
!!!
\"
,NullS)"
,
strxnmov
(
to
,
2
,
"!!!"
,
NullS
),
to
+
2
,
2
,
'!'
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,2,
\"
!!
\"
,NullS)"
,
strxnmov
(
to
,
2
,
"!!"
,
"xx"
,
NullS
),
to
+
2
,
2
,
'!'
,
0
,
0
,
0
);
test_strarg
(
"strxnmov(to,2,
\"
!
\"
,
\"
x
\"
,
\"
y
\"
,NullS)"
,
strxnmov
(
to
,
2
,
"!"
,
"x"
,
"y"
,
NullS
),
to
+
2
,
1
,
'!'
,
1
,
'x'
,
0
,
0
,
0
);
test_strarg
(
"bchange(to,2,from,4,6)"
,(
bchange
(
to
,
2
,
from
,
4
,
6
),
0L
),
INT_MAX32
,
test_strarg
(
"bchange(to,2,from,4,6)"
,(
bchange
(
to
,
2
,
from
,
4
,
6
),
0L
),
INT_MAX32
,
4
,
F_CHAR
,
2
,
T_CHAR
,
0
,
0
);
4
,
F_CHAR
,
2
,
T_CHAR
,
0
,
0
);
...
@@ -156,7 +164,7 @@ void init_strings(void)
...
@@ -156,7 +164,7 @@ void init_strings(void)
/* Test that function return rigth value */
/* Test that function return rigth value */
void
test_arg
(
my_string
message
,
long
int
func_value
,
long
int
value
)
void
test_arg
(
const
char
*
message
,
long
int
func_value
,
long
int
value
)
{
{
tests
++
;
tests
++
;
printf
(
"testing '%s'
\n
"
,
message
);
printf
(
"testing '%s'
\n
"
,
message
);
...
@@ -169,7 +177,7 @@ void test_arg(my_string message, long int func_value, long int value)
...
@@ -169,7 +177,7 @@ void test_arg(my_string message, long int func_value, long int value)
/* Test function return value and from and to arrays */
/* Test function return value and from and to arrays */
static
int
test_strarg
(
char
*
message
,...)
static
int
test_strarg
(
c
onst
c
har
*
message
,...)
{
{
long
func_value
,
value
;
long
func_value
,
value
;
int
error
,
length
;
int
error
,
length
;
...
@@ -223,7 +231,7 @@ static int test_strarg(char *message,...)
...
@@ -223,7 +231,7 @@ static int test_strarg(char *message,...)
/* test if function made right value */
/* test if function made right value */
int
compare_buff
(
my_string
message
,
my_string
b1
,
my_string
b2
,
int
length
,
int
compare_buff
(
const
char
*
message
,
my_string
b1
,
my_string
b2
,
int
length
,
pchar
fill
,
pchar
prefill
)
pchar
fill
,
pchar
prefill
)
{
{
int
i
,
error
=
0
;
int
i
,
error
=
0
;
...
@@ -256,6 +264,8 @@ int compare_buff(my_string message, my_string b1, my_string b2, int length,
...
@@ -256,6 +264,8 @@ int compare_buff(my_string message, my_string b1, my_string b2, int length,
/* These are here to be loaded and examined */
/* These are here to be loaded and examined */
extern
void
dummy_functions
(
void
);
void
dummy_functions
(
void
)
void
dummy_functions
(
void
)
{
{
VOID
(
memchr
(
from
,
'a'
,
5
));
VOID
(
memchr
(
from
,
'a'
,
5
));
...
...
strings/strxnmov.c
View file @
eedae805
...
@@ -15,9 +15,9 @@
...
@@ -15,9 +15,9 @@
and NOT to use 0, as on some machines 0 is not the same size as a
and NOT to use 0, as on some machines 0 is not the same size as a
character pointer, or not the same bit pattern as NullS.
character pointer, or not the same bit pattern as NullS.
Note: strxnmov is like strnmov in that it
always moves EXACTLY
len
Note: strxnmov is like strnmov in that it
moves up to
len
characters; dst will be padded on the right with
NUL characters as
characters; dst will be padded on the right with
one NUL characters if
needed.
strxncpy does the same. strxncat, like strncat, does NOT.
needed.
*/
*/
#include <global.h>
#include <global.h>
...
@@ -27,20 +27,22 @@
...
@@ -27,20 +27,22 @@
char
*
strxnmov
(
char
*
dst
,
uint
len
,
const
char
*
src
,
...)
char
*
strxnmov
(
char
*
dst
,
uint
len
,
const
char
*
src
,
...)
{
{
va_list
pvar
;
va_list
pvar
;
char
*
result
;
char
*
end_of_dst
=
dst
+
len
;
va_start
(
pvar
,
src
);
va_start
(
pvar
,
src
);
while
(
src
!=
NullS
)
{
while
(
src
!=
NullS
)
do
if
(
len
--
==
0
)
{
{
va_end
(
pvar
);
do
return
dst
;
{
if
(
dst
==
end_of_dst
)
goto
end
;
}
}
while
((
*
dst
++
=
*
src
++
)
!=
0
);
while
((
*
dst
++
=
*
src
++
));
dst
--
;
dst
--
;
src
=
va_arg
(
pvar
,
char
*
);
src
=
va_arg
(
pvar
,
char
*
);
}
}
for
(
result
=
dst
;
len
--
!=
0
;
*
dst
++
=
0
)
;
*
dst
=
0
;
end:
va_end
(
pvar
);
va_end
(
pvar
);
return
resul
t
;
return
ds
t
;
}
}
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