mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	mysql-test/r/rpl_ndb_blob.result: test case for varsize PK + blob mysql-test/t/rpl_ndb_blob.test: test case for varsize PK + blob storage/ndb/include/ndbapi/NdbBlob.hpp: table PK in blob part key is fixed-sized so keep extra bytes zero if varsize PK storage/ndb/src/ndbapi/NdbBlob.cpp: table PK in blob part key is fixed-sized so keep extra bytes zero if varsize PK
		
			
				
	
	
		
			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;
 |