mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
9f5731821a
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
142 lines
3.6 KiB
Text
142 lines
3.6 KiB
Text
--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;
|