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
2b55a288
Commit
2b55a288
authored
Jun 22, 2006
by
monty@hasky.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
Merge monty@192.168.0.9:/my/mysql-5.1
into mysql.com:/home/my/mysql-5.1
parents
729ee036
64915795
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
116 additions
and
12 deletions
+116
-12
mysql-test/include/have_binlog_format_mixed_or_row.inc
mysql-test/include/have_binlog_format_mixed_or_row.inc
+5
-0
mysql-test/r/rpl_truncate_7ndb_2.result
mysql-test/r/rpl_truncate_7ndb_2.result
+91
-0
mysql-test/t/rpl_truncate_7ndb.test
mysql-test/t/rpl_truncate_7ndb.test
+1
-0
mysql-test/t/rpl_truncate_7ndb_2-master.opt
mysql-test/t/rpl_truncate_7ndb_2-master.opt
+1
-0
mysql-test/t/rpl_truncate_7ndb_2.test
mysql-test/t/rpl_truncate_7ndb_2.test
+6
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+6
-2
sql/ha_ndbcluster.h
sql/ha_ndbcluster.h
+0
-2
sql/ha_ndbcluster_binlog.cc
sql/ha_ndbcluster_binlog.cc
+3
-1
sql/handler.cc
sql/handler.cc
+1
-1
sql/handler.h
sql/handler.h
+2
-6
No files found.
mysql-test/include/have_binlog_format_mixed_or_row.inc
0 → 100644
View file @
2b55a288
--
require
r
/
have_binlog_format_row
.
require
--
disable_query_log
--
replace_result
MIXED
ROW
show
variables
like
"binlog_format"
;
--
enable_query_log
mysql-test/r/rpl_truncate_7ndb_2.result
0 → 100644
View file @
2b55a288
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
**** On Master ****
CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
INSERT INTO t1 VALUES (1,1), (2,2);
SELECT * FROM t1 ORDER BY a,b;
a b
1 1
2 2
**** On Slave ****
INSERT INTO t1 VALUE (3,3);
SELECT * FROM t1 ORDER BY a,b;
a b
1 1
2 2
3 3
**** On Master ****
TRUNCATE TABLE t1;
SELECT * FROM t1 ORDER BY a,b;
a b
**** On Slave ****
SELECT * FROM t1 ORDER BY a,b;
a b
**** On Master ****
DROP TABLE t1;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
master-bin.000001 219 Query 1 283 BEGIN
master-bin.000001 283 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 323 Table_map 1 93 table_id: # (cluster.apply_status)
master-bin.000001 376 Write_rows 1 135 table_id: #
master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F
master-bin.000001 465 Query 1 530 COMMIT
master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1
master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1
**** On Master ****
CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB;
INSERT INTO t1 VALUES (1,1), (2,2);
SELECT * FROM t1 ORDER BY a,b;
a b
1 1
2 2
**** On Slave ****
INSERT INTO t1 VALUE (3,3);
SELECT * FROM t1 ORDER BY a,b;
a b
1 1
2 2
3 3
**** On Master ****
DELETE FROM t1;
SELECT * FROM t1 ORDER BY a,b;
a b
**** On Slave ****
SELECT * FROM t1 ORDER BY a,b;
a b
3 3
**** On Master ****
DROP TABLE t1;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
master-bin.000001 219 Query 1 283 BEGIN
master-bin.000001 283 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 323 Table_map 1 93 table_id: # (cluster.apply_status)
master-bin.000001 376 Write_rows 1 135 table_id: #
master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F
master-bin.000001 465 Query 1 530 COMMIT
master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1
master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1
master-bin.000001 686 Query 1 803 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB
master-bin.000001 803 Query 1 867 BEGIN
master-bin.000001 867 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 907 Table_map 1 93 table_id: # (cluster.apply_status)
master-bin.000001 960 Write_rows 1 135 table_id: #
master-bin.000001 1002 Write_rows 1 182 table_id: # flags: STMT_END_F
master-bin.000001 1049 Query 1 1114 COMMIT
master-bin.000001 1114 Query 1 1178 BEGIN
master-bin.000001 1178 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 1218 Table_map 1 93 table_id: # (cluster.apply_status)
master-bin.000001 1271 Write_rows 1 135 table_id: #
master-bin.000001 1313 Delete_rows 1 174 table_id: # flags: STMT_END_F
master-bin.000001 1352 Query 1 1417 COMMIT
master-bin.000001 1417 Query 1 1493 use `test`; DROP TABLE t1
mysql-test/t/rpl_truncate_7ndb.test
View file @
2b55a288
--
source
include
/
have_ndb
.
inc
--
source
include
/
have_ndb
.
inc
--
source
include
/
master
-
slave
.
inc
--
source
include
/
master
-
slave
.
inc
--
source
include
/
have_binlog_format_mixed_or_row
.
inc
--
disable_query_log
--
disable_query_log
--
disable_warnings
--
disable_warnings
...
...
mysql-test/t/rpl_truncate_7ndb_2-master.opt
0 → 100644
View file @
2b55a288
--binlog-format=mixed
mysql-test/t/rpl_truncate_7ndb_2.test
0 → 100644
View file @
2b55a288
# Same test as rpl_truncate_7ndb.test, but with mixed mode
# This is marked with 'big_test' just because the rpl_truncate_7ndb test is
# so slow...
--
source
include
/
big_test
.
inc
--
source
t
/
rpl_truncate_7ndb
.
test
sql/ha_ndbcluster.cc
View file @
2b55a288
...
@@ -4056,6 +4056,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
...
@@ -4056,6 +4056,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type)
DBUG_PRINT
(
"warning"
,
(
"ops_pending != 0L"
));
DBUG_PRINT
(
"warning"
,
(
"ops_pending != 0L"
));
m_ops_pending
=
0
;
m_ops_pending
=
0
;
}
}
thd
->
set_current_stmt_binlog_row_based_if_mixed
();
DBUG_RETURN
(
error
);
DBUG_RETURN
(
error
);
}
}
...
@@ -4105,7 +4106,8 @@ int ha_ndbcluster::start_stmt(THD *thd, thr_lock_type lock_type)
...
@@ -4105,7 +4106,8 @@ int ha_ndbcluster::start_stmt(THD *thd, thr_lock_type lock_type)
// Start of statement
// Start of statement
m_ops_pending
=
0
;
m_ops_pending
=
0
;
thd
->
set_current_stmt_binlog_row_based_if_mixed
();
DBUG_RETURN
(
error
);
DBUG_RETURN
(
error
);
}
}
...
@@ -5452,7 +5454,8 @@ void ha_ndbcluster::get_auto_increment(ulonglong offset, ulonglong increment,
...
@@ -5452,7 +5454,8 @@ void ha_ndbcluster::get_auto_increment(ulonglong offset, ulonglong increment,
HA_CAN_BIT_FIELD | \
HA_CAN_BIT_FIELD | \
HA_PRIMARY_KEY_REQUIRED_FOR_POSITION | \
HA_PRIMARY_KEY_REQUIRED_FOR_POSITION | \
HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | \
HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | \
HA_PARTIAL_COLUMN_READ
HA_PARTIAL_COLUMN_READ | \
HA_HAS_OWN_BINLOGGING
ha_ndbcluster
::
ha_ndbcluster
(
TABLE_SHARE
*
table_arg
)
:
ha_ndbcluster
::
ha_ndbcluster
(
TABLE_SHARE
*
table_arg
)
:
handler
(
&
ndbcluster_hton
,
table_arg
),
handler
(
&
ndbcluster_hton
,
table_arg
),
...
@@ -7954,6 +7957,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -7954,6 +7957,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
my_net_init
(
&
thd
->
net
,
0
);
my_net_init
(
&
thd
->
net
,
0
);
thd
->
main_security_ctx
.
master_access
=
~
0
;
thd
->
main_security_ctx
.
master_access
=
~
0
;
thd
->
main_security_ctx
.
priv_user
=
0
;
thd
->
main_security_ctx
.
priv_user
=
0
;
thd
->
current_stmt_binlog_row_based
=
TRUE
;
// If in mixed mode
/*
/*
wait for mysql server to start
wait for mysql server to start
...
...
sql/ha_ndbcluster.h
View file @
2b55a288
...
@@ -661,8 +661,6 @@ class ha_ndbcluster: public handler
...
@@ -661,8 +661,6 @@ class ha_ndbcluster: public handler
bool
low_byte_first
()
const
;
bool
low_byte_first
()
const
;
virtual
bool
is_injective
()
const
{
return
true
;
}
const
char
*
index_type
(
uint
key_number
);
const
char
*
index_type
(
uint
key_number
);
double
scan_time
();
double
scan_time
();
...
...
sql/ha_ndbcluster_binlog.cc
View file @
2b55a288
...
@@ -3347,9 +3347,11 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
...
@@ -3347,9 +3347,11 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
ndb_binlog_thread_running
=
1
;
ndb_binlog_thread_running
=
1
;
if
(
opt_bin_log
)
if
(
opt_bin_log
)
{
{
if
(
global_system_variables
.
binlog_format
==
BINLOG_FORMAT_ROW
)
if
(
global_system_variables
.
binlog_format
==
BINLOG_FORMAT_ROW
||
global_system_variables
.
binlog_format
==
BINLOG_FORMAT_MIXED
)
{
{
ndb_binlog_running
=
TRUE
;
ndb_binlog_running
=
TRUE
;
thd
->
current_stmt_binlog_row_based
=
TRUE
;
// If in mixed mode
}
}
else
else
{
{
...
...
sql/handler.cc
View file @
2b55a288
...
@@ -3305,7 +3305,7 @@ namespace
...
@@ -3305,7 +3305,7 @@ namespace
const
byte
*
before_record
,
const
byte
*
before_record
,
const
byte
*
after_record
)
const
byte
*
after_record
)
{
{
if
(
table
->
file
->
is_injective
()
)
if
(
table
->
file
->
ha_table_flags
()
&
HA_HAS_OWN_BINLOGGING
)
return
0
;
return
0
;
bool
error
=
0
;
bool
error
=
0
;
THD
*
const
thd
=
table
->
in_use
;
THD
*
const
thd
=
table
->
in_use
;
...
...
sql/handler.h
View file @
2b55a288
...
@@ -116,6 +116,8 @@
...
@@ -116,6 +116,8 @@
#define HA_ANY_INDEX_MAY_BE_UNIQUE (1 << 30)
#define HA_ANY_INDEX_MAY_BE_UNIQUE (1 << 30)
#define HA_NO_COPY_ON_ALTER (LL(1) << 31)
#define HA_NO_COPY_ON_ALTER (LL(1) << 31)
#define HA_HAS_RECORDS (LL(1) << 32)
/* records() gives exact count*/
#define HA_HAS_RECORDS (LL(1) << 32)
/* records() gives exact count*/
/* Has it's own method of binlog logging */
#define HA_HAS_OWN_BINLOGGING (LL(1) << 33)
/* bits in index_flags(index_number) for what you can do with index */
/* bits in index_flags(index_number) for what you can do with index */
#define HA_READ_NEXT 1
/* TODO really use this flag */
#define HA_READ_NEXT 1
/* TODO really use this flag */
...
@@ -1053,12 +1055,6 @@ public:
...
@@ -1053,12 +1055,6 @@ public:
int
ha_update_row
(
const
byte
*
old_data
,
byte
*
new_data
);
int
ha_update_row
(
const
byte
*
old_data
,
byte
*
new_data
);
int
ha_delete_row
(
const
byte
*
buf
);
int
ha_delete_row
(
const
byte
*
buf
);
/*
If the handler does it's own injection of the rows, this member function
should return 'true'.
*/
virtual
bool
is_injective
()
const
{
return
false
;
}
/*
/*
SYNOPSIS
SYNOPSIS
start_bulk_update()
start_bulk_update()
...
...
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