mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
--source include/have_ndb.inc
 | 
						|
--source include/have_binlog_format_row.inc
 | 
						|
--source include/master-slave.inc
 | 
						|
 | 
						|
#
 | 
						|
# basic test of blob replication for NDB
 | 
						|
#
 | 
						|
 | 
						|
# easy test
 | 
						|
 | 
						|
--connection master
 | 
						|
create table t1 (
 | 
						|
  a int not null primary key,
 | 
						|
  b text not null
 | 
						|
) engine=ndb;
 | 
						|
 | 
						|
insert into t1 values(1, repeat('abc',10));
 | 
						|
insert into t1 values(2, repeat('def',200));
 | 
						|
insert into t1 values(3, repeat('ghi',3000));
 | 
						|
 | 
						|
select 'M', a, sha1(b) from t1
 | 
						|
order by a;
 | 
						|
 | 
						|
--sync_slave_with_master
 | 
						|
--sleep 5
 | 
						|
--connection slave
 | 
						|
select 'S', a, sha1(b) from t1
 | 
						|
order by a;
 | 
						|
 | 
						|
--connection master
 | 
						|
drop table t1;
 | 
						|
--sync_slave_with_master
 | 
						|
 | 
						|
# hard test
 | 
						|
 | 
						|
--connection master
 | 
						|
create table t1 (
 | 
						|
  a int not null primary key,
 | 
						|
  b text not null,
 | 
						|
  c int,
 | 
						|
  d longblob,
 | 
						|
  e tinyblob
 | 
						|
) engine=ndbcluster;
 | 
						|
 | 
						|
--disable_query_log
 | 
						|
# length 61
 | 
						|
set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
 | 
						|
set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
 | 
						|
set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
 | 
						|
--enable_query_log
 | 
						|
 | 
						|
insert into t1 values (
 | 
						|
  0, repeat(@s2,454), 100, repeat(@s2,345), NULL);
 | 
						|
insert into t1 values (
 | 
						|
  1, repeat(@s0,504), NULL, repeat(@s1,732), repeat(@s1,1));
 | 
						|
insert into t1 values (
 | 
						|
  2, '', 102, '', repeat(@s2,1));
 | 
						|
insert into t1 values (
 | 
						|
  3, repeat(@s0,545), 103, repeat(@s2,788), repeat(@s0,1));
 | 
						|
insert into t1 values (
 | 
						|
  4, repeat(@s1,38), 104, repeat(@s0,260), repeat(@s0,1));
 | 
						|
insert into t1 values (
 | 
						|
  5, repeat(@s2,12), 105, repeat(@s2,40), repeat(@s1,1));
 | 
						|
insert into t1 values (
 | 
						|
  6, repeat(@s1,242), 106, NULL, repeat(@s1,1));
 | 
						|
insert into t1 values (
 | 
						|
  7, repeat(@s1,30), 107, repeat(@s0,161), '');
 | 
						|
insert into t1 values (
 | 
						|
  8, repeat(@s1,719), 108, repeat(@s2,104), NULL);
 | 
						|
insert into t1 values (
 | 
						|
  9, repeat(@s2,427), NULL, NULL, NULL);
 | 
						|
 | 
						|
select 'M', a, sha1(b), c, sha1(d), sha1(e)
 | 
						|
from t1 order by a;
 | 
						|
 | 
						|
--sync_slave_with_master
 | 
						|
--sleep 5
 | 
						|
--connection slave
 | 
						|
select 'S', a, sha1(b), c, sha1(d), sha1(e)
 | 
						|
from t1 order by a;
 | 
						|
 | 
						|
--connection master
 | 
						|
drop table t1;
 | 
						|
--sync_slave_with_master
 | 
						|
 | 
						|
# table with varsize key (future cluster/schema)
 | 
						|
 | 
						|
# sql/ha_ndbcluster_binlog.cc
 | 
						|
--connection master
 | 
						|
CREATE TABLE IF NOT EXISTS t1 (
 | 
						|
  db VARBINARY(63) NOT NULL,
 | 
						|
  name VARBINARY(63) NOT NULL,
 | 
						|
  slock BINARY(32) NOT NULL,
 | 
						|
  query BLOB NOT NULL,
 | 
						|
  node_id INT UNSIGNED NOT NULL,
 | 
						|
  epoch BIGINT UNSIGNED NOT NULL,
 | 
						|
  id INT UNSIGNED NOT NULL,
 | 
						|
  version INT UNSIGNED NOT NULL,
 | 
						|
  type INT UNSIGNED NOT NULL,
 | 
						|
  PRIMARY KEY USING HASH (db,name))
 | 
						|
ENGINE=NDB;
 | 
						|
 | 
						|
insert into t1 values ('test','t1',
 | 
						|
  'abc',repeat(@s0,10),  11,12,13,14,15);
 | 
						|
insert into t1 values ('test','t2',
 | 
						|
  'def',repeat(@s1,100), 21,22,23,24,25);
 | 
						|
insert into t1 values ('test','t3',
 | 
						|
  'ghi',repeat(@s2,1000),31,32,33,34,35);
 | 
						|
insert into t1 values ('testtttttttttt','t1',
 | 
						|
  'abc',repeat(@s0,10),  11,12,13,14,15);
 | 
						|
insert into t1 values ('testttttttttttt','t1',
 | 
						|
  'def',repeat(@s1,100), 21,22,23,24,25);
 | 
						|
insert into t1 values ('testtttttttttttt','t1',
 | 
						|
  'ghi',repeat(@s2,1000),31,32,33,34,35);
 | 
						|
insert into t1 values ('t','t11111111111',
 | 
						|
  'abc',repeat(@s0,10),  11,12,13,14,15);
 | 
						|
insert into t1 values ('t','t111111111111',
 | 
						|
  'def',repeat(@s1,100), 21,22,23,24,25);
 | 
						|
insert into t1 values ('t','t1111111111111',
 | 
						|
  'ghi',repeat(@s2,1000),31,32,33,34,35);
 | 
						|
 | 
						|
select 'M', db, name, sha1(query), node_id, epoch, id, version, type
 | 
						|
from t1 order by db, name;
 | 
						|
 | 
						|
--sync_slave_with_master
 | 
						|
--sleep 5
 | 
						|
--connection slave
 | 
						|
select 'S', db, name, sha1(query), node_id, epoch, id, version, type
 | 
						|
from t1 order by db, name;
 | 
						|
 | 
						|
--connection master
 | 
						|
drop table t1;
 | 
						|
--sync_slave_with_master
 | 
						|
 | 
						|
#
 | 
						|
# view the binlog - not deterministic (mats)
 | 
						|
#
 | 
						|
 | 
						|
#--connection master
 | 
						|
#let $VERSION=`select version()`;
 | 
						|
#--replace_result $VERSION VERSION
 | 
						|
#show binlog events;
 |