mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
This commit is contained in:
@ -295,6 +295,11 @@ while test $# -gt 0; do
|
||||
--record)
|
||||
RECORD=1;
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
--small-bench)
|
||||
DO_SMALL_BENCH=1
|
||||
DO_BENCH=1
|
||||
NO_SLAVE=1
|
||||
;;
|
||||
--bench)
|
||||
DO_BENCH=1
|
||||
NO_SLAVE=1
|
||||
@ -1451,7 +1456,13 @@ then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
echo "Starting ndbcluster"
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --small --diskless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
if [ "$DO_BENCH" = 1 ]
|
||||
then
|
||||
NDBCLUSTER_OPTS=""
|
||||
else
|
||||
NDBCLUSTER_OPTS="--small"
|
||||
fi
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT $NDBCLUSTER_OPTS --diskless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"host=localhost:$NDBCLUSTER_PORT\""
|
||||
else
|
||||
USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"$USE_RUNNING_NDBCLUSTER\""
|
||||
@ -1485,9 +1496,14 @@ if [ "$DO_BENCH" = 1 ]
|
||||
then
|
||||
start_master
|
||||
|
||||
if [ "$DO_SMALL_BENCH" = 1 ]
|
||||
then
|
||||
EXTRA_BENCH_ARGS="--small-test --small-tables"
|
||||
fi
|
||||
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
EXTRA_BENCH_ARGS="--create-options=TYPE=ndb"
|
||||
EXTRA_BENCH_ARGS="--create-options=TYPE=ndb $EXTRA_BENCH_ARGS"
|
||||
fi
|
||||
|
||||
BENCHDIR=$BASEDIR/sql-bench/
|
||||
@ -1495,7 +1511,7 @@ then
|
||||
cd $BENCHDIR
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
./run-all-tests --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS
|
||||
./run-all-tests --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS --log
|
||||
else
|
||||
if [ -x "./$1" ]
|
||||
then
|
||||
|
@ -6,6 +6,7 @@ IndexMemory= CHOOSE_IndexMemory
|
||||
Diskless= CHOOSE_Diskless
|
||||
TimeBetweenWatchDogCheck= 30000
|
||||
DataDir= CHOOSE_FILESYSTEM
|
||||
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
|
||||
|
||||
[ndbd]
|
||||
HostName= CHOOSE_HOSTNAME_1
|
||||
|
@ -44,7 +44,8 @@ initial_ndb=
|
||||
status_ndb=
|
||||
ndb_diskless=0
|
||||
|
||||
ndb_con_op=100000
|
||||
ndb_no_ord=512
|
||||
ndb_con_op=105000
|
||||
ndb_dmem=80M
|
||||
ndb_imem=24M
|
||||
|
||||
@ -65,6 +66,7 @@ while test $# -gt 0; do
|
||||
status_ndb=1
|
||||
;;
|
||||
--small)
|
||||
ndb_no_ord=128
|
||||
ndb_con_op=10000
|
||||
ndb_dmem=40M
|
||||
ndb_imem=12M
|
||||
@ -128,6 +130,7 @@ port_transporter=`expr $ndb_mgmd_port + 2`
|
||||
|
||||
if [ $initial_ndb ] ; then
|
||||
sed \
|
||||
-e s,"CHOOSE_MaxNoOfOrderedIndexes","$ndb_no_ord",g \
|
||||
-e s,"CHOOSE_MaxNoOfConcurrentOperations","$ndb_con_op",g \
|
||||
-e s,"CHOOSE_DataMemory","$ndb_dmem",g \
|
||||
-e s,"CHOOSE_IndexMemory","$ndb_imem",g \
|
||||
|
@ -73,3 +73,22 @@ col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
1 101 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
2 102 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT NOT NULL,
|
||||
b INT NOT NULL
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (9410,9412);
|
||||
ALTER TABLE t1 ADD COLUMN c int not null;
|
||||
select * from t1;
|
||||
a b c
|
||||
9410 9412 0
|
||||
select * from t1;
|
||||
a b c
|
||||
9410 9412 0
|
||||
alter table t1 drop c;
|
||||
select * from t1;
|
||||
a b
|
||||
9410 9412
|
||||
drop table t1;
|
||||
select * from t1;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
|
191
mysql-test/r/ndb_charset.result
Normal file
191
mysql-test/r/ndb_charset.result
Normal file
@ -0,0 +1,191 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
a char(3) character set latin1 collate latin1_bin primary key
|
||||
) engine=ndb;
|
||||
insert into t1 values('aAa');
|
||||
insert into t1 values('aaa');
|
||||
insert into t1 values('AAA');
|
||||
select * from t1 order by a;
|
||||
a
|
||||
AAA
|
||||
aAa
|
||||
aaa
|
||||
select * from t1 where a = 'aAa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
a
|
||||
aaa
|
||||
select * from t1 where a = 'AaA';
|
||||
a
|
||||
select * from t1 where a = 'AAA';
|
||||
a
|
||||
AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
a char(3) character set latin1 collate latin1_swedish_ci primary key
|
||||
) engine=ndb;
|
||||
insert into t1 values('aAa');
|
||||
insert into t1 values('aaa');
|
||||
ERROR 23000: Duplicate entry 'aaa' for key 1
|
||||
insert into t1 values('AAA');
|
||||
ERROR 23000: Duplicate entry 'AAA' for key 1
|
||||
select * from t1 order by a;
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aAa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'AaA';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'AAA';
|
||||
a
|
||||
aAa
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_bin not null,
|
||||
unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
insert into t1 values(3, 'AAA');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
select * from t1 where a = 'aAa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
p a
|
||||
2 aaa
|
||||
select * from t1 where a = 'AaA';
|
||||
p a
|
||||
select * from t1 where a = 'AAA';
|
||||
p a
|
||||
3 AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_swedish_ci not null,
|
||||
unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
ERROR 23000: Can't write, because of unique constraint, to table 't1'
|
||||
insert into t1 values(3, 'AAA');
|
||||
ERROR 23000: Can't write, because of unique constraint, to table 't1'
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aAa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'AaA';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'AAA';
|
||||
p a
|
||||
1 aAa
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_bin not null,
|
||||
index(a)
|
||||
) engine=ndb;
|
||||
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');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
explain select * from t1 where a = 'zZz' order by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
|
||||
select * from t1 where a = 'aAa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
4 aAa
|
||||
select * from t1 where a = 'aaa' order by p;
|
||||
p a
|
||||
2 aaa
|
||||
5 aaa
|
||||
select * from t1 where a = 'AaA' order by p;
|
||||
p a
|
||||
select * from t1 where a = 'AAA' order by p;
|
||||
p a
|
||||
3 AAA
|
||||
6 AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_swedish_ci not null,
|
||||
index(a)
|
||||
) engine=ndb;
|
||||
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');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
explain select * from t1 where a = 'zZz' order by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
|
||||
select * from t1 where a = 'aAa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'aaa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'AaA' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'AAA' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
drop table t1;
|
@ -4,7 +4,7 @@ PORT varchar(16) NOT NULL,
|
||||
ACCESSNODE varchar(16) NOT NULL,
|
||||
POP varchar(48) NOT NULL,
|
||||
ACCESSTYPE int unsigned NOT NULL,
|
||||
CUSTOMER_ID varchar(20) NOT NULL,
|
||||
CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
|
||||
PROVIDER varchar(16),
|
||||
TEXPIRE int unsigned,
|
||||
NUM_IP int unsigned,
|
||||
|
@ -49,6 +49,37 @@ show table status;
|
||||
select * from t1 order by col1;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Check that invalidating dictionary cache works
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a INT NOT NULL,
|
||||
b INT NOT NULL
|
||||
) ENGINE=ndbcluster;
|
||||
|
||||
INSERT INTO t1 VALUES (9410,9412);
|
||||
|
||||
connect (con1,localhost,,,test);
|
||||
connect (con2,localhost,,,test);
|
||||
|
||||
connection con1;
|
||||
ALTER TABLE t1 ADD COLUMN c int not null;
|
||||
select * from t1;
|
||||
|
||||
connection con2;
|
||||
select * from t1;
|
||||
alter table t1 drop c;
|
||||
|
||||
connection con1;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
connection con2;
|
||||
--error 1146
|
||||
select * from t1;
|
||||
|
||||
#--disable_warnings
|
||||
#DROP TABLE IF EXISTS t2;
|
||||
#--enable_warnings
|
||||
|
159
mysql-test/t/ndb_charset.test
Normal file
159
mysql-test/t/ndb_charset.test
Normal file
@ -0,0 +1,159 @@
|
||||
--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 1062
|
||||
insert into t1 values('aaa');
|
||||
--error 1062
|
||||
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;
|
||||
|
||||
# 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 1169
|
||||
insert into t1 values(2, 'aaa');
|
||||
--error 1169
|
||||
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;
|
||||
|
||||
# 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
|
||||
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
|
||||
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;
|
@ -9,7 +9,7 @@ CREATE TABLE t1 (
|
||||
ACCESSNODE varchar(16) NOT NULL,
|
||||
POP varchar(48) NOT NULL,
|
||||
ACCESSTYPE int unsigned NOT NULL,
|
||||
CUSTOMER_ID varchar(20) NOT NULL,
|
||||
CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
|
||||
PROVIDER varchar(16),
|
||||
TEXPIRE int unsigned,
|
||||
NUM_IP int unsigned,
|
||||
|
Reference in New Issue
Block a user