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
9db9b463
Commit
9db9b463
authored
Dec 13, 2001
by
sasha@mysql.sashanet.com
Browse files
Options
Browse Files
Download
Plain Diff
merged
parents
f7acf09d
5ae05984
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
108 additions
and
11 deletions
+108
-11
Docs/manual.texi
Docs/manual.texi
+4
-0
mysql-test/r/innodb.result
mysql-test/r/innodb.result
+2
-0
mysql-test/t/innodb.test
mysql-test/t/innodb.test
+8
-0
sql/mysql_priv.h
sql/mysql_priv.h
+1
-0
sql/mysqld.cc
sql/mysqld.cc
+58
-0
sql/sql_lex.h
sql/sql_lex.h
+2
-1
sql/sql_parse.cc
sql/sql_parse.cc
+16
-1
sql/table.cc
sql/table.cc
+2
-4
sql/unireg.cc
sql/unireg.cc
+15
-5
No files found.
Docs/manual.texi
View file @
9db9b463
...
@@ -19620,6 +19620,7 @@ The status variables listed above have the following meaning:
...
@@ -19620,6 +19620,7 @@ The status variables listed above have the following meaning:
@item @code{Aborted_connects} @tab Number of tries to connect to the MySQL server that failed. @xref{Communication errors}.
@item @code{Aborted_connects} @tab Number of tries to connect to the MySQL server that failed. @xref{Communication errors}.
@item @code{Bytes_received} @tab Number of bytes received from all clients.
@item @code{Bytes_received} @tab Number of bytes received from all clients.
@item @code{Bytes_sent} @tab Number of bytes sent to all clients.
@item @code{Bytes_sent} @tab Number of bytes sent to all clients.
@item @code{Com_xxxx} @tab Number of times the xxx commands has been executed.
@item @code{Connections} @tab Number of connection attempts to the MySQL server.
@item @code{Connections} @tab Number of connection attempts to the MySQL server.
@item @code{Created_tmp_disk_tables} @tab Number of implicit temporary tables on disk created while executing statements.
@item @code{Created_tmp_disk_tables} @tab Number of implicit temporary tables on disk created while executing statements.
@item @code{Created_tmp_tables} @tab Number of implicit temporary tables in memory created while executing statements.
@item @code{Created_tmp_tables} @tab Number of implicit temporary tables in memory created while executing statements.
...
@@ -46868,6 +46869,9 @@ not yet 100% confident in this code.
...
@@ -46868,6 +46869,9 @@ not yet 100% confident in this code.
@item
@item
Added @code{slave-skip-errors} option
Added @code{slave-skip-errors} option
@item
@item
Added statistics variables for all MySQL commands. (@code{SHOW STATUS} is
now much longer).
@item
Fixed that @code{GROUP BY expr DESC} works.
Fixed that @code{GROUP BY expr DESC} works.
@item
@item
Fixed bug when using @code{t1 LEFT JOIN t2 ON t2.key=constant}.
Fixed bug when using @code{t1 LEFT JOIN t2 ON t2.key=constant}.
mysql-test/r/innodb.result
View file @
9db9b463
...
@@ -499,3 +499,5 @@ table type possible_keys key key_len ref rows Extra
...
@@ -499,3 +499,5 @@ table type possible_keys key key_len ref rows Extra
t1 index NULL b 4 NULL 4 Using index
t1 index NULL b 4 NULL 4 Using index
table type possible_keys key key_len ref rows Extra
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 4
t1 ALL NULL NULL NULL NULL 4
Field Type Null Key Default Extra
testint int(11) 1
mysql-test/t/innodb.test
View file @
9db9b463
...
@@ -529,3 +529,11 @@ explain select a,b from t1 order by b;
...
@@ -529,3 +529,11 @@ explain select a,b from t1 order by b;
explain
select
a
,
b
from
t1
;
explain
select
a
,
b
from
t1
;
explain
select
a
,
b
,
c
from
t1
;
explain
select
a
,
b
,
c
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# Check describe
#
create
table
t1
(
testint
int
not
null
default
1
)
type
=
innodb
;
desc
t1
;
drop
table
t1
;
sql/mysql_priv.h
View file @
9db9b463
...
@@ -542,6 +542,7 @@ extern ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
...
@@ -542,6 +542,7 @@ extern ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
max_tmp_tables
,
max_heap_table_size
,
query_buff_size
,
max_tmp_tables
,
max_heap_table_size
,
query_buff_size
,
lower_case_table_names
,
thread_stack
,
thread_stack_min
,
lower_case_table_names
,
thread_stack
,
thread_stack_min
,
binlog_cache_size
,
max_binlog_cache_size
,
record_rnd_cache_size
;
binlog_cache_size
,
max_binlog_cache_size
,
record_rnd_cache_size
;
extern
ulong
com_stat
[(
uint
)
SQLCOM_END
],
com_other
;
extern
ulong
specialflag
,
current_pid
;
extern
ulong
specialflag
,
current_pid
;
extern
bool
low_priority_updates
,
using_update_log
,
opt_warnings
;
extern
bool
low_priority_updates
,
using_update_log
,
opt_warnings
;
extern
bool
opt_sql_bin_update
,
opt_safe_show_db
,
opt_safe_user_create
;
extern
bool
opt_sql_bin_update
,
opt_safe_show_db
,
opt_safe_user_create
;
...
...
sql/mysqld.cc
View file @
9db9b463
...
@@ -270,6 +270,7 @@ ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
...
@@ -270,6 +270,7 @@ ulong keybuff_size,sortbuff_size,max_item_sort_length,table_cache_size,
net_interactive_timeout
,
slow_launch_time
=
2L
,
net_interactive_timeout
,
slow_launch_time
=
2L
,
net_read_timeout
,
net_write_timeout
,
slave_open_temp_tables
=
0
,
net_read_timeout
,
net_write_timeout
,
slave_open_temp_tables
=
0
,
open_files_limit
=
0
,
max_binlog_size
,
record_rnd_cache_size
;
open_files_limit
=
0
,
max_binlog_size
,
record_rnd_cache_size
;
ulong
com_stat
[(
uint
)
SQLCOM_END
],
com_other
;
ulong
slave_net_timeout
;
ulong
slave_net_timeout
;
ulong
thread_cache_size
=
0
,
binlog_cache_size
=
0
,
max_binlog_cache_size
=
0
;
ulong
thread_cache_size
=
0
,
binlog_cache_size
=
0
,
max_binlog_cache_size
=
0
;
volatile
ulong
cached_thread_count
=
0
;
volatile
ulong
cached_thread_count
=
0
;
...
@@ -3049,6 +3050,63 @@ struct show_var_st status_vars[]= {
...
@@ -3049,6 +3050,63 @@ struct show_var_st status_vars[]= {
{
"Aborted_connects"
,
(
char
*
)
&
aborted_connects
,
SHOW_LONG
},
{
"Aborted_connects"
,
(
char
*
)
&
aborted_connects
,
SHOW_LONG
},
{
"Bytes_received"
,
(
char
*
)
&
bytes_received
,
SHOW_LONG
},
{
"Bytes_received"
,
(
char
*
)
&
bytes_received
,
SHOW_LONG
},
{
"Bytes_sent"
,
(
char
*
)
&
bytes_sent
,
SHOW_LONG
},
{
"Bytes_sent"
,
(
char
*
)
&
bytes_sent
,
SHOW_LONG
},
{
"Com_admin_commands"
,
(
char
*
)
&
com_other
,
SHOW_LONG
},
{
"Com_alter_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_ALTER_TABLE
),
SHOW_LONG
},
{
"Com_analyze"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_ANALYZE
),
SHOW_LONG
},
{
"Com_backup_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_BACKUP_TABLE
),
SHOW_LONG
},
{
"Com_begin"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_BEGIN
),
SHOW_LONG
},
{
"Com_change_db"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CHANGE_DB
),
SHOW_LONG
},
{
"Com_change_master"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CHANGE_MASTER
),
SHOW_LONG
},
{
"Com_check"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CHECK
),
SHOW_LONG
},
{
"Com_commit"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_COMMIT
),
SHOW_LONG
},
{
"Com_create_db"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CREATE_DB
),
SHOW_LONG
},
{
"Com_create_function"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CREATE_FUNCTION
),
SHOW_LONG
},
{
"Com_create_index"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CREATE_INDEX
),
SHOW_LONG
},
{
"Com_create_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_CREATE_TABLE
),
SHOW_LONG
},
{
"Com_delete"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_DELETE
),
SHOW_LONG
},
{
"Com_drop_db"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_DROP_DB
),
SHOW_LONG
},
{
"Com_drop_function"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_DROP_FUNCTION
),
SHOW_LONG
},
{
"Com_drop_index"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_DROP_INDEX
),
SHOW_LONG
},
{
"Com_drop_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_DROP_TABLE
),
SHOW_LONG
},
{
"Com_flush"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_FLUSH
),
SHOW_LONG
},
{
"Com_grant"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_GRANT
),
SHOW_LONG
},
{
"Com_insert"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_INSERT
),
SHOW_LONG
},
{
"Com_insert_select"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_INSERT_SELECT
),
SHOW_LONG
},
{
"Com_kill"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_KILL
),
SHOW_LONG
},
{
"Com_load"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_LOAD
),
SHOW_LONG
},
{
"Com_load_master_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_LOAD_MASTER_TABLE
),
SHOW_LONG
},
{
"Com_lock_tables"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_LOCK_TABLES
),
SHOW_LONG
},
{
"Com_optimize"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_OPTIMIZE
),
SHOW_LONG
},
{
"Com_purge"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_PURGE
),
SHOW_LONG
},
{
"Com_rename_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_RENAME_TABLE
),
SHOW_LONG
},
{
"Com_repair"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_REPAIR
),
SHOW_LONG
},
{
"Com_replace"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_REPLACE
),
SHOW_LONG
},
{
"Com_replace_select"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_REPLACE_SELECT
),
SHOW_LONG
},
{
"Com_reset"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_RESET
),
SHOW_LONG
},
{
"Com_restore_table"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_RESTORE_TABLE
),
SHOW_LONG
},
{
"Com_revoke"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_REVOKE
),
SHOW_LONG
},
{
"Com_rollback"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_ROLLBACK
),
SHOW_LONG
},
{
"Com_select"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SELECT
),
SHOW_LONG
},
{
"Com_set_option"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SET_OPTION
),
SHOW_LONG
},
{
"Com_show_binlogs"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_BINLOGS
),
SHOW_LONG
},
{
"Com_show_create"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_CREATE
),
SHOW_LONG
},
{
"Com_show_databases"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_DATABASES
),
SHOW_LONG
},
{
"Com_show_fields"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_FIELDS
),
SHOW_LONG
},
{
"Com_show_grants"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_GRANTS
),
SHOW_LONG
},
{
"Com_show_keys"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_KEYS
),
SHOW_LONG
},
{
"Com_show_logs"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_LOGS
),
SHOW_LONG
},
{
"Com_show_master_STAT"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_MASTER_STAT
),
SHOW_LONG
},
{
"Com_show_open_tables"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_OPEN_TABLES
),
SHOW_LONG
},
{
"Com_show_processlist"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_PROCESSLIST
),
SHOW_LONG
},
{
"Com_show_slave_stat"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_SLAVE_STAT
),
SHOW_LONG
},
{
"Com_show_status"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_STATUS
),
SHOW_LONG
},
{
"Com_show_tables"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_TABLES
),
SHOW_LONG
},
{
"Com_show_variables"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SHOW_VARIABLES
),
SHOW_LONG
},
{
"Com_slave_start"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SLAVE_START
),
SHOW_LONG
},
{
"Com_slave_stop"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_SLAVE_STOP
),
SHOW_LONG
},
{
"Com_truncate"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_TRUNCATE
),
SHOW_LONG
},
{
"Com_unlock_tables"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_UNLOCK_TABLES
),
SHOW_LONG
},
{
"Com_update"
,
(
char
*
)
(
com_stat
+
(
uint
)
SQLCOM_UPDATE
),
SHOW_LONG
},
{
"Connections"
,
(
char
*
)
&
thread_id
,
SHOW_LONG_CONST
},
{
"Connections"
,
(
char
*
)
&
thread_id
,
SHOW_LONG_CONST
},
{
"Created_tmp_disk_tables"
,
(
char
*
)
&
created_tmp_disk_tables
,
SHOW_LONG
},
{
"Created_tmp_disk_tables"
,
(
char
*
)
&
created_tmp_disk_tables
,
SHOW_LONG
},
{
"Created_tmp_tables"
,
(
char
*
)
&
created_tmp_tables
,
SHOW_LONG
},
{
"Created_tmp_tables"
,
(
char
*
)
&
created_tmp_tables
,
SHOW_LONG
},
...
...
sql/sql_lex.h
View file @
9db9b463
...
@@ -53,7 +53,8 @@ enum enum_sql_command {
...
@@ -53,7 +53,8 @@ enum enum_sql_command {
SQLCOM_BEGIN
,
SQLCOM_LOAD_MASTER_TABLE
,
SQLCOM_CHANGE_MASTER
,
SQLCOM_BEGIN
,
SQLCOM_LOAD_MASTER_TABLE
,
SQLCOM_CHANGE_MASTER
,
SQLCOM_RENAME_TABLE
,
SQLCOM_BACKUP_TABLE
,
SQLCOM_RESTORE_TABLE
,
SQLCOM_RENAME_TABLE
,
SQLCOM_BACKUP_TABLE
,
SQLCOM_RESTORE_TABLE
,
SQLCOM_RESET
,
SQLCOM_PURGE
,
SQLCOM_SHOW_BINLOGS
,
SQLCOM_RESET
,
SQLCOM_PURGE
,
SQLCOM_SHOW_BINLOGS
,
SQLCOM_SHOW_OPEN_TABLES
SQLCOM_SHOW_OPEN_TABLES
,
SQLCOM_END
};
};
enum
lex_states
{
STATE_START
,
STATE_CHAR
,
STATE_IDENT
,
enum
lex_states
{
STATE_START
,
STATE_CHAR
,
STATE_IDENT
,
...
...
sql/sql_parse.cc
View file @
9db9b463
...
@@ -705,7 +705,6 @@ int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
...
@@ -705,7 +705,6 @@ int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
}
}
/* Execute one command from socket (query or simple command) */
/* Execute one command from socket (query or simple command) */
bool
do_command
(
THD
*
thd
)
bool
do_command
(
THD
*
thd
)
...
@@ -756,11 +755,13 @@ bool do_command(THD *thd)
...
@@ -756,11 +755,13 @@ bool do_command(THD *thd)
thd
->
lex
.
options
=
0
;
// We store status here
thd
->
lex
.
options
=
0
;
// We store status here
switch
(
command
)
{
switch
(
command
)
{
case
COM_INIT_DB
:
case
COM_INIT_DB
:
thread_safe_increment
(
com_stat
[
SQLCOM_CHANGE_DB
],
&
LOCK_thread_count
);
if
(
!
mysql_change_db
(
thd
,
packet
+
1
))
if
(
!
mysql_change_db
(
thd
,
packet
+
1
))
mysql_log
.
write
(
thd
,
command
,
"%s"
,
thd
->
db
);
mysql_log
.
write
(
thd
,
command
,
"%s"
,
thd
->
db
);
break
;
break
;
case
COM_TABLE_DUMP
:
case
COM_TABLE_DUMP
:
{
{
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
slow_command
=
TRUE
;
slow_command
=
TRUE
;
char
*
data
=
packet
+
1
;
char
*
data
=
packet
+
1
;
uint
db_len
=
*
data
;
uint
db_len
=
*
data
;
...
@@ -778,6 +779,7 @@ bool do_command(THD *thd)
...
@@ -778,6 +779,7 @@ bool do_command(THD *thd)
}
}
case
COM_CHANGE_USER
:
case
COM_CHANGE_USER
:
{
{
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
char
*
user
=
(
char
*
)
packet
+
1
;
char
*
user
=
(
char
*
)
packet
+
1
;
char
*
passwd
=
strend
(
user
)
+
1
;
char
*
passwd
=
strend
(
user
)
+
1
;
char
*
db
=
strend
(
passwd
)
+
1
;
char
*
db
=
strend
(
passwd
)
+
1
;
...
@@ -843,6 +845,7 @@ bool do_command(THD *thd)
...
@@ -843,6 +845,7 @@ bool do_command(THD *thd)
{
{
char
*
fields
;
char
*
fields
;
TABLE_LIST
table_list
;
TABLE_LIST
table_list
;
thread_safe_increment
(
com_stat
[
SQLCOM_SHOW_FIELDS
],
&
LOCK_thread_count
);
bzero
((
char
*
)
&
table_list
,
sizeof
(
table_list
));
bzero
((
char
*
)
&
table_list
,
sizeof
(
table_list
));
if
(
!
(
table_list
.
db
=
thd
->
db
))
if
(
!
(
table_list
.
db
=
thd
->
db
))
{
{
...
@@ -866,6 +869,7 @@ bool do_command(THD *thd)
...
@@ -866,6 +869,7 @@ bool do_command(THD *thd)
}
}
#endif
#endif
case
COM_QUIT
:
case
COM_QUIT
:
/* We don't calculate statistics for this command */
mysql_log
.
write
(
thd
,
command
,
NullS
);
mysql_log
.
write
(
thd
,
command
,
NullS
);
net
->
error
=
0
;
// Don't give 'abort' message
net
->
error
=
0
;
// Don't give 'abort' message
error
=
TRUE
;
// End server
error
=
TRUE
;
// End server
...
@@ -874,6 +878,7 @@ bool do_command(THD *thd)
...
@@ -874,6 +878,7 @@ bool do_command(THD *thd)
case
COM_CREATE_DB
:
case
COM_CREATE_DB
:
{
{
char
*
db
=
thd
->
strdup
(
packet
+
1
);
char
*
db
=
thd
->
strdup
(
packet
+
1
);
thread_safe_increment
(
com_stat
[
SQLCOM_CREATE_DB
],
&
LOCK_thread_count
);
// null test to handle EOM
// null test to handle EOM
if
(
!
db
||
!
stripp_sp
(
db
)
||
check_db_name
(
db
))
if
(
!
db
||
!
stripp_sp
(
db
)
||
check_db_name
(
db
))
{
{
...
@@ -889,6 +894,7 @@ bool do_command(THD *thd)
...
@@ -889,6 +894,7 @@ bool do_command(THD *thd)
case
COM_DROP_DB
:
case
COM_DROP_DB
:
{
{
char
*
db
=
thd
->
strdup
(
packet
+
1
);
char
*
db
=
thd
->
strdup
(
packet
+
1
);
thread_safe_increment
(
com_stat
[
SQLCOM_DROP_DB
],
&
LOCK_thread_count
);
// null test to handle EOM
// null test to handle EOM
if
(
!
db
||
!
stripp_sp
(
db
)
||
check_db_name
(
db
))
if
(
!
db
||
!
stripp_sp
(
db
)
||
check_db_name
(
db
))
{
{
...
@@ -903,6 +909,7 @@ bool do_command(THD *thd)
...
@@ -903,6 +909,7 @@ bool do_command(THD *thd)
}
}
case
COM_BINLOG_DUMP
:
case
COM_BINLOG_DUMP
:
{
{
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
slow_command
=
TRUE
;
slow_command
=
TRUE
;
if
(
check_access
(
thd
,
FILE_ACL
,
any_db
))
if
(
check_access
(
thd
,
FILE_ACL
,
any_db
))
break
;
break
;
...
@@ -926,6 +933,7 @@ bool do_command(THD *thd)
...
@@ -926,6 +933,7 @@ bool do_command(THD *thd)
case
COM_REFRESH
:
case
COM_REFRESH
:
{
{
uint
options
=
(
uchar
)
packet
[
1
];
uint
options
=
(
uchar
)
packet
[
1
];
thread_safe_increment
(
com_stat
[
SQLCOM_FLUSH
],
&
LOCK_thread_count
);
if
(
check_access
(
thd
,
RELOAD_ACL
,
any_db
))
if
(
check_access
(
thd
,
RELOAD_ACL
,
any_db
))
break
;
break
;
mysql_log
.
write
(
thd
,
command
,
NullS
);
mysql_log
.
write
(
thd
,
command
,
NullS
);
...
@@ -936,6 +944,7 @@ bool do_command(THD *thd)
...
@@ -936,6 +944,7 @@ bool do_command(THD *thd)
break
;
break
;
}
}
case
COM_SHUTDOWN
:
case
COM_SHUTDOWN
:
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
if
(
check_access
(
thd
,
SHUTDOWN_ACL
,
any_db
))
if
(
check_access
(
thd
,
SHUTDOWN_ACL
,
any_db
))
break
;
/* purecov: inspected */
break
;
/* purecov: inspected */
DBUG_PRINT
(
"quit"
,(
"Got shutdown command"
));
DBUG_PRINT
(
"quit"
,(
"Got shutdown command"
));
...
@@ -957,6 +966,7 @@ bool do_command(THD *thd)
...
@@ -957,6 +966,7 @@ bool do_command(THD *thd)
case
COM_STATISTICS
:
case
COM_STATISTICS
:
{
{
mysql_log
.
write
(
thd
,
command
,
NullS
);
mysql_log
.
write
(
thd
,
command
,
NullS
);
thread_safe_increment
(
com_stat
[
SQLCOM_SHOW_STATUS
],
&
LOCK_thread_count
);
char
buff
[
200
];
char
buff
[
200
];
ulong
uptime
=
(
ulong
)
(
thd
->
start_time
-
start_time
);
ulong
uptime
=
(
ulong
)
(
thd
->
start_time
-
start_time
);
sprintf
((
char
*
)
buff
,
sprintf
((
char
*
)
buff
,
...
@@ -975,9 +985,11 @@ bool do_command(THD *thd)
...
@@ -975,9 +985,11 @@ bool do_command(THD *thd)
break
;
break
;
}
}
case
COM_PING
:
case
COM_PING
:
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
send_ok
(
net
);
// Tell client we are alive
send_ok
(
net
);
// Tell client we are alive
break
;
break
;
case
COM_PROCESS_INFO
:
case
COM_PROCESS_INFO
:
thread_safe_increment
(
com_stat
[
SQLCOM_SHOW_PROCESSLIST
],
&
LOCK_thread_count
);
if
(
!
thd
->
priv_user
[
0
]
&&
check_process_priv
(
thd
))
if
(
!
thd
->
priv_user
[
0
]
&&
check_process_priv
(
thd
))
break
;
break
;
mysql_log
.
write
(
thd
,
command
,
NullS
);
mysql_log
.
write
(
thd
,
command
,
NullS
);
...
@@ -986,11 +998,13 @@ bool do_command(THD *thd)
...
@@ -986,11 +998,13 @@ bool do_command(THD *thd)
break
;
break
;
case
COM_PROCESS_KILL
:
case
COM_PROCESS_KILL
:
{
{
thread_safe_increment
(
com_stat
[
SQLCOM_KILL
],
&
LOCK_thread_count
);
ulong
id
=
(
ulong
)
uint4korr
(
packet
+
1
);
ulong
id
=
(
ulong
)
uint4korr
(
packet
+
1
);
kill_one_thread
(
thd
,
id
);
kill_one_thread
(
thd
,
id
);
break
;
break
;
}
}
case
COM_DEBUG
:
case
COM_DEBUG
:
thread_safe_increment
(
com_other
,
&
LOCK_thread_count
);
if
(
check_process_priv
(
thd
))
if
(
check_process_priv
(
thd
))
break
;
/* purecov: inspected */
break
;
/* purecov: inspected */
mysql_print_status
(
thd
);
mysql_print_status
(
thd
);
...
@@ -1062,6 +1076,7 @@ mysql_execute_command(void)
...
@@ -1062,6 +1076,7 @@ mysql_execute_command(void)
// rules have been given and the table list says the query should not be
// rules have been given and the table list says the query should not be
// replicated
// replicated
thread_safe_increment
(
com_stat
[
lex
->
sql_command
],
&
LOCK_thread_count
);
switch
(
lex
->
sql_command
)
{
switch
(
lex
->
sql_command
)
{
case
SQLCOM_SELECT
:
case
SQLCOM_SELECT
:
{
{
...
...
sql/table.cc
View file @
9db9b463
...
@@ -120,10 +120,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
...
@@ -120,10 +120,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
outparam
->
db_record_offset
=
1
;
outparam
->
db_record_offset
=
1
;
if
(
db_create_options
&
HA_OPTION_LONG_BLOB_PTR
)
if
(
db_create_options
&
HA_OPTION_LONG_BLOB_PTR
)
outparam
->
blob_ptr_size
=
portable_sizeof_char_ptr
;
outparam
->
blob_ptr_size
=
portable_sizeof_char_ptr
;
outparam
->
db_low_byte_first
=
test
(
outparam
->
db_type
==
DB_TYPE_MYISAM
||
/* Set temporaryly a good value for db_low_byte_first */
outparam
->
db_type
==
DB_TYPE_BERKELEY_DB
||
outparam
->
db_low_byte_first
=
test
(
outparam
->
db_type
!=
DB_TYPE_ISAM
);
outparam
->
db_type
==
DB_TYPE_HEAP
);
error
=
4
;
error
=
4
;
outparam
->
max_rows
=
uint4korr
(
head
+
18
);
outparam
->
max_rows
=
uint4korr
(
head
+
18
);
outparam
->
min_rows
=
uint4korr
(
head
+
22
);
outparam
->
min_rows
=
uint4korr
(
head
+
22
);
...
...
sql/unireg.cc
View file @
9db9b463
...
@@ -515,16 +515,23 @@ static bool make_empty_rec(File file,enum db_type table_type,
...
@@ -515,16 +515,23 @@ static bool make_empty_rec(File file,enum db_type table_type,
uchar
*
buff
,
*
null_pos
;
uchar
*
buff
,
*
null_pos
;
TABLE
table
;
TABLE
table
;
create_field
*
field
;
create_field
*
field
;
handler
*
handler
;
DBUG_ENTER
(
"make_empty_rec"
);
DBUG_ENTER
(
"make_empty_rec"
);
/* We need a table to generate columns for default values */
/* We need a table to generate columns for default values */
bzero
((
char
*
)
&
table
,
sizeof
(
table
));
bzero
((
char
*
)
&
table
,
sizeof
(
table
));
table
.
db_low_byte_first
=
test
(
table_type
==
DB_TYPE_MYISAM
||
handler
=
get_new_handler
((
TABLE
*
)
0
,
table_type
);
table_type
==
DB_TYPE_HEAP
);
table
.
blob_ptr_size
=
portable_sizeof_char_ptr
;
if
(
!
(
buff
=
(
uchar
*
)
my_malloc
((
uint
)
reclength
,
MYF
(
MY_WME
|
MY_ZEROFILL
))))
if
(
!
handler
||
!
(
buff
=
(
uchar
*
)
my_malloc
((
uint
)
reclength
,
MYF
(
MY_WME
|
MY_ZEROFILL
))))
{
delete
handler
;
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
}
table
.
db_low_byte_first
=
handler
->
low_byte_first
();
table
.
blob_ptr_size
=
portable_sizeof_char_ptr
;
firstpos
=
reclength
;
firstpos
=
reclength
;
null_count
=
0
;
null_count
=
0
;
if
(
!
(
table_options
&
HA_OPTION_PACK_RECORD
))
if
(
!
(
table_options
&
HA_OPTION_PACK_RECORD
))
...
@@ -574,8 +581,11 @@ static bool make_empty_rec(File file,enum db_type table_type,
...
@@ -574,8 +581,11 @@ static bool make_empty_rec(File file,enum db_type table_type,
regfield
->
reset
();
regfield
->
reset
();
delete
regfield
;
delete
regfield
;
}
}
bfill
((
byte
*
)
buff
+
null_length
,
firstpos
-
null_length
,
255
);
/* Fill not used startpos */
/* Fill not used startpos */
bfill
((
byte
*
)
buff
+
null_length
,
firstpos
-
null_length
,
255
);
error
=
(
int
)
my_write
(
file
,(
byte
*
)
buff
,(
uint
)
reclength
,
MYF_RW
);
error
=
(
int
)
my_write
(
file
,(
byte
*
)
buff
,(
uint
)
reclength
,
MYF_RW
);
my_free
((
gptr
)
buff
,
MYF
(
MY_FAE
));
my_free
((
gptr
)
buff
,
MYF
(
MY_FAE
));
delete
handler
;
DBUG_RETURN
(
error
);
DBUG_RETURN
(
error
);
}
/* make_empty_rec */
}
/* make_empty_rec */
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