config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/ndb/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/ndb/t/ndb_charset.test

# The include statement below is a temp one for tests that are yet to
#be ported to run with InnoDB,
#but needs to be kept for tests that would need MyISAM in future.
--source include/force_myisam_default.inc

--source include/have_ndb.inc

--disable_warnings
drop table if exists t1;
--enable_warnings

#
# Minimal NDB charset test.
#

# pk - binary

create table t1 (
  a char(3) character set latin1 collate latin1_bin primary key
) engine=ndb;
# ok
insert into t1 values('aAa');
insert into t1 values('aaa');
insert into t1 values('AAA');
# 3
select * from t1 order by a;
# 1
select * from t1 where a = 'aAa';
# 1
select * from t1 where a = 'aaa';
# 0
select * from t1 where a = 'AaA';
# 1
select * from t1 where a = 'AAA';
drop table t1;

# pk - case insensitive

create table t1 (
  a char(3) character set latin1 collate latin1_swedish_ci primary key
) engine=ndb;
# ok
insert into t1 values('aAa');
# fail
--error ER_DUP_ENTRY
insert into t1 values('aaa');
--error ER_DUP_ENTRY
insert into t1 values('AAA');
# 1
select * from t1 order by a;
# 1
select * from t1 where a = 'aAa';
# 1
select * from t1 where a = 'aaa';
# 1
select * from t1 where a = 'AaA';
# 1
select * from t1 where a = 'AAA';
drop table t1;

# pk - varchar

create table t1 (
  a varchar(20) character set latin1 collate latin1_swedish_ci primary key
) engine=ndb;
#
insert into t1 values ('A'),('b '),('C  '),('d      '),('E'),('f');
-- error ER_DUP_ENTRY
insert into t1 values('b');
-- error ER_DUP_ENTRY
insert into t1 values('a         ');
#
select a,length(a) from t1 order by a;
select a,length(a) from t1 order by a desc;
select * from t1 where a = 'a';
select * from t1 where a = 'a   ';
select * from t1 where a = 'd';
drop table t1;

# unique hash index - binary

create table t1 (
  p int primary key,
  a char(3) character set latin1 collate latin1_bin not null,
  unique key(a)
) engine=ndb;
# ok
insert into t1 values(1, 'aAa');
insert into t1 values(2, 'aaa');
insert into t1 values(3, 'AAA');
# 3
select * from t1 order by p;
# 1
select * from t1 where a = 'aAa';
# 1
select * from t1 where a = 'aaa';
# 0
select * from t1 where a = 'AaA';
# 1
select * from t1 where a = 'AAA';
drop table t1;

# unique hash index - case insensitive

create table t1 (
  p int primary key,
  a char(3) character set latin1 collate latin1_swedish_ci not null,
  unique key(a)
) engine=ndb;
# ok
insert into t1 values(1, 'aAa');
# fail
--error ER_DUP_ENTRY
insert into t1 values(2, 'aaa');
--error ER_DUP_ENTRY
insert into t1 values(3, 'AAA');
# 1
select * from t1 order by p;
# 1
select * from t1 where a = 'aAa';
# 1
select * from t1 where a = 'aaa';
# 1
select * from t1 where a = 'AaA';
# 1
select * from t1 where a = 'AAA';
drop table t1;

# unique hash index - varchar

create table t1 (
  p int primary key,
  a varchar(20) character set latin1 collate latin1_swedish_ci not null,
  unique key(a)
) engine=ndb;
#
insert into t1 values (1,'A'),(2,'b '),(3,'C  '),(4,'d      '),(5,'E'),(6,'f');
-- error ER_DUP_ENTRY
insert into t1 values(99,'b');
-- error ER_DUP_ENTRY
insert into t1 values(99,'a         ');
#
select a,length(a) from t1 order by a;
select a,length(a) from t1 order by a desc;
select * from t1 where a = 'a';
select * from t1 where a = 'a   ';
select * from t1 where a = 'd';
drop table t1;

# ordered index - binary

create table t1 (
  p int primary key,
  a char(3) character set latin1 collate latin1_bin not null,
  index(a)
) engine=ndb;
# ok
insert into t1 values(1, 'aAa');
insert into t1 values(2, 'aaa');
insert into t1 values(3, 'AAA');
insert into t1 values(4, 'aAa');
insert into t1 values(5, 'aaa');
insert into t1 values(6, 'AAA');
# 6
select * from t1 order by p;
# plan too flaky
#--replace_column 10 # 11 #
#explain select * from t1 where a = 'zZz' order by p;
# 2
select * from t1 where a = 'aAa' order by p;
# 2
select * from t1 where a = 'aaa' order by p;
# 0
select * from t1 where a = 'AaA' order by p;
# 2
select * from t1 where a = 'AAA' order by p;
drop table t1;

# ordered index - case insensitive

create table t1 (
  p int primary key,
  a char(3) character set latin1 collate latin1_swedish_ci not null,
  index(a)
) engine=ndb;
# ok
insert into t1 values(1, 'aAa');
insert into t1 values(2, 'aaa');
insert into t1 values(3, 'AAA');
insert into t1 values(4, 'aAa');
insert into t1 values(5, 'aaa');
insert into t1 values(6, 'AAA');
# 6
select * from t1 order by p;
# plan too flaky
#--replace_column 10 # 11 #
#explain select * from t1 where a = 'zZz' order by p;
# 6
select * from t1 where a = 'aAa' order by p;
# 6
select * from t1 where a = 'aaa' order by p;
# 6
select * from t1 where a = 'AaA' order by p;
# 6
select * from t1 where a = 'AAA' order by p;
drop table t1;

# ordered index - varchar

create table t1 (
  p int primary key,
  a varchar(20) character set latin1 collate latin1_swedish_ci not null,
  index(a, p)
) engine=ndb;
#
insert into t1 values (1,'A'),(2,'b '),(3,'C  '),(4,'d      '),(5,'E'),(6,'f');
insert into t1 values (7,'a'),(8,'B '),(9,'c  '),(10,'D'),(11,'e'),(12,'F  ');
select p,a,length(a) from t1 order by a, p;
select * from t1 where a = 'a  ' order by a desc, p desc;
select * from t1 where a >= 'D' order by a, p;
select * from t1 where a < 'D' order by a, p;
#
select count(*) from t1 x, t1 y, t1 z where x.a = y.a and y.a = z.a;
drop table t1;

# minimal multi-byte test
# removed by jonas as this requires a configure --with-extra-charsets
#create table t1 (
#  a char(5) character set ucs2,
#  b varchar(7) character set utf8,
#  primary key(a, b)
#) engine=ndb;
#
#insert into t1 values
#  ('a','A '),('B   ','b'),('c','C    '),('D','d'),('e  ','E'),('F','f  '),
#  ('A','b '),('b   ','C'),('C','d  '),('d','E'),('E  ','f'),
#  ('a','C '),('B   ','d'),('c','E  '),('D','f');
#-- error ER_DUP_ENTRY
#insert into t1 values('d','f');
#
#select a,b,length(a),length(b) from t1 order by a,b limit 3;
#select a,b,length(a),length(b) from t1 order by a desc, b desc limit 3;
#select a,b,length(a),length(b) from t1 where a='c' and b='c';
#drop table t1;

# bug#14007
create table t1 (
  a char(10) primary key
) engine=ndbcluster default charset=latin1;

insert into t1 values ('aaabb');
select * from t1;
replace into t1 set a = 'AAABB';
select * from t1;
replace into t1 set a = 'aAaBb';
select * from t1;
replace into t1 set a = 'aaabb';
select * from t1;
drop table t1;

# bug#33158 NDB table name problem(sensitive/insensitive)
# Check that tables with same letters, but different case
# don't conflict
create table t1(a int) engine = ndbcluster;

if (`SELECT @@lower_case_table_names = 0`)
{
  create table T1(a int) engine = ndbcluster;
  drop table T1;
}
if (`SELECT @@lower_case_table_names <> 0`)
{
  --echo create table T1(a int) engine = ndbcluster;
  --echo drop table T1;
}
drop table t1;


# End of 4.1 tests

Man Man