mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Test case fixes. mysql-test/r/binlog_multi_engine.result: Result change. mysql-test/r/rpl_ndb_stm_innodb.result: Result change. mysql-test/t/binlog_multi_engine.test: NDB tests only work in MIXED or ROW mode. Adding some cleanup actions. mysql-test/t/loaddata_autocom_ndb.test: NDB requires MIXED or ROW mode. mysql-test/t/ndb_alter_table.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_alter_table2.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_alter_table3.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_autodiscover.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_autodiscover2.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_autodiscover3.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_basic.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_binlog_log_bin.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_binlog_multi.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_bitfield.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_blob.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_blob_partition.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_cache.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_cache2.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_cache_multi.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_cache_multi2.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_charset.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_condition_pushdown.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_config.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_config2.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_cursor.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_database.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_alter.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_backuprestore.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_basic.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_ddl.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_disk2memory.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_dump.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_dd_sql_features.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_gis.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_index.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_index_ordered.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_index_unique.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_insert.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_limit.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_loaddatalocal.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_lock.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_minmax.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_multi.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_partition_error.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_partition_key.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_partition_list.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_partition_range.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_read_multi_range.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_rename.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_replace.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_restore.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_restore_partition.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_restore_print.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_row_format.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_single_user.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_sp.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_subquery.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_temporary.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_transaction.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_trigger.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_truncate.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_types.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_update.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndb_view.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ndbapi.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/ps_7ndb.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/rpl_ndb_commit_afterflush.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/rpl_ndb_innodb_trans.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode. mysql-test/t/rpl_ndb_stm_innodb.test: We need MIXED mode on slave since it is necessary to let the slave switch to row format when executing replicated statements. mysql-test/t/strict_autoinc_5ndb.test: NDB requires MIXED or ROW mode, but will switch to row format automatically, so we only run these tests under ROW mode.
133 lines
6.7 KiB
Plaintext
133 lines
6.7 KiB
Plaintext
-- source include/have_ndb.inc
|
|
-- source include/have_binlog_format_row.inc
|
|
-- source include/not_embedded.inc
|
|
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
CREATE TABLE t1 (
|
|
PORT varchar(16) NOT NULL,
|
|
ACCESSNODE varchar(16) NOT NULL,
|
|
POP varchar(48) NOT NULL,
|
|
ACCESSTYPE int unsigned NOT NULL,
|
|
CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
|
|
PROVIDER varchar(16),
|
|
TEXPIRE int unsigned,
|
|
NUM_IP int unsigned,
|
|
LEASED_NUM_IP int unsigned,
|
|
LOCKED_IP int unsigned,
|
|
STATIC_DNS int unsigned,
|
|
SUSPENDED_SERVICE int unsigned,
|
|
SUSPENDED_REASON int unsigned,
|
|
BGP_COMMUNITY int unsigned,
|
|
INDEX CUSTOMER_ID_INDEX(CUSTOMER_ID),
|
|
INDEX FQPN_INDEX(POP,ACCESSNODE,PORT),
|
|
PRIMARY KEY(POP,ACCESSNODE,PORT,ACCESSTYPE)
|
|
) engine=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES ('port67', 'node78', 'pop98', 1, 'kllopmn', 'pr_43', 121212, 1, 2, 3, 8, NULL, NULL, NULL);
|
|
INSERT INTO t1 VALUES ('port67', 'node78', 'pop99', 2, 'klkighh', 'pr_44', 121213, 3, 3, 6, 7, NULL, NULL, NULL);
|
|
INSERT INTO t1 VALUES ('port79', 'node79', 'pop79', 2, 'kpongfaa', 'pr_44', 981213, 2, 4, 10, 11, 2, 99, 1278);
|
|
|
|
|
|
# Test select using port
|
|
select port, accessnode, pop, accesstype from t1 where port='port67' order by accesstype;
|
|
select port, accessnode, pop, accesstype from t1 where port='foo';
|
|
|
|
# Test select using accessnode
|
|
select port, accessnode, pop, accesstype from t1 where accessnode='node78' order by accesstype;
|
|
select port, accessnode, pop, accesstype from t1 where accessnode='foo';
|
|
|
|
# Test select using pop
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98';
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98';
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98';
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98' order by accesstype;
|
|
# The following two querys will not return any rows since
|
|
# the index used for access is case sensitive
|
|
# They are thus disabled for now
|
|
#select port, accessnode, pop, accesstype from t1 where pop='POP98';
|
|
#select port, accessnode, pop, accesstype from t1 where pop='POP98' order by accesstype;
|
|
select port, accessnode, pop, accesstype from t1 where pop='foo';
|
|
|
|
# Test select using accesstype
|
|
select port, accessnode, pop, accesstype from t1 where accesstype=1;
|
|
select port, accessnode, pop, accesstype from t1 where accesstype=2 order by port;
|
|
select port, accessnode, pop, accesstype from t1 where accesstype=98 order by port;
|
|
|
|
# Test select using customer_id
|
|
# NOTE! customer_id has a INDEX (ordered index in NDB), it's case sensitive!
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='KLLOPMN';
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='kLLoPMn';
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='foo';
|
|
|
|
# Test select using provider
|
|
select port, accessnode, pop, accesstype from t1 where provider='pr_43';
|
|
select port, accessnode, pop, accesstype from t1 where provider='foo';
|
|
|
|
# Test select using texpire
|
|
select port, accessnode from t1 where texpire=121212;
|
|
select port, accessnode from t1 where texpire=2323;
|
|
|
|
# Test select using num_ip
|
|
select port, accessnode, pop, accesstype from t1 where num_ip=1;
|
|
select port, accessnode, pop, accesstype from t1 where num_ip=89;
|
|
|
|
# Test select using leased_num_ip
|
|
select port, accessnode, pop, accesstype from t1 where leased_num_ip=2;
|
|
select port, accessnode, pop, accesstype from t1 where leased_num_ip=89;
|
|
|
|
# Test select using locked_ip
|
|
select port, accessnode, pop, accesstype from t1 where locked_ip=3;
|
|
select port, accessnode, pop, accesstype from t1 where locked_ip=89;
|
|
|
|
# Test select using static_dns
|
|
select port, accessnode, pop, accesstype from t1 where static_dns=8;
|
|
select port, accessnode, pop, accesstype from t1 where static_dns=89;
|
|
|
|
# Test select using suspended_service
|
|
select port, accessnode, pop, accesstype from t1 where suspended_service=8;
|
|
select port, accessnode, pop, accesstype from t1 where suspended_service=89;
|
|
|
|
# Test select using suspended_reason
|
|
select port, accessnode, pop, accesstype from t1 where suspended_reason=NULL;
|
|
select port, accessnode, pop, accesstype from t1 where suspended_reason=89;
|
|
select port, accessnode, pop, accesstype from t1 where suspended_reason=0;
|
|
|
|
# Test select using bgp_community
|
|
select port, accessnode, pop, accesstype from t1 where bgp_community=NULL;
|
|
select port, accessnode, pop, accesstype from t1 where bgp_community=89;
|
|
select port, accessnode, pop, accesstype from t1 where bgp_community=0;
|
|
|
|
# Test select using full primary key
|
|
select port, accessnode, pop, accesstype from t1 where port='port67' and accessnode='node78' and pop='pop98' and accesstype=1;
|
|
select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78' and pop='pop98';
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98' and port='port67' and accesstype=1 and accessnode='node78';
|
|
select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo' and accesstype=99;
|
|
|
|
# Test select using partial primary key
|
|
select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accesstype=1;
|
|
select port, accessnode, pop, accesstype from t1 where accesstype=1 and accessnode='node78' and pop='pop98';
|
|
select port, accessnode, pop, accesstype from t1 where port='port67' and accesstype=1 and accessnode='node78';
|
|
select port, accessnode from t1 where port='foo' and accessnode='foo' and pop='foo';
|
|
|
|
# Test select using CUSTOMER_ID_INDEX
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn';
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=1;
|
|
select port, accessnode, pop, accesstype from t1 where customer_id='kllopmn' and accesstype=2;
|
|
select port, accessnode, pop, accesstype from t1 where accesstype=2 and customer_id='kllopmn';
|
|
|
|
# Test select using FQPN_INDEX
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67';
|
|
#select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' order by accesstype;
|
|
#select port, accessnode, pop, accesstype from t1 where accessnode='node78' and port='port67' and pop='pop98' order by accesstype;
|
|
#select port, accessnode, pop, accesstype from t1 where port='port67' and pop='pop98' and accessnode='node78' order by accesstype;
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='kllopmn';
|
|
select port, accessnode, pop, accesstype from t1 where pop='pop98' and accessnode='node78' and port='port67' and customer_id='foo';
|
|
|
|
drop table t1;
|
|
|
|
# End of 4.1 tests
|