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
69aa271d
Commit
69aa271d
authored
Mar 18, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
parents
07fc9729
5e042add
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
119 additions
and
35 deletions
+119
-35
mysql-test/r/alter_table.result
mysql-test/r/alter_table.result
+26
-0
mysql-test/r/binlog_row_drop_tmp_tbl.result
mysql-test/r/binlog_row_drop_tmp_tbl.result
+0
-2
mysql-test/r/rpl_ps.result
mysql-test/r/rpl_ps.result
+2
-0
mysql-test/r/rpl_row_log.result
mysql-test/r/rpl_row_log.result
+3
-7
mysql-test/r/rpl_row_log_innodb.result
mysql-test/r/rpl_row_log_innodb.result
+3
-7
mysql-test/r/rpl_row_max_relay_size.result
mysql-test/r/rpl_row_max_relay_size.result
+1
-1
mysql-test/t/alter_table.test
mysql-test/t/alter_table.test
+20
-0
mysql-test/t/rpl_ps.test
mysql-test/t/rpl_ps.test
+4
-0
mysys/my_seek.c
mysys/my_seek.c
+3
-2
sql/field_conv.cc
sql/field_conv.cc
+1
-1
sql/handler.cc
sql/handler.cc
+35
-4
sql/sql_class.cc
sql/sql_class.cc
+1
-1
sql/sql_parse.cc
sql/sql_parse.cc
+8
-10
sql/table.cc
sql/table.cc
+3
-0
sql/table.h
sql/table.h
+9
-0
No files found.
mysql-test/r/alter_table.result
View file @
69aa271d
...
@@ -621,3 +621,29 @@ create table t1 (t varchar(255) default null, key t (t(80)))
...
@@ -621,3 +621,29 @@ create table t1 (t varchar(255) default null, key t (t(80)))
engine=myisam default charset=latin1;
engine=myisam default charset=latin1;
alter table t1 change t t text;
alter table t1 change t t text;
drop table t1;
drop table t1;
CREATE TABLE t1 (s CHAR(8) BINARY);
INSERT INTO t1 VALUES ('test');
SELECT LENGTH(s) FROM t1;
LENGTH(s)
4
ALTER TABLE t1 MODIFY s CHAR(10) BINARY;
SELECT LENGTH(s) FROM t1;
LENGTH(s)
4
DROP TABLE t1;
CREATE TABLE t1 (s BINARY(8));
INSERT INTO t1 VALUES ('test');
SELECT LENGTH(s) FROM t1;
LENGTH(s)
8
SELECT HEX(s) FROM t1;
HEX(s)
7465737400000000
ALTER TABLE t1 MODIFY s BINARY(10);
SELECT HEX(s) FROM t1;
HEX(s)
74657374000000000000
SELECT LENGTH(s) FROM t1;
LENGTH(s)
10
DROP TABLE t1;
mysql-test/r/binlog_row_drop_tmp_tbl.result
View file @
69aa271d
...
@@ -14,7 +14,5 @@ get_lock("a",10)
...
@@ -14,7 +14,5 @@ get_lock("a",10)
show binlog events;
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # create database `drop-temp+table-test`
master-bin.000001 # Query 1 # create database `drop-temp+table-test`
drop database `drop-temp+table-test`;
drop database `drop-temp+table-test`;
mysql-test/r/rpl_ps.result
View file @
69aa271d
...
@@ -26,3 +26,5 @@ from-master-2-'',
...
@@ -26,3 +26,5 @@ from-master-2-'',
from-var-from-master-3
from-var-from-master-3
drop table t1;
drop table t1;
stop slave;
stop slave;
reset master;
reset slave;
mysql-test/r/rpl_row_log.result
View file @
69aa271d
...
@@ -57,8 +57,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
...
@@ -57,8 +57,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
show binlog events in 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Table_map 1 # table_id: # (mysql.slow_log)
master-bin.000002 # Table_map 1 # table_id: # (mysql.general_log)
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=MyISAM
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=MyISAM
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
master-bin.000002 # Table_map 1 # table_id: # (test.t2)
master-bin.000002 # Table_map 1 # table_id: # (test.t2)
...
@@ -66,12 +64,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
...
@@ -66,12 +64,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
show binary logs;
show binary logs;
Log_name File_size
Log_name File_size
master-bin.000001 1256
master-bin.000001 1256
master-bin.000002
48
3
master-bin.000002
37
3
start slave;
start slave;
show binary logs;
show binary logs;
Log_name File_size
Log_name File_size
slave-bin.000001 1354
slave-bin.000001 1354
slave-bin.000002
38
4
slave-bin.000002
27
4
show binlog events in 'slave-bin.000001' from 4;
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
...
@@ -87,14 +85,12 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
...
@@ -87,14 +85,12 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4;
show binlog events in 'slave-bin.000002' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Table_map 2 # table_id: # (mysql.slow_log)
slave-bin.000002 # Table_map 2 # table_id: # (mysql.general_log)
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
show slave status;
show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002
483 # # master-bin.000002 Yes Yes # 0 0 48
3 # None 0 No #
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002
373 # # master-bin.000002 Yes Yes # 0 0 37
3 # None 0 No #
show binlog events in 'slave-bin.000005' from 4;
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
DROP TABLE t1;
...
...
mysql-test/r/rpl_row_log_innodb.result
View file @
69aa271d
...
@@ -61,8 +61,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
...
@@ -61,8 +61,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
show binlog events in 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Table_map 1 # table_id: # (mysql.slow_log)
master-bin.000002 # Table_map 1 # table_id: # (mysql.general_log)
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=InnoDB
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=InnoDB
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
master-bin.000002 # Table_map 1 # table_id: # (test.t2)
master-bin.000002 # Table_map 1 # table_id: # (test.t2)
...
@@ -71,12 +69,12 @@ master-bin.000002 # Xid 1 # COMMIT /* XID */
...
@@ -71,12 +69,12 @@ master-bin.000002 # Xid 1 # COMMIT /* XID */
show binary logs;
show binary logs;
Log_name File_size
Log_name File_size
master-bin.000001 1310
master-bin.000001 1310
master-bin.000002
51
0
master-bin.000002
40
0
start slave;
start slave;
show binary logs;
show binary logs;
Log_name File_size
Log_name File_size
slave-bin.000001 1408
slave-bin.000001 1408
slave-bin.000002
41
1
slave-bin.000002
30
1
show binlog events in 'slave-bin.000001' from 4;
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
...
@@ -94,15 +92,13 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
...
@@ -94,15 +92,13 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4;
show binlog events in 'slave-bin.000002' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Table_map 2 # table_id: # (mysql.slow_log)
slave-bin.000002 # Table_map 2 # table_id: # (mysql.general_log)
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=InnoDB
slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
slave-bin.000002 # Table_map 1 # table_id: # (test.t2)
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
slave-bin.000002 # Xid 1 # COMMIT /* XID */
slave-bin.000002 # Xid 1 # COMMIT /* XID */
show slave status;
show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002
510 # # master-bin.000002 Yes Yes # 0 0 51
0 # None 0 No #
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002
400 # # master-bin.000002 Yes Yes # 0 0 40
0 # None 0 No #
show binlog events in 'slave-bin.000005' from 4;
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
DROP TABLE t1;
...
...
mysql-test/r/rpl_row_max_relay_size.result
View file @
69aa271d
...
@@ -58,4 +58,4 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
...
@@ -58,4 +58,4 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
flush logs;
flush logs;
show master status;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000002
21
2 <Binlog_Ignore_DB>
master-bin.000002
10
2 <Binlog_Ignore_DB>
mysql-test/t/alter_table.test
View file @
69aa271d
...
@@ -449,3 +449,23 @@ create table t1 (t varchar(255) default null, key t (t(80)))
...
@@ -449,3 +449,23 @@ create table t1 (t varchar(255) default null, key t (t(80)))
engine
=
myisam
default
charset
=
latin1
;
engine
=
myisam
default
charset
=
latin1
;
alter
table
t1
change
t
t
text
;
alter
table
t1
change
t
t
text
;
drop
table
t1
;
drop
table
t1
;
#
# Bug#18038 MySQL server corrupts binary columns data
#
CREATE
TABLE
t1
(
s
CHAR
(
8
)
BINARY
);
INSERT
INTO
t1
VALUES
(
'test'
);
SELECT
LENGTH
(
s
)
FROM
t1
;
ALTER
TABLE
t1
MODIFY
s
CHAR
(
10
)
BINARY
;
SELECT
LENGTH
(
s
)
FROM
t1
;
DROP
TABLE
t1
;
CREATE
TABLE
t1
(
s
BINARY
(
8
));
INSERT
INTO
t1
VALUES
(
'test'
);
SELECT
LENGTH
(
s
)
FROM
t1
;
SELECT
HEX
(
s
)
FROM
t1
;
ALTER
TABLE
t1
MODIFY
s
BINARY
(
10
);
SELECT
HEX
(
s
)
FROM
t1
;
SELECT
LENGTH
(
s
)
FROM
t1
;
DROP
TABLE
t1
;
mysql-test/t/rpl_ps.test
View file @
69aa271d
...
@@ -45,3 +45,7 @@ sync_with_master;
...
@@ -45,3 +45,7 @@ sync_with_master;
stop
slave
;
stop
slave
;
# End of 4.1 tests
# End of 4.1 tests
reset
master
;
reset
slave
;
disconnect
master
;
mysys/my_seek.c
View file @
69aa271d
...
@@ -22,14 +22,15 @@
...
@@ -22,14 +22,15 @@
my_off_t
my_seek
(
File
fd
,
my_off_t
pos
,
int
whence
,
my_off_t
my_seek
(
File
fd
,
my_off_t
pos
,
int
whence
,
myf
MyFlags
__attribute__
((
unused
)))
myf
MyFlags
__attribute__
((
unused
)))
{
{
reg1
os_off_t
newpos
;
reg1
os_off_t
newpos
=
-
1
;
DBUG_ENTER
(
"my_seek"
);
DBUG_ENTER
(
"my_seek"
);
DBUG_PRINT
(
"my"
,(
"Fd: %d Hpos: %lu Pos: %lu Whence: %d MyFlags: %d"
,
DBUG_PRINT
(
"my"
,(
"Fd: %d Hpos: %lu Pos: %lu Whence: %d MyFlags: %d"
,
fd
,
(
ulong
)
(((
ulonglong
)
pos
)
>>
32
),
(
ulong
)
pos
,
fd
,
(
ulong
)
(((
ulonglong
)
pos
)
>>
32
),
(
ulong
)
pos
,
whence
,
MyFlags
));
whence
,
MyFlags
));
DBUG_ASSERT
(
pos
!=
MY_FILEPOS_ERROR
);
/* safety check */
DBUG_ASSERT
(
pos
!=
MY_FILEPOS_ERROR
);
/* safety check */
newpos
=
lseek
(
fd
,
pos
,
whence
);
if
(
-
1
!=
fd
)
newpos
=
lseek
(
fd
,
pos
,
whence
);
if
(
newpos
==
(
os_off_t
)
-
1
)
if
(
newpos
==
(
os_off_t
)
-
1
)
{
{
my_errno
=
errno
;
my_errno
=
errno
;
...
...
sql/field_conv.cc
View file @
69aa271d
...
@@ -593,7 +593,7 @@ void (*Copy_field::get_copy_func(Field *to,Field *from))(Copy_field*)
...
@@ -593,7 +593,7 @@ void (*Copy_field::get_copy_func(Field *to,Field *from))(Copy_field*)
do_cut_string
:
do_cut_string_complex
);
do_cut_string
:
do_cut_string_complex
);
else
if
(
to_length
>
from_length
)
else
if
(
to_length
>
from_length
)
{
{
if
(
(
to
->
flags
&
BINARY_FLAG
)
!=
0
)
if
(
to
->
charset
()
==
&
my_charset_bin
)
return
do_expand_binary
;
return
do_expand_binary
;
else
else
return
do_expand_string
;
return
do_expand_string
;
...
...
sql/handler.cc
View file @
69aa271d
...
@@ -3150,16 +3150,47 @@ bool ha_show_status(THD *thd, handlerton *db_type, enum ha_stat_type stat)
...
@@ -3150,16 +3150,47 @@ bool ha_show_status(THD *thd, handlerton *db_type, enum ha_stat_type stat)
declared static, but it works by putting it into an anonymous
declared static, but it works by putting it into an anonymous
namespace. */
namespace. */
namespace
{
namespace
{
struct
st_table_data
{
char
const
*
db
;
char
const
*
name
;
};
int
table_name_compare
(
void
const
*
a
,
void
const
*
b
)
{
st_table_data
const
*
x
=
(
st_table_data
const
*
)
a
;
st_table_data
const
*
y
=
(
st_table_data
const
*
)
b
;
/* Doing lexical compare in order (db,name) */
int
const
res
=
strcmp
(
x
->
db
,
y
->
db
);
return
res
!=
0
?
res
:
strcmp
(
x
->
name
,
y
->
name
);
}
bool
check_table_binlog_row_based
(
THD
*
thd
,
TABLE
*
table
)
bool
check_table_binlog_row_based
(
THD
*
thd
,
TABLE
*
table
)
{
{
static
st_table_data
const
ignore
[]
=
{
{
"mysql"
,
"event"
},
{
"mysql"
,
"general_log"
},
{
"mysql"
,
"slow_log"
}
};
my_size_t
const
ignore_size
=
sizeof
(
ignore
)
/
sizeof
(
*
ignore
);
st_table_data
const
item
=
{
table
->
s
->
db
.
str
,
table
->
s
->
table_name
.
str
};
if
(
table
->
s
->
cached_row_logging_check
==
-
1
)
table
->
s
->
cached_row_logging_check
=
(
table
->
s
->
tmp_table
==
NO_TMP_TABLE
)
&&
binlog_filter
->
db_ok
(
table
->
s
->
db
.
str
)
&&
bsearch
(
&
item
,
ignore
,
ignore_size
,
sizeof
(
st_table_data
),
table_name_compare
)
==
NULL
;
DBUG_ASSERT
(
table
->
s
->
cached_row_logging_check
==
0
||
table
->
s
->
cached_row_logging_check
==
1
);
return
return
thd
->
current_stmt_binlog_row_based
&&
thd
->
current_stmt_binlog_row_based
&&
thd
&&
(
thd
->
options
&
OPTION_BIN_LOG
)
&&
thd
&&
(
thd
->
options
&
OPTION_BIN_LOG
)
&&
(
table
->
s
->
tmp_table
==
NO_TMP_TABLE
)
&&
mysql_bin_log
.
is_open
()
&&
mysql_bin_log
.
is_open
()
&&
binlog_filter
->
db_ok
(
table
->
s
->
db
.
str
)
&&
table
->
s
->
cached_row_logging_check
;
(
strcmp
(
table
->
s
->
db
.
str
,
"mysql"
)
||
strcmp
(
table
->
s
->
table_name
.
str
,
"event"
));
}
}
}
}
...
...
sql/sql_class.cc
View file @
69aa271d
...
@@ -2602,7 +2602,7 @@ int THD::binlog_query(THD::enum_binlog_query_type qtype,
...
@@ -2602,7 +2602,7 @@ int THD::binlog_query(THD::enum_binlog_query_type qtype,
moving back and forth between using RBR for replication of
moving back and forth between using RBR for replication of
system tables and not using it.
system tables and not using it.
Make sure to change in check_table_
current_stmt_binlog_row_based
according
Make sure to change in check_table_
binlog_row_based()
according
to how you treat this.
to how you treat this.
*/
*/
case
THD
:
:
ROW_QUERY_TYPE
:
case
THD
:
:
ROW_QUERY_TYPE
:
...
...
sql/sql_parse.cc
View file @
69aa271d
...
@@ -3144,8 +3144,8 @@ mysql_execute_command(THD *thd)
...
@@ -3144,8 +3144,8 @@ mysql_execute_command(THD *thd)
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
{
{
thd
->
clear_error
();
// No binlog error generated
thd
->
clear_error
();
// No binlog error generated
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
thd
->
binlog_query
(
THD
::
STMT_QUERY_TYPE
,
mysql_bin_log
.
write
(
&
qinfo
);
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
}
}
}
}
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
...
@@ -3178,8 +3178,8 @@ mysql_execute_command(THD *thd)
...
@@ -3178,8 +3178,8 @@ mysql_execute_command(THD *thd)
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
{
{
thd
->
clear_error
();
// No binlog error generated
thd
->
clear_error
();
// No binlog error generated
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
thd
->
binlog_query
(
THD
::
STMT_QUERY_TYPE
,
mysql_bin_log
.
write
(
&
qinfo
);
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
}
}
}
}
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
...
@@ -3203,8 +3203,8 @@ mysql_execute_command(THD *thd)
...
@@ -3203,8 +3203,8 @@ mysql_execute_command(THD *thd)
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
{
{
thd
->
clear_error
();
// No binlog error generated
thd
->
clear_error
();
// No binlog error generated
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
thd
->
binlog_query
(
THD
::
STMT_QUERY_TYPE
,
mysql_bin_log
.
write
(
&
qinfo
);
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
}
}
}
}
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
select_lex
->
table_list
.
first
=
(
byte
*
)
first_table
;
...
@@ -3865,10 +3865,8 @@ mysql_execute_command(THD *thd)
...
@@ -3865,10 +3865,8 @@ mysql_execute_command(THD *thd)
if
(
!
(
res
=
mysql_create_user
(
thd
,
lex
->
users_list
)))
if
(
!
(
res
=
mysql_create_user
(
thd
,
lex
->
users_list
)))
{
{
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
{
thd
->
binlog_query
(
THD
::
MYSQL_QUERY_TYPE
,
thd
->
binlog_query
(
THD
::
MYSQL_QUERY_TYPE
,
thd
->
query
,
thd
->
query_length
,
FALSE
,
FALSE
);
thd
->
query
,
thd
->
query_length
,
FALSE
,
FALSE
);
}
send_ok
(
thd
);
send_ok
(
thd
);
}
}
break
;
break
;
...
@@ -4058,8 +4056,8 @@ mysql_execute_command(THD *thd)
...
@@ -4058,8 +4056,8 @@ mysql_execute_command(THD *thd)
{
{
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
{
{
Query_log_event
qinfo
(
thd
,
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
thd
->
binlog_query
(
THD
::
STMT_QUERY_TYPE
,
mysql_bin_log
.
write
(
&
qinfo
);
thd
->
query
,
thd
->
query_length
,
0
,
FALSE
);
}
}
}
}
send_ok
(
thd
);
send_ok
(
thd
);
...
...
sql/table.cc
View file @
69aa271d
...
@@ -146,6 +146,8 @@ TABLE_SHARE *alloc_table_share(TABLE_LIST *table_list, char *key,
...
@@ -146,6 +146,8 @@ TABLE_SHARE *alloc_table_share(TABLE_LIST *table_list, char *key,
under the protection of the LOCK_open mutex.
under the protection of the LOCK_open mutex.
*/
*/
share
->
table_map_id
=
~
0UL
;
share
->
table_map_id
=
~
0UL
;
share
->
cached_row_logging_check
=
-
1
;
#endif
#endif
memcpy
((
char
*
)
&
share
->
mem_root
,
(
char
*
)
&
mem_root
,
sizeof
(
mem_root
));
memcpy
((
char
*
)
&
share
->
mem_root
,
(
char
*
)
&
mem_root
,
sizeof
(
mem_root
));
...
@@ -205,6 +207,7 @@ void init_tmp_table_share(TABLE_SHARE *share, const char *key,
...
@@ -205,6 +207,7 @@ void init_tmp_table_share(TABLE_SHARE *share, const char *key,
*/
*/
share
->
table_map_version
=
~
(
ulonglong
)
0
;
share
->
table_map_version
=
~
(
ulonglong
)
0
;
share
->
table_map_id
=
~
0UL
;
share
->
table_map_id
=
~
0UL
;
share
->
cached_row_logging_check
=
-
1
;
#endif
#endif
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
...
...
sql/table.h
View file @
69aa271d
...
@@ -191,6 +191,15 @@ typedef struct st_table_share
...
@@ -191,6 +191,15 @@ typedef struct st_table_share
bool
waiting_on_cond
;
/* Protection against free */
bool
waiting_on_cond
;
/* Protection against free */
ulong
table_map_id
;
/* for row-based replication */
ulong
table_map_id
;
/* for row-based replication */
ulonglong
table_map_version
;
ulonglong
table_map_version
;
/*
Cache for row-based replication table share checks that does not
need to be repeated. Possible values are: -1 when cache value is
not calculated yet, 0 when table *shall not* be replicated, 1 when
table *may* be replicated.
*/
int
cached_row_logging_check
;
/*
/*
TRUE if this is a system table like 'mysql.proc', which we want to be
TRUE if this is a system table like 'mysql.proc', which we want to be
able to open and lock even when we already have some tables open and
able to open and lock even when we already have some tables open and
...
...
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