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
96a86081
Commit
96a86081
authored
Feb 20, 2001
by
monty@donna.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge work:/my/mysql into donna.mysql.com:/home/my/bk/mysql
parents
b7170cf9
8e4968d9
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 @
96a86081
...
...
@@ -11,7 +11,7 @@ extra_configs="$pentium_configs $debug_configs"
# Use the debug version if it exists
if
test
-d
/usr/local/BerkeleyDB-dbug/
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
.
"
$path
/FINISH.sh"
include/mysqld_error.h
View file @
96a86081
...
...
@@ -203,4 +203,5 @@
#define ER_BAD_SLAVE 1200
#define ER_MASTER_INFO 1201
#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 @
96a86081
# 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_INIT_AUTOMAKE(ib, 0.90)
AC_PROG_CC
...
...
innobase/include/lock0types.h
View file @
96a86081
...
...
@@ -9,6 +9,7 @@ Created 5/7/1996 Heikki Tuuri
#ifndef lock0types_h
#define lock0types_h
#define lock_t ib_lock_t
typedef
struct
lock_struct
lock_t
;
typedef
struct
lock_sys_struct
lock_sys_t
;
...
...
innobase/include/os0sync.h
View file @
96a86081
...
...
@@ -25,8 +25,8 @@ struct os_event_struct {
fields */
ibool
is_set
;
/* this is TRUE if the next mutex is
not reserved */
os_fast_mutex_t
wait_mutex
;
/* this mutex is used in waiting for
the event */
pthread_cond_t
cond_var
;
/* condition variable is used in
waiting for
the event */
};
typedef
struct
os_event_struct
os_event_struct_t
;
typedef
os_event_struct_t
*
os_event_t
;
...
...
innobase/include/sync0types.h
View file @
96a86081
...
...
@@ -9,6 +9,7 @@ Created 9/5/1995 Heikki Tuuri
#ifndef sync0types_h
#define sync0types_h
#define mutex_t ib_mutex_t
typedef
struct
mutex_struct
mutex_t
;
...
...
innobase/os/os0file.c
View file @
96a86081
...
...
@@ -316,8 +316,11 @@ try_again:
UT_NOT_USED
(
purpose
);
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
);
#endif
}
else
{
file
=
open
(
name
,
create_flag
);
}
...
...
innobase/srv/srv0start.c
View file @
96a86081
...
...
@@ -56,6 +56,9 @@ Created 2/16/1996 Heikki Tuuri
#include "srv0start.h"
#include "que0que.h"
ibool
srv_is_being_started
=
FALSE
;
ibool
srv_was_started
=
FALSE
;
ibool
measure_cont
=
FALSE
;
os_file_t
files
[
1000
];
...
...
@@ -443,6 +446,8 @@ innobase_start_or_create_for_mysql(void)
log_do_write
=
TRUE
;
/* yydebug = TRUE; */
srv_is_being_started
=
TRUE
;
os_aio_use_native_aio
=
srv_use_native_aio
;
err
=
srv_boot
();
...
...
@@ -676,6 +681,9 @@ innobase_start_or_create_for_mysql(void)
thread_ids
+
2
+
SRV_MAX_N_IO_THREADS
);
fprintf
(
stderr
,
"Innobase: Started
\n
"
);
srv_was_started
=
TRUE
;
srv_is_being_started
=
FALSE
;
sync_order_checks_on
=
TRUE
;
/* buf_debug_prints = TRUE; */
...
...
@@ -691,6 +699,14 @@ innobase_shutdown_for_mysql(void)
/*=============================*/
/* 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
the tablespace header(s), and copy all log data to archive */
...
...
sql/ha_innobase.cc
View file @
96a86081
...
...
@@ -172,9 +172,9 @@ convert_error_code_to_mysql(
return
(
HA_ERR_TO_BIG_ROW
);
}
else
{
assert
(
0
);
dbug_
assert
(
0
);
return
(
0
);
return
(
-
1
);
// Unknown error
}
}
...
...
@@ -194,7 +194,7 @@ check_trx_exists(
trx
=
(
trx_t
*
)
thd
->
transaction
.
all
.
innobase_tid
;
if
(
trx
==
NULL
)
{
assert
(
thd
!=
NULL
);
dbug_
assert
(
thd
!=
NULL
);
trx
=
trx_allocate_for_mysql
();
thd
->
transaction
.
all
.
innobase_tid
=
trx
;
...
...
@@ -418,31 +418,41 @@ innobase_init(void)
int
err
;
bool
ret
;
ibool
test_bool
;
static
char
*
current_dir
[
3
];
DBUG_ENTER
(
"innobase_init"
);
test_bool
=
TRUE
;
assert
(
test_bool
==
1
)
;
test_bool
=
FALSE
;
assert
(
test_bool
==
0
)
;
/* Use current_dir if no paths are set */
current_dir
[
0
]
=
FN_CURLIB
;
current_dir
[
1
]
=
FN_LIBCHAR
;
current_dir
[
2
]
=
0
;
/* Set Innobase initialization parameters according to the values
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_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
();
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
();
if
(
ret
==
FALSE
)
{
return
(
TRUE
);
DBUG_RETURN
(
TRUE
);
}
srv_n_log_groups
=
(
ulint
)
innobase_mirrored_log_groups
;
...
...
@@ -466,12 +476,12 @@ innobase_init(void)
if
(
err
!=
DB_SUCCESS
)
{
return
(
1
);
DBUG_RETURN
(
1
);
}
(
void
)
hash_init
(
&
innobase_open_tables
,
32
,
0
,
0
,
(
hash_get_key
)
innobase_get_key
,
0
,
0
);
pthread_mutex_init
(
&
innobase_mutex
,
NULL
);
return
(
0
);
DBUG_RETURN
(
0
);
}
/***********************************************************************
...
...
@@ -490,10 +500,10 @@ innobase_end(void)
if
(
err
!=
DB_SUCCESS
)
{
return
(
1
);
DBUG_RETURN
(
1
);
}
return
(
0
);
DBUG_RETURN
(
0
);
}
/********************************************************************
...
...
@@ -666,7 +676,7 @@ normalize_table_name(
/* Scan name from the end */
ptr
=
(
char
*
)
name
+
strlen
(
name
)
-
1
;
ptr
=
strend
(
name
)
-
1
;
while
(
ptr
>=
name
&&
*
ptr
!=
'\\'
&&
*
ptr
!=
'/'
)
{
ptr
--
;
...
...
@@ -674,7 +684,7 @@ normalize_table_name(
name_ptr
=
ptr
+
1
;
assert
(
ptr
>
name
);
dbug_
assert
(
ptr
>
name
);
ptr
--
;
...
...
@@ -770,7 +780,7 @@ ha_innobase::open(
((
row_prebuilt_t
*
)
innobase_prebuilt
)
->
clust_index_was_generated
=
TRUE
;
assert
(
key_used_on_scan
==
MAX_KEY
);
dbug_
assert
(
key_used_on_scan
==
MAX_KEY
);
}
/* Init table lock structure */
...
...
@@ -911,8 +921,8 @@ innobase_mysql_cmp(
{
enum_field_types
mysql_tp
;
assert
(
a_length
!=
UNIV_SQL_NULL
);
assert
(
b_length
!=
UNIV_SQL_NULL
);
dbug_
assert
(
a_length
!=
UNIV_SQL_NULL
);
dbug_
assert
(
b_length
!=
UNIV_SQL_NULL
);
mysql_tp
=
(
enum_field_types
)
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
ORed to the type */
assert
((
ulint
)
FIELD_TYPE_STRING
<
256
);
assert
((
ulint
)
FIELD_TYPE_VAR_STRING
<
256
);
assert
((
ulint
)
FIELD_TYPE_DOUBLE
<
256
);
assert
((
ulint
)
FIELD_TYPE_FLOAT
<
256
);
assert
((
ulint
)
FIELD_TYPE_DECIMAL
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_STRING
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_VAR_STRING
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_DOUBLE
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_FLOAT
<
256
);
dbug_
assert
((
ulint
)
FIELD_TYPE_DECIMAL
<
256
);
switch
(
field
->
type
())
{
case
FIELD_TYPE_VAR_STRING
:
if
(
field
->
flags
&
BINARY_FLAG
)
{
...
...
@@ -1072,6 +1082,14 @@ build_template(
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
(
prebuilt
->
select_lock_type
!=
LOCK_NONE
)
{
...
...
@@ -1288,9 +1306,9 @@ calc_row_difference(
uint
n_fields
;
ulint
o_len
;
ulint
n_len
;
mysql_byte
*
o_ptr
;
mysql_byte
*
n_ptr
;
mysql_byte
*
buf
;
byte
*
o_ptr
;
byte
*
n_ptr
;
byte
*
buf
;
upd_field_t
*
ufield
;
ulint
col_type
;
ulint
is_unsigned
;
...
...
@@ -1300,7 +1318,7 @@ calc_row_difference(
n_fields
=
table
->
fields
;
/* We use upd_buff to convert changed fields */
buf
=
upd_buff
;
buf
=
(
byte
*
)
upd_buff
;
for
(
i
=
0
;
i
<
n_fields
;
i
++
)
{
field
=
table
->
field
[
i
];
...
...
@@ -1312,8 +1330,8 @@ calc_row_difference(
goto
skip_field
;
}
o_ptr
=
old_row
+
get_field_offset
(
table
,
field
);
n_ptr
=
new_row
+
get_field_offset
(
table
,
field
);
o_ptr
=
(
byte
*
)
old_row
+
get_field_offset
(
table
,
field
);
n_ptr
=
(
byte
*
)
new_row
+
get_field_offset
(
table
,
field
);
o_len
=
field
->
pack_length
();
n_len
=
field
->
pack_length
();
...
...
@@ -1353,8 +1371,10 @@ calc_row_difference(
ufield
=
uvect
->
fields
+
n_changed
;
buf
=
innobase_convert_and_store_changed_col
(
ufield
,
buf
,
n_ptr
,
n_len
,
col_type
,
buf
=
(
byte
*
)
innobase_convert_and_store_changed_col
(
ufield
,
(
mysql_byte
*
)
buf
,
(
mysql_byte
*
)
n_ptr
,
n_len
,
col_type
,
is_unsigned
);
ufield
->
exp
=
NULL
;
ufield
->
field_no
=
...
...
@@ -1580,7 +1600,7 @@ ha_innobase::index_read(
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
)
{
error
=
0
;
...
...
@@ -1690,7 +1710,8 @@ ha_innobase::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
)
{
error
=
0
;
...
...
@@ -1935,7 +1956,7 @@ ha_innobase::position(
len
=
store_key_val_for_row
(
primary_key
,
(
char
*
)
ref
,
record
);
}
assert
(
len
<=
ref_length
);
dbug_
assert
(
len
<=
ref_length
);
ref_stored_len
=
len
;
}
...
...
@@ -2174,23 +2195,14 @@ ha_innobase::create(
int
primary_key_no
=
-
1
;
KEY
*
key
;
uint
i
;
char
name2
[
1000
];
char
norm_name
[
1000
];
char
name2
[
FN_REFLEN
];
char
norm_name
[
FN_REFLEN
];
DBUG_ENTER
(
"ha_innobase::create"
);
trx
=
trx_allocate_for_mysql
();
name_len
=
strlen
(
name
);
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'
;
fn_format
(
name2
,
name
,
""
,
""
,
2
);
// Remove the .frm extension
normalize_table_name
(
norm_name
,
name2
);
...
...
@@ -2550,11 +2562,11 @@ ha_innobase::update_table_comment(
char
*
str
=
my_malloc
(
length
+
50
,
MYF
(
0
));
if
(
!
str
)
return
comment
;
return
(
char
*
)
comment
;
sprintf
(
str
,
"%s Innobase free: %lu kB"
,
comment
,
innobase_get_free_space
());
return
str
;
return
((
char
*
)
str
)
;
}
...
...
sql/mysql_priv.h
View file @
96a86081
...
...
@@ -231,6 +231,8 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list);
bool
mysql_change_db
(
THD
*
thd
,
const
char
*
name
);
void
mysql_parse
(
THD
*
thd
,
char
*
inBuf
,
uint
length
);
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_bootstrap
,
arg
);
sig_handler
end_thread_signal
(
int
sig
);
...
...
sql/mysqld.cc
View file @
96a86081
...
...
@@ -263,7 +263,7 @@ ulong select_full_range_join_count,select_full_join_count;
ulong
specialflag
=
0
,
opened_tables
=
0
,
created_tmp_tables
=
0
,
created_tmp_disk_tables
=
0
;
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
slow_launch_threads
=
0
;
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,
LOCK_error_log
,
LOCK_delayed_insert
,
LOCK_delayed_status
,
LOCK_delayed_create
,
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
,
COND_slave_stopped
,
COND_slave_start
;
...
...
@@ -647,6 +648,7 @@ void clean_up(void)
my_free
(
mysql_tmpdir
,
MYF
(
0
));
x_free
(
opt_bin_logname
);
bitmap_free
(
&
temp_pool
);
free_max_user_conn
();
#ifndef __WIN__
if
(
!
opt_bootstrap
)
(
void
)
my_delete
(
pidfile_name
,
MYF
(
0
));
// This may not always exist
...
...
@@ -1576,6 +1578,7 @@ int main(int argc, char **argv)
(
void
)
pthread_mutex_init
(
&
LOCK_binlog_update
,
NULL
);
(
void
)
pthread_mutex_init
(
&
LOCK_slave
,
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_slave_stopped
,
NULL
);
(
void
)
pthread_cond_init
(
&
COND_slave_start
,
NULL
);
...
...
@@ -1765,6 +1768,8 @@ The server will not act as a slave.");
}
if
(
!
opt_noacl
)
(
void
)
grant_init
();
if
(
max_user_connections
)
init_max_user_conn
();
#ifdef HAVE_DLOPEN
if
(
!
opt_noacl
)
...
...
@@ -2625,6 +2630,8 @@ CHANGEABLE_VAR changeable_vars[] = {
1024
,
4
,
8192
*
1024L
,
0
,
1
},
{
"max_tmp_tables"
,
(
long
*
)
&
max_tmp_tables
,
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
,
~
0L
,
1
,
~
0L
,
0
,
1
},
{
"myisam_sort_buffer_size"
,
(
long
*
)
&
myisam_sort_buffer_size
,
...
...
@@ -2720,6 +2727,7 @@ struct show_var_st init_vars[]= {
{
"max_heap_table_size"
,
(
char
*
)
&
max_heap_table_size
,
SHOW_LONG
},
{
"max_join_size"
,
(
char
*
)
&
max_join_size
,
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_write_lock_count"
,
(
char
*
)
&
max_write_lock_count
,
SHOW_LONG
},
{
"myisam_recover_options"
,
(
char
*
)
&
myisam_recover_options_str
,
SHOW_CHAR_PTR
},
...
...
@@ -3843,6 +3851,10 @@ static int get_service_parameters()
{
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
)
{
SET_CHANGEABLE_VARVAL
(
"max_connect_errors"
);
...
...
sql/share/czech/errmsg.txt
View file @
96a86081
...
...
@@ -213,3 +213,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/danish/errmsg.txt
View file @
96a86081
...
...
@@ -207,3 +207,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/dutch/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/english/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/estonian/errmsg.txt
View file @
96a86081
...
...
@@ -208,3 +208,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/french/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/german/errmsg.txt
View file @
96a86081
...
...
@@ -207,3 +207,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/greek/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/hungarian/errmsg.txt
View file @
96a86081
...
...
@@ -206,3 +206,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/italian/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/japanese/errmsg.txt
View file @
96a86081
...
...
@@ -206,3 +206,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/korean/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 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 @
96a86081
...
...
@@ -206,3 +206,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/norwegian/errmsg.txt
View file @
96a86081
...
...
@@ -206,3 +206,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/polish/errmsg.txt
View file @
96a86081
...
...
@@ -208,3 +208,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/portuguese/errmsg.txt
View file @
96a86081
...
...
@@ -204,3 +204,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/romanian/errmsg.txt
View file @
96a86081
...
...
@@ -208,3 +208,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/russian/errmsg.txt
View file @
96a86081
...
...
@@ -207,3 +207,4 @@
" slave, CHANGE MASTER TO",
" master info, persmissions master.info",
" SLAVE, ",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/slovak/errmsg.txt
View file @
96a86081
...
...
@@ -212,3 +212,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/spanish/errmsg.txt
View file @
96a86081
...
...
@@ -205,3 +205,4 @@
"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 create slave thread, check system resources",
"User %-.64s has already more than 'max_user_connections' active connections",
sql/share/swedish/errmsg.OLD
View file @
96a86081
...
...
@@ -199,3 +199,9 @@
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"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",
"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 @
96a86081
...
...
@@ -199,8 +199,9 @@
"Tabell '%-.64s' är crashad och senast (automatiska?) reparation misslyckades",
"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",
"This operation cannot be performed with a running slave, run SLAVE STOP first",
"This operation requires a running slave, configure slave and do SLAVE START",
"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 create slave thread, check system resources",
"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/sql_class.h
View file @
96a86081
...
...
@@ -265,14 +265,14 @@ public:
pthread_t
real_id
;
uint
current_tablenr
,
tmp_table
,
cond_count
,
col_access
,
query_length
;
uint
server_status
,
open_options
;
bool
slave_thread
;
char
scramble
[
9
];
bool
slave_thread
;
bool
set_query_id
,
locked
,
count_cuted_fields
,
some_tables_deleted
;
bool
no_errors
,
allow_sum_func
,
password
,
fatal_error
;
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
query_error
;
bool
query_error
,
bootstrap
;
bool
volatile
killed
;
LOG_INFO
*
current_linfo
;
// 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
...
...
strings/str_test.c
View file @
96a86081
...
...
@@ -33,13 +33,13 @@
static
char
from_buff
[
100
],
to_buff
[
100
];
static
my_string
from
,
to
;
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 */
void
test_arg
(
my_string
message
,
long
func_value
,
long
value
);
int
compare_buff
(
my_string
message
,
my_string
b1
,
my_string
b2
,
int
length
,
void
test_arg
(
const
char
*
message
,
long
func_value
,
long
value
);
int
compare_buff
(
const
char
*
message
,
my_string
b1
,
my_string
b2
,
int
length
,
pchar
fill
,
pchar
prefill
);
int
my_test
(
int
a
)
static
int
my_test
(
int
a
)
{
return
a
?
1
:
0
;
}
...
...
@@ -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,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
(
"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
,
4
,
F_CHAR
,
2
,
T_CHAR
,
0
,
0
);
...
...
@@ -156,7 +164,7 @@ void init_strings(void)
/* 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
++
;
printf
(
"testing '%s'
\n
"
,
message
);
...
...
@@ -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 */
static
int
test_strarg
(
char
*
message
,...)
static
int
test_strarg
(
c
onst
c
har
*
message
,...)
{
long
func_value
,
value
;
int
error
,
length
;
...
...
@@ -223,7 +231,7 @@ static int test_strarg(char *message,...)
/* 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
)
{
int
i
,
error
=
0
;
...
...
@@ -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 */
extern
void
dummy_functions
(
void
);
void
dummy_functions
(
void
)
{
VOID
(
memchr
(
from
,
'a'
,
5
));
...
...
strings/strxnmov.c
View file @
96a86081
...
...
@@ -15,9 +15,9 @@
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.
Note: strxnmov is like strnmov in that it
always moves EXACTLY
len
characters; dst will be padded on the right with
NUL characters as
needed.
strxncpy does the same. strxncat, like strncat, does NOT.
Note: strxnmov is like strnmov in that it
moves up to
len
characters; dst will be padded on the right with
one NUL characters if
needed.
*/
#include <global.h>
...
...
@@ -27,20 +27,22 @@
char
*
strxnmov
(
char
*
dst
,
uint
len
,
const
char
*
src
,
...)
{
va_list
pvar
;
char
*
result
;
char
*
end_of_dst
=
dst
+
len
;
va_start
(
pvar
,
src
);
while
(
src
!=
NullS
)
{
do
if
(
len
--
==
0
)
while
(
src
!=
NullS
)
{
va_end
(
pvar
);
return
dst
;
do
{
if
(
dst
==
end_of_dst
)
goto
end
;
}
while
((
*
dst
++
=
*
src
++
)
!=
0
);
while
((
*
dst
++
=
*
src
++
));
dst
--
;
src
=
va_arg
(
pvar
,
char
*
);
}
for
(
result
=
dst
;
len
--
!=
0
;
*
dst
++
=
0
)
;
*
dst
=
0
;
end:
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