mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 05:56:07 +03:00 
			
		
		
		
	into mysql.com:/home/my/mysql-5.0 BitKeeper/etc/ignore: auto-union BitKeeper/deleted/.del-ctype_cp932.test: Auto merged BitKeeper/deleted/.del-isam.test~834fb0ee8196c445: Auto merged include/thr_lock.h: Auto merged mysql-test/t/alias.test: Auto merged mysql-test/t/alter_table.test: Auto merged mysql-test/t/archive.test: Auto merged mysql-test/t/backup.test: Auto merged mysql-test/t/bool.test: Auto merged mysql-test/t/connect.test: Auto merged mysql-test/t/count_distinct2.test: Auto merged mysql-test/t/create.test: Auto merged mysql-test/t/ctype_many.test: Auto merged mysql-test/t/ctype_ucs_binlog.test: Auto merged mysql-test/t/date_formats.test: Auto merged mysql-test/t/delayed.test: Auto merged mysql-test/t/derived.test: Auto merged mysql-test/t/distinct.test: Auto merged mysql-test/t/drop.test: Auto merged mysql-test/t/endspace.test: Auto merged mysql-test/t/flush.test: Auto merged mysql-test/t/fulltext.test: Auto merged mysql-test/t/fulltext_order_by.test: Auto merged mysql-test/t/func_compress.test: Auto merged mysql-test/t/func_concat.test: Auto merged mysql-test/t/func_date_add.test: Auto merged mysql-test/t/func_equal.test: Auto merged mysql-test/t/func_if.test: Auto merged mysql-test/t/func_sapdb.test: Auto merged mysql-test/t/func_set.test: Auto merged mysql-test/t/func_str.test: Auto merged mysql-test/t/gis-rtree.test: Auto merged mysql-test/t/gis.test: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/grant2.test: Auto merged mysql-test/t/grant_cache.test: Auto merged mysql-test/t/heap.test: Auto merged mysql-test/t/heap_btree.test: Auto merged mysql-test/t/heap_hash.test: Auto merged mysql-test/t/init_connect.test: Auto merged mysql-test/t/insert_select.test: Auto merged mysql-test/t/insert_update.test: Auto merged mysql-test/t/key.test: Auto merged mysql-test/t/keywords.test: Auto merged mysql-test/t/limit.test: Auto merged mysql-test/t/lock.test: Auto merged mysql-test/t/lowercase_table.test: Auto merged mysql-test/t/lowercase_table3.test: Auto merged mysql-test/t/merge.test: Auto merged mysql-test/t/mix_innodb_myisam_binlog.test: Auto merged mysql-test/t/myisam.test: Auto merged mysql-test/t/mysqlbinlog2.test: Auto merged mysql-test/t/ndb_alter_table.test: Auto merged mysql-test/t/ndb_autodiscover.test: Auto merged mysql-test/t/ndb_charset.test: Auto merged mysql-test/t/ndb_grant.later: Auto merged mysql-test/t/ndb_index_ordered.test: Auto merged mysql-test/t/ndb_index_unique.test: Auto merged mysql-test/t/ndb_restore.test: Auto merged mysql-test/t/ndb_types.test: Auto merged mysql-test/t/ndb_update.test: Auto merged mysql-test/t/null.test: Auto merged mysql-test/t/null_key.test: Auto merged mysql-test/t/olap.test: Auto merged mysql-test/t/openssl_1.test: Auto merged mysql-test/t/order_by.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/ps_1general.test: Auto merged mysql-test/t/ps_4heap.test: Auto merged mysql-test/t/ps_5merge.test: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/replace.test: Auto merged mysql-test/t/row.test: Auto merged mysql-test/t/rpl000001.test: Auto merged mysql-test/t/rpl000015.test: Auto merged mysql-test/t/rpl000017.test: Auto merged mysql-test/t/rpl000018.test: Auto merged mysql-test/t/rpl_EE_error.test: Auto merged mysql-test/t/rpl_change_master.test: Auto merged mysql-test/t/rpl_charset.test: Auto merged mysql-test/t/rpl_create_database.test: Auto merged mysql-test/t/rpl_ddl.test: Auto merged mysql-test/t/rpl_deadlock.test: Auto merged mysql-test/t/rpl_empty_master_crash.test: Auto merged mysql-test/t/rpl_error_ignored_table.test: Auto merged mysql-test/t/rpl_flush_log_loop.test: Auto merged mysql-test/t/rpl_flush_tables.test: Auto merged mysql-test/t/rpl_get_lock.test: Auto merged mysql-test/t/rpl_heap.test: Auto merged mysql-test/t/rpl_loaddata.test: Auto merged mysql-test/t/rpl_loaddata_rule_m.test: Auto merged mysql-test/t/rpl_log.test: Auto merged mysql-test/t/rpl_log_pos.test: Auto merged mysql-test/t/rpl_max_relay_size.test: Auto merged mysql-test/t/rpl_multi_query.test: Auto merged mysql-test/t/rpl_openssl.test: Auto merged mysql-test/t/rpl_redirect.test: Auto merged mysql-test/t/rpl_relayrotate.test: Auto merged mysql-test/t/rpl_replicate_do.test: Auto merged mysql-test/t/rpl_reset_slave.test: Auto merged mysql-test/t/rpl_server_id2.test: Auto merged mysql-test/t/rpl_temporary.test: Auto merged mysql-test/t/rpl_timezone.test: Auto merged mysql-test/t/rpl_user_variables.test: Auto merged mysql-test/t/show_check.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/symlink.test: Auto merged mysql-test/t/synchronization.test: Auto merged mysql-test/t/system_mysql_db.test: Auto merged mysql-test/t/system_mysql_db_fix.test: Auto merged mysql-test/t/temp_table.test: Auto merged mysql-test/t/timezone2.test: Auto merged mysql-test/t/timezone_grant.test: Auto merged mysql-test/t/type_float.test: Auto merged mysql-test/t/type_ranges.test: Auto merged mysql-test/t/type_timestamp.test: Auto merged mysql-test/t/union.test: Auto merged mysql-test/t/update.test: Auto merged mysql-test/t/user_var-binlog.test: Auto merged mysql-test/t/warnings.test: Auto merged mysys/thr_lock.c: Auto merged sql/slave.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_select.cc: Auto merged support-files/mysql.spec.sh: Auto merged BitKeeper/deleted/.del-rpl_trunc_binlog.test~961b1f6ac73d37c8: Simple merge mysql-test/r/ps_grant.result: Simple merge mysql-test/t/analyse.test: Simple merge mysql-test/t/auto_increment.test: Simple merge mysql-test/t/bdb.test: Simple merge mysql-test/t/bigint.test: Simple merge mysql-test/t/case.test: Simple merge mysql-test/t/cast.test: Simple merge mysql-test/t/check.test: Simple merge mysql-test/t/count_distinct.test: Simple merge mysql-test/t/ctype_latin1_de.test: Simple merge mysql-test/t/ctype_uca.test: Simple merge mysql-test/t/ctype_ucs.test: Simple merge mysql-test/t/ctype_utf8.test: Simple merge mysql-test/t/delete.test: Simple merge mysql-test/t/flush_block_commit.test: Simple merge mysql-test/t/func_default.test: Simple merge mysql-test/t/func_gconcat.test: Simple merge mysql-test/t/func_group.test: Aligned code with 4.1 mysql-test/t/func_in.test: Simple merge mysql-test/t/func_math.test: Simple merge mysql-test/t/func_misc.test: Simple merge mysql-test/t/func_test.test: Simple merge mysql-test/t/func_time.test: Simple merge mysql-test/t/group_by.test: Simple merge mysql-test/t/having.test: Simple merge mysql-test/t/innodb.test: Simple merge mysql-test/t/insert.test: Simple merge mysql-test/t/join_outer.test: Simple merge mysql-test/t/kill.test: Simple merge mysql-test/t/loaddata.test: Simple merge mysql-test/t/lock_multi.test: Simple merge mysql-test/t/multi_update.test: Simple merge mysql-test/t/mysqlbinlog.test: Simple merge mysql-test/t/mysqldump.test: Aligned code with 4.1 mysql-test/t/mysqltest.test: Simple merge mysql-test/t/ndb_basic.test: Simple merge mysql-test/t/ndb_cache.test: Simple merge mysql-test/t/ndb_subquery.test: Simple merge mysql-test/t/ps_grant.test: Simple merge mysql-test/t/range.test: Simple merge mysql-test/t/rpl_drop_temp.test: Simple merge mysql-test/t/rpl_loaddata_rule_s.test: Simple merge mysql-test/t/rpl_loaddatalocal.test: Simple merge mysql-test/t/rpl_rotate_logs.test: Simple merge mysql-test/t/rpl_until.test: Simple merge mysql-test/t/rpl_variables.test: Simple merge mysql-test/t/select.test: Simple merge mysql-test/t/sql_mode.test: Simple merge mysql-test/t/type_blob.test: Simple merge mysql-test/t/type_decimal.test: Simple merge mysql-test/t/user_var.test: Simple merge mysql-test/t/variables.test: Simple merge sql/lock.cc: Simple optimization sql/mysql_priv.h: Simple merge sql/sql_table.cc: Simple merge sql/table.cc: Simple merge sql/unireg.cc: Simple merge
		
			
				
	
	
		
			353 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			353 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- source include/have_ndb.inc
 | |
| -- source include/not_embedded.inc
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1, test1, test2;
 | |
| --enable_warnings
 | |
| 
 | |
| #
 | |
| # Simple test to show use of ordered indexes 
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a int unsigned NOT NULL PRIMARY KEY,
 | |
|   b int unsigned not null,
 | |
|   c int unsigned,
 | |
|   KEY(b)	
 | |
| ) engine=ndbcluster;
 | |
| 
 | |
| insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
 | |
| select * from t1 order by b;
 | |
| select * from t1 where b >= 4 order by b;
 | |
| select * from t1 where b = 4 order by b;
 | |
| select * from t1 where b > 4 order by b;
 | |
| select * from t1 where b < 4 order by b;
 | |
| select * from t1 where b <= 4 order by b;
 | |
| 
 | |
| # Test of reset_bounds
 | |
| select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
 | |
| select a, b, c from t1 where a!=2 and c=6;
 | |
| select a, b, c from t1 where a!=2 order by a;
 | |
| 
 | |
| #
 | |
| # Here we should add some "explain select" to verify that the ordered index is 
 | |
| # used for these queries.
 | |
| #
 | |
| 
 | |
| #
 | |
| # Update using ordered index scan
 | |
| #
 | |
| 
 | |
| update t1 set c = 3 where b = 3;
 | |
| select * from t1 order by a;
 | |
| update t1 set c = 10 where b >= 6;
 | |
| select * from t1 order by a;
 | |
| update t1 set c = 11 where b < 5;
 | |
| select * from t1 order by a;
 | |
| update t1 set c = 12 where b > 0;
 | |
| select * from t1 order by a;
 | |
| update t1 set c = 13 where b <= 3;
 | |
| select * from t1 order by a;
 | |
| update t1 set b = b + 1 where b > 4 and b < 7;
 | |
| select * from t1 order by a;
 | |
| -- Update primary key
 | |
| update t1 set a = a + 10 where b > 1 and b < 7;
 | |
| select * from t1 order by a;
 | |
| 
 | |
| #
 | |
| # Delete using ordered index scan
 | |
| #
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a int unsigned NOT NULL PRIMARY KEY,
 | |
|   b int unsigned not null,
 | |
|   c int unsigned,
 | |
|   KEY(b)	
 | |
| ) engine=ndbcluster;
 | |
| 
 | |
| insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
 | |
| 
 | |
| delete from t1 where b = 3;
 | |
| select * from t1 order by a;
 | |
| delete from t1 where b >= 6;
 | |
| select * from t1 order by a;
 | |
| delete from t1 where b < 4;
 | |
| select * from t1 order by a;
 | |
| delete from t1 where b > 5;
 | |
| select * from t1 order by a;
 | |
| delete from t1 where b <= 4;
 | |
| select * from t1 order by a;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| 
 | |
| #
 | |
| #multi part key
 | |
| #
 | |
| CREATE TABLE t1 (
 | |
|   a int unsigned NOT NULL PRIMARY KEY,
 | |
|   b int unsigned not null,
 | |
|   c int unsigned not null
 | |
| ) engine = ndb;
 | |
| 
 | |
| create index a1 on t1 (b, c);
 | |
| 
 | |
| insert into t1 values (1, 2, 13);
 | |
| insert into t1 values (2,3, 13);
 | |
| insert into t1 values (3, 4, 12);
 | |
| insert into t1 values (4, 5, 12);
 | |
| insert into t1 values (5,6, 12);
 | |
| insert into t1 values (6,7, 12);
 | |
| insert into t1 values (7, 2, 1);
 | |
| insert into t1 values (8,3, 6);
 | |
| insert into t1 values (9, 4, 12);
 | |
| insert into t1 values (14, 5, 4);
 | |
| insert into t1 values (15,5,5);
 | |
| insert into t1 values (16,5, 6);
 | |
| insert into t1 values (17,4,4);
 | |
| insert into t1 values (18,1, 7);
 | |
| 
 | |
| 
 | |
| 
 | |
| select * from t1 order by a;
 | |
| select * from t1 where b<=5 order by a;
 | |
| select * from t1 where b<=5 and c=0;
 | |
| insert into t1 values (19,4, 0);
 | |
| select * from t1 where b<=5 and c=0;
 | |
| select * from t1 where b=4 and c<=5 order by a;
 | |
| select * from t1 where b<=4 and c<=5 order by a;
 | |
| select * from t1 where b<=5 and c=0 or b<=5 and c=2;
 | |
| 
 | |
| select count(*) from t1 where b = 0;
 | |
| select count(*) from t1 where b = 1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Indexing NULL values
 | |
| #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a int unsigned NOT NULL PRIMARY KEY,
 | |
|   b int unsigned,
 | |
|   c int unsigned,
 | |
|   KEY bc(b,c)
 | |
| ) engine = ndb;
 | |
| 
 | |
| insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
 | |
| select * from t1 use index (bc) where b IS NULL order by a;
 | |
| 
 | |
| select * from t1 use index (bc)order by a;
 | |
| select * from t1 use index (bc) order by a;
 | |
| select * from t1 use index (PRIMARY) where b IS NULL order by a;
 | |
| select * from t1 use index (bc) where b IS NULL order by a;
 | |
| select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
 | |
| select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
 | |
| select * from t1 use index (bc) where b < 4 order by a;
 | |
| select * from t1 use index (bc) where b IS NOT NULL order by a;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Order by again, including descending.
 | |
| #
 | |
| 
 | |
| create table t1 (
 | |
|   a int unsigned primary key,
 | |
|   b int unsigned,
 | |
|   c char(10),
 | |
|   key bc (b, c)
 | |
| ) engine=ndb;
 | |
| 
 | |
| insert into t1 values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d'),(5,5,'e');
 | |
| insert into t1 select a*7,10*b,'f' from t1;
 | |
| insert into t1 select a*13,10*b,'g' from t1;
 | |
| insert into t1 select a*17,10*b,'h' from t1;
 | |
| insert into t1 select a*19,10*b,'i' from t1;
 | |
| insert into t1 select a*23,10*b,'j' from t1;
 | |
| insert into t1 select a*29,10*b,'k' from t1;
 | |
| #
 | |
| select b, c from t1 where b <= 10 and c <'f' order by b, c;
 | |
| select b, c from t1 where b <= 10 and c <'f' order by b desc, c desc;
 | |
| #
 | |
| select b, c from t1 where b=4000 and c<'k' order by b, c;
 | |
| select b, c from t1 where b=4000 and c<'k' order by b desc, c desc;
 | |
| select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b, c;
 | |
| select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b desc, c desc;
 | |
| #
 | |
| select min(b), max(b) from t1;
 | |
| #
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Bug #6435
 | |
| CREATE TABLE test1 (
 | |
| SubscrID int(11) NOT NULL auto_increment,
 | |
| UsrID int(11) NOT NULL default '0',
 | |
| PRIMARY KEY  (SubscrID),
 | |
| KEY idx_usrid (UsrID)
 | |
| ) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
 | |
| 
 | |
| INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
 | |
| 
 | |
| CREATE TABLE test2 (
 | |
| SbclID int(11) NOT NULL auto_increment,
 | |
| SbcrID int(11) NOT NULL default '0',
 | |
| PRIMARY KEY  (SbclID),
 | |
| KEY idx_sbcrid (SbcrID)
 | |
| ) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
 | |
| 
 | |
| INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
 | |
| select * from test1 order by 1;
 | |
| select * from test2 order by 1;
 | |
| SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
 | |
| l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
 | |
| drop table test1;
 | |
| drop table test2;
 | |
| 
 | |
| # bug#7424 + bug#7725
 | |
| 
 | |
| create table t1 (
 | |
|   pk int primary key,
 | |
|   dt datetime not null,
 | |
|   da date not null,
 | |
|   ye year not null,
 | |
|   ti time not null,
 | |
|   ts timestamp not null,
 | |
|   index(dt),
 | |
|   index(da),
 | |
|   index(ye),
 | |
|   index(ti),
 | |
|   index(ts)
 | |
| ) engine=ndb;
 | |
| 
 | |
| insert into t1 (pk,dt,da,ye,ti,ts) values
 | |
|   (1, '1901-05-05 23:00:59', '1901-05-05', '1901', '23:00:59', '2001-01-01 23:00:59'),
 | |
|   (2, '1912-09-05 13:00:59', '1912-09-05', '1912', '13:00:59', '2001-01-01 13:00:59'),
 | |
|   (3, '1945-12-31 00:00:00', '1945-12-31', '1945', '00:00:00', '2001-01-01 00:00:00'),
 | |
|   (4, '1955-12-31 00:00:00', '1955-12-31', '1955', '00:00:00', '2001-01-01 00:00:00'),
 | |
|   (5, '1963-06-06 06:06:06', '1963-06-06', '1963', '06:06:06', '2001-01-01 06:06:06'),
 | |
|   (6, '1993-06-06 06:06:06', '1993-06-06', '1993', '06:06:06', '2001-01-01 06:06:06'),
 | |
|   (7, '2001-01-01 10:11:10', '2001-01-01', '2001', '10:11:10', '2001-01-01 10:11:10'),
 | |
|   (8, '2001-01-01 10:11:11', '2001-01-01', '2001', '10:11:11', '2001-01-01 10:11:11'),
 | |
|   (9, '2005-01-31 23:59:59', '2005-01-31', '2005', '23:59:59', '2001-01-01 23:59:59');
 | |
| 
 | |
| # datetime
 | |
| select count(*)-9 from t1 use index (dt) where dt >  '1900-01-01 00:00:00';
 | |
| select count(*)-6 from t1 use index (dt) where dt >= '1955-12-31 00:00:00';
 | |
| select count(*)-5 from t1 use index (dt) where dt >  '1955-12-31 00:00:00';
 | |
| select count(*)-5 from t1 use index (dt) where dt <  '1970-03-03 22:22:22';
 | |
| select count(*)-7 from t1 use index (dt) where dt <  '2001-01-01 10:11:11';
 | |
| select count(*)-8 from t1 use index (dt) where dt <= '2001-01-01 10:11:11';
 | |
| select count(*)-9 from t1 use index (dt) where dt <= '2055-01-01 00:00:00';
 | |
| 
 | |
| # date
 | |
| select count(*)-9 from t1 use index (da) where da >  '1900-01-01';
 | |
| select count(*)-6 from t1 use index (da) where da >= '1955-12-31';
 | |
| select count(*)-5 from t1 use index (da) where da >  '1955-12-31';
 | |
| select count(*)-5 from t1 use index (da) where da <  '1970-03-03';
 | |
| select count(*)-6 from t1 use index (da) where da <  '2001-01-01';
 | |
| select count(*)-8 from t1 use index (da) where da <= '2001-01-02';
 | |
| select count(*)-9 from t1 use index (da) where da <= '2055-01-01';
 | |
| 
 | |
| # year
 | |
| select count(*)-9 from t1 use index (ye) where ye >  '1900';
 | |
| select count(*)-6 from t1 use index (ye) where ye >= '1955';
 | |
| select count(*)-5 from t1 use index (ye) where ye >  '1955';
 | |
| select count(*)-5 from t1 use index (ye) where ye <  '1970';
 | |
| select count(*)-6 from t1 use index (ye) where ye <  '2001';
 | |
| select count(*)-8 from t1 use index (ye) where ye <= '2001';
 | |
| select count(*)-9 from t1 use index (ye) where ye <= '2055';
 | |
| 
 | |
| # time
 | |
| select count(*)-9 from t1 use index (ti) where ti >= '00:00:00';
 | |
| select count(*)-7 from t1 use index (ti) where ti >  '00:00:00';
 | |
| select count(*)-7 from t1 use index (ti) where ti >  '05:05:05';
 | |
| select count(*)-5 from t1 use index (ti) where ti >  '06:06:06';
 | |
| select count(*)-5 from t1 use index (ti) where ti <  '10:11:11';
 | |
| select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
 | |
| select count(*)-8 from t1 use index (ti) where ti <  '23:59:59';
 | |
| select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
 | |
| 
 | |
| # timestamp
 | |
| select count(*)-9 from t1 use index (ts) where ts >= '2001-01-01 00:00:00';
 | |
| select count(*)-7 from t1 use index (ts) where ts >  '2001-01-01 00:00:00';
 | |
| select count(*)-7 from t1 use index (ts) where ts >  '2001-01-01 05:05:05';
 | |
| select count(*)-5 from t1 use index (ts) where ts >  '2001-01-01 06:06:06';
 | |
| select count(*)-5 from t1 use index (ts) where ts <  '2001-01-01 10:11:11';
 | |
| select count(*)-6 from t1 use index (ts) where ts <= '2001-01-01 10:11:11';
 | |
| select count(*)-8 from t1 use index (ts) where ts <  '2001-01-01 23:59:59';
 | |
| select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| # decimal (not the new 5.0 thing)
 | |
| 
 | |
| create table t1 (
 | |
|   a int primary key,
 | |
|   s decimal(12),
 | |
|   t decimal(12, 5),
 | |
|   u decimal(12) unsigned,
 | |
|   v decimal(12, 5) unsigned,
 | |
|   key (s),
 | |
|   key (t),
 | |
|   key (u),
 | |
|   key (v)
 | |
| ) engine=ndb;
 | |
| #
 | |
| insert into t1 values
 | |
|   ( 0, -000000000007, -0000061.00003,  000000000061,  0000965.00042),
 | |
|   ( 1, -000000000007, -0000061.00042,  000000000061,  0000965.00003),
 | |
|   ( 2, -071006035767,  4210253.00024,  000000000001,  0000001.84488),
 | |
|   ( 3,  000000007115,  0000000.77607,  000077350625,  0000018.00013),
 | |
|   ( 4, -000000068391, -0346486.00000,  000000005071,  0005334.00002),
 | |
|   ( 5, -521579890459, -1936874.00001,  000000000154,  0000003.00018),
 | |
|   ( 6, -521579890459, -1936874.00018,  000000000154,  0000003.00001),
 | |
|   ( 7,  000000000333,  0000051.39140,  000000907958,  0788643.08374),
 | |
|   ( 8,  000042731229,  0000009.00000,  000000000009,  6428667.00000),
 | |
|   ( 9, -000008159769,  0000918.00004,  000096951421,  7607730.00008);
 | |
| #
 | |
| select count(*)- 5 from t1 use index (s) where s  < -000000000007;
 | |
| select count(*)- 7 from t1 use index (s) where s <= -000000000007;
 | |
| select count(*)- 2 from t1 use index (s) where s  = -000000000007;
 | |
| select count(*)- 5 from t1 use index (s) where s >= -000000000007;
 | |
| select count(*)- 3 from t1 use index (s) where s  > -000000000007;
 | |
| #
 | |
| select count(*)- 4 from t1 use index (t) where t  < -0000061.00003;
 | |
| select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
 | |
| select count(*)- 1 from t1 use index (t) where t  = -0000061.00003;
 | |
| select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
 | |
| select count(*)- 5 from t1 use index (t) where t  > -0000061.00003;
 | |
| #
 | |
| select count(*)- 2 from t1 use index (u) where u  <  000000000061;
 | |
| select count(*)- 4 from t1 use index (u) where u <=  000000000061;
 | |
| select count(*)- 2 from t1 use index (u) where u  =  000000000061;
 | |
| select count(*)- 8 from t1 use index (u) where u >=  000000000061;
 | |
| select count(*)- 6 from t1 use index (u) where u  >  000000000061;
 | |
| #
 | |
| select count(*)- 5 from t1 use index (v) where v  <  0000965.00042;
 | |
| select count(*)- 6 from t1 use index (v) where v <=  0000965.00042;
 | |
| select count(*)- 1 from t1 use index (v) where v  =  0000965.00042;
 | |
| select count(*)- 5 from t1 use index (v) where v >=  0000965.00042;
 | |
| select count(*)- 4 from t1 use index (v) where v  >  0000965.00042;
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| # bug#7798
 | |
| create table t1(a int primary key, b int not null, index(b));
 | |
| insert into t1 values (1,1), (2,2);
 | |
| connect (con1,localhost,,,test);
 | |
| connect (con2,localhost,,,test);
 | |
| connection con1;
 | |
| set autocommit=0;
 | |
| begin;
 | |
| select count(*) from t1;
 | |
| connection con2;
 | |
| ALTER TABLE t1 ADD COLUMN c int;
 | |
| connection con1;
 | |
| select a from t1 where b = 2;
 | |
| show tables;
 | |
| drop table t1;
 | |
| 
 | |
| # End of 4.1 tests
 |