mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
7f452a07dc
into pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint mysql-test/lib/mtr_report.pl: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/suite/binlog/r/binlog_stm_binlog.result: Auto merged mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test: Auto merged mysql-test/suite/ndb/r/ndb_backup_print.result: Auto merged mysql-test/suite/ndb/t/loaddata_autocom_ndb.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table2.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table3.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover2.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover3.test: Auto merged mysql-test/suite/ndb/t/ndb_backup_print.test: Auto merged mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: Auto merged mysql-test/suite/ndb/t/ndb_basic.test: Auto merged mysql-test/suite/ndb/t/ndb_binlog_log_bin.test: Auto merged mysql-test/suite/ndb/t/ndb_binlog_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_bitfield.test: Auto merged mysql-test/suite/ndb/t/ndb_blob.test: Auto merged mysql-test/suite/ndb/t/ndb_blob_partition.test: Auto merged mysql-test/suite/ndb/t/ndb_cache.test: Auto merged mysql-test/suite/ndb/t/ndb_cache2.test: Auto merged mysql-test/suite/ndb/t/ndb_cache_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_cache_multi2.test: Auto merged mysql-test/suite/ndb/t/ndb_charset.test: Auto merged mysql-test/suite/ndb/t/ndb_condition_pushdown.test: Auto merged mysql-test/suite/ndb/t/ndb_config.test: Auto merged mysql-test/suite/ndb/t/ndb_config2.test: Auto merged mysql-test/suite/ndb/t/ndb_cursor.test: Auto merged mysql-test/suite/ndb/t/ndb_database.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_alter.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_backuprestore.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_basic.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_ddl.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_disk2memory.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_dump.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_sql_features.test: Auto merged mysql-test/suite/ndb/t/ndb_gis.test: Auto merged mysql-test/suite/ndb/t/ndb_index.test: Auto merged mysql-test/suite/ndb/t/ndb_index_ordered.test: Auto merged mysql-test/suite/ndb/t/ndb_index_unique.test: Auto merged mysql-test/suite/ndb/t/ndb_insert.test: Auto merged mysql-test/suite/ndb/t/ndb_limit.test: Auto merged mysql-test/suite/ndb/t/ndb_loaddatalocal.test: Auto merged mysql-test/suite/ndb/t/ndb_lock.test: Auto merged mysql-test/suite/ndb/t/ndb_minmax.test: Auto merged mysql-test/suite/ndb/t/ndb_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_error.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_key.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_list.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_range.test: Auto merged mysql-test/suite/ndb/t/ndb_read_multi_range.test: Auto merged mysql-test/suite/ndb/t/ndb_rename.test: Auto merged mysql-test/suite/ndb/t/ndb_replace.test: Auto merged mysql-test/suite/ndb/t/ndb_restore.test: Auto merged mysql-test/suite/ndb/t/ndb_restore_partition.test: Auto merged mysql-test/suite/ndb/t/ndb_restore_print.test: Auto merged mysql-test/suite/ndb/t/ndb_row_format.test: Auto merged mysql-test/suite/ndb/t/ndb_single_user.test: Auto merged mysql-test/suite/ndb/t/ndb_sp.test: Auto merged mysql-test/suite/ndb/t/ndb_subquery.test: Auto merged mysql-test/suite/ndb/t/ndb_temporary.test: Auto merged mysql-test/suite/ndb/t/ndb_transaction.test: Auto merged mysql-test/suite/ndb/t/ndb_trigger.test: Auto merged mysql-test/suite/ndb/t/ndb_truncate.test: Auto merged mysql-test/suite/ndb/t/ndb_types.test: Auto merged mysql-test/suite/ndb/t/ndb_update.test: Auto merged mysql-test/suite/ndb/t/ndb_view.test: Auto merged mysql-test/suite/ndb/t/ndbapi.test: Auto merged mysql-test/suite/ndb/t/ps_7ndb.test: Auto merged mysql-test/suite/ndb/t/strict_autoinc_5ndb.test: Auto merged mysql-test/suite/rpl/r/rpl_000015.result: Auto merged mysql-test/suite/rpl/r/rpl_change_master.result: Auto merged mysql-test/suite/rpl/r/rpl_deadlock_innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_empty_master_crash.result: Auto merged mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: Auto merged mysql-test/suite/rpl/r/rpl_flushlog_loop.result: Auto merged mysql-test/suite/rpl/r/rpl_incident.result: Auto merged mysql-test/suite/rpl/r/rpl_innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: Auto merged mysql-test/suite/rpl/r/rpl_loaddata.result: Auto merged mysql-test/suite/rpl/r/rpl_log_pos.result: Auto merged mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result: Auto merged mysql-test/suite/rpl/r/rpl_redirect.result: Auto merged mysql-test/suite/rpl/r/rpl_replicate_do.result: Auto merged mysql-test/suite/rpl/r/rpl_rotate_logs.result: Auto merged mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result: Auto merged mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: Auto merged mysql-test/suite/rpl/r/rpl_row_log.result: Auto merged mysql-test/suite/rpl/r/rpl_row_log_innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_row_max_relay_size.result: Auto merged mysql-test/suite/rpl/r/rpl_row_reset_slave.result: Auto merged mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: Auto merged mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_row_until.result: Auto merged mysql-test/suite/rpl/r/rpl_server_id1.result: Auto merged mysql-test/suite/rpl/r/rpl_server_id2.result: Auto merged mysql-test/suite/rpl/r/rpl_skip_error.result: Auto merged mysql-test/suite/rpl/r/rpl_slave_status.result: Auto merged mysql-test/suite/rpl/r/rpl_ssl.result: Auto merged mysql-test/suite/rpl/r/rpl_ssl1.result: Auto merged mysql-test/suite/rpl/r/rpl_stm_log.result: Auto merged mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result: Auto merged mysql-test/suite/rpl/r/rpl_stm_reset_slave.result: Auto merged mysql-test/suite/rpl/r/rpl_stm_until.result: Auto merged mysql-test/suite/rpl/r/rpl_udf.result: Auto merged mysql-test/suite/rpl/t/rpl_000015.test: Auto merged mysql-test/suite/rpl/t/rpl_change_master.test: Auto merged mysql-test/suite/rpl/t/rpl_commit_after_flush.test: Auto merged mysql-test/suite/rpl/t/rpl_delete_no_where.test: Auto merged mysql-test/suite/rpl/t/rpl_empty_master_crash.test: Auto merged mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Auto merged mysql-test/suite/rpl/t/rpl_innodb.test: Auto merged mysql-test/suite/rpl/t/rpl_insert_ignore.test: Auto merged mysql-test/suite/rpl/t/rpl_log_pos.test: Auto merged mysql-test/suite/rpl/t/rpl_multi_update2.test: Auto merged mysql-test/suite/rpl/t/rpl_multi_update3.test: Auto merged mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test: Auto merged mysql-test/suite/rpl/t/rpl_redirect.test: Auto merged mysql-test/suite/rpl/t/rpl_relayrotate.test: Auto merged mysql-test/suite/rpl/t/rpl_replicate_do.test: Auto merged mysql-test/suite/rpl/t/rpl_rotate_logs.test: Auto merged mysql-test/suite/rpl/t/rpl_row_001.test: Auto merged mysql-test/suite/rpl/t/rpl_row_UUID.test: Auto merged mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test: Auto merged mysql-test/suite/rpl/t/rpl_row_basic_2myisam.test: Auto merged mysql-test/suite/rpl/t/rpl_row_basic_3innodb.test: Auto merged mysql-test/suite/rpl/t/rpl_row_blob_innodb.test: Auto merged mysql-test/suite/rpl/t/rpl_row_blob_myisam.test: Auto merged mysql-test/suite/rpl/t/rpl_row_charset.test: Auto merged mysql-test/suite/rpl/t/rpl_row_func003.test: Auto merged mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test: Auto merged mysql-test/suite/rpl/t/rpl_row_log.test: Auto merged mysql-test/suite/rpl/t/rpl_row_log_innodb.test: Auto merged mysql-test/suite/rpl/t/rpl_row_sp003.test: Auto merged mysql-test/suite/rpl/t/rpl_row_sp006_InnoDB.test: Auto merged mysql-test/suite/rpl/t/rpl_row_until.test: Auto merged mysql-test/suite/rpl/t/rpl_server_id1.test: Auto merged mysql-test/suite/rpl/t/rpl_server_id2.test: Auto merged mysql-test/suite/rpl/t/rpl_skip_error.test: Auto merged mysql-test/suite/rpl/t/rpl_slave_status.test: Auto merged mysql-test/suite/rpl/t/rpl_ssl.test: Auto merged mysql-test/suite/rpl/t/rpl_ssl1.test: Auto merged mysql-test/suite/rpl/t/rpl_stm_log.test: Auto merged mysql-test/suite/rpl/t/rpl_stm_until.test: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_basic.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_circular.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_basic.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_idempotent.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_2innodb.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_2myisam.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_UUID.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_auto_inc.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_basic.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_blob.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_blob2.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_circular.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_simplex.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_basic.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_partitions.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_ddl.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_delete_nowhere.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_do_db.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_do_table.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_extraCol.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_func003.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_idempotent.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_insert_ignore.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_log.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update2.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_multi_update3.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_relayrotate.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_rep_ignore.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_row_001.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_sp003.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_sp006.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_trig004.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_row_basic_7ndb.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_truncate_7ndb.test: Auto merged BitKeeper/deleted/.del-binlog_row_blackhole.test: Auto merged BitKeeper/deleted/.del-binlog_row_blackhole.result: Auto merged BitKeeper/deleted/.del-ndb_binlog_basic2.result: Auto merged BitKeeper/deleted/.del-ndb_binlog_basic2.test: Auto merged mysql-test/t/disabled.def: Merge
552 lines
16 KiB
Text
552 lines
16 KiB
Text
##############################################################
|
|
# Author: Nikolay
|
|
# Date: 2006-04-01
|
|
# Purpose: Specific Blob and Varchar testing using disk tables.
|
|
##############################################################
|
|
# Create Stored procedures that use disk based tables.
|
|
# Create function that operate on disk based tables.
|
|
# Create triggers that operate on disk based tables.
|
|
# Create views that operate on disk based tables.
|
|
# Try to create FK constraints on disk based tables.
|
|
# Create and use disk based table that use auto inc.
|
|
# Create test that use transaction (commit, rollback)
|
|
# Create large disk base table, do random queries, check cache hits,
|
|
# do same query 10 times check cache hits.
|
|
# Create test that uses COUNT(), SUM(), MAX(), MIN(),
|
|
# NOW(), USER(), ... other built in # SQL functions
|
|
# Create test that uses locks.
|
|
# Create test using truncate.
|
|
##############################################################
|
|
# Author: Jonathan
|
|
# Date: 2006-08-28
|
|
# Change: Remove all the create and drop LFG and TS except
|
|
# The first create and the last drop to make test
|
|
# run faster.
|
|
# In addition, renamed test to be to a name that
|
|
# gives a better idea of what the test is about
|
|
###########################################################
|
|
-- source include/have_ndb.inc
|
|
-- source include/have_binlog_format_row.inc
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS test.t1;
|
|
DROP TABLE IF EXISTS test.t2;
|
|
DROP TABLE IF EXISTS test.t3;
|
|
--enable_warnings
|
|
|
|
#### Copy data from table in one table space to table in ###
|
|
#### different table space. ####
|
|
--echo *****
|
|
--echo **** Copy data from table in one table space to table
|
|
--echo **** in different table space
|
|
--echo *****
|
|
|
|
CREATE LOGFILE GROUP lg
|
|
ADD UNDOFILE './lg_group/undofile.dat'
|
|
INITIAL_SIZE 16M
|
|
UNDO_BUFFER_SIZE = 1M
|
|
ENGINE=NDB;
|
|
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE './table_space1/datafile.dat'
|
|
USE LOGFILE GROUP lg
|
|
INITIAL_SIZE 25M
|
|
ENGINE NDB;
|
|
|
|
CREATE TABLESPACE ts2
|
|
ADD DATAFILE './table_space2/datafile.dat'
|
|
USE LOGFILE GROUP lg
|
|
INITIAL_SIZE 20M
|
|
ENGINE NDB;
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
|
|
|
|
SHOW CREATE TABLE test.t1;
|
|
SHOW CREATE TABLE test.t2;
|
|
|
|
INSERT INTO test.t1 VALUES (1,'111111','aaaaaaaa');
|
|
INSERT INTO test.t1 VALUES (2,'222222','bbbbbbbb');
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
|
|
SELECT * FROM test.t2 ORDER BY a1;
|
|
|
|
DROP TABLE test.t1, test.t2;
|
|
|
|
# populate BLOB field with large data
|
|
|
|
set @vc1 = repeat('a', 200);
|
|
set @vc2 = repeat('b', 500);
|
|
set @vc3 = repeat('c', 1000);
|
|
set @vc4 = repeat('d', 4000);
|
|
|
|
# x0 size 256
|
|
set @x0 = '01234567012345670123456701234567';
|
|
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
|
|
|
|
# b1 length 2000+256
|
|
set @b1 = 'b1';
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@x0);
|
|
# d1 length 3000
|
|
set @d1 = 'dd1';
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
|
|
# b2 length 20000
|
|
set @b2 = 'b2';
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
# d2 length 30000
|
|
set @d2 = 'dd2';
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
select length(@x0),length(@b1),length(@d1) from dual;
|
|
select length(@x0),length(@b2),length(@d2) from dual;
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
CREATE TABLE test.t2 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
|
|
TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
|
|
|
|
SHOW CREATE TABLE test.t1;
|
|
SHOW CREATE TABLE test.t2;
|
|
|
|
INSERT INTO test.t1 VALUES (1,@vc1,@d1);
|
|
INSERT INTO test.t1 VALUES (2,@vc2,@b1);
|
|
INSERT INTO test.t1 VALUES (3,@vc3,@d2);
|
|
INSERT INTO test.t1 VALUES (4,@vc4,@b2);
|
|
|
|
SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
|
|
FROM test.t1 WHERE a1=1;
|
|
SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
|
|
FROM test.t1 where a1=2;
|
|
|
|
INSERT INTO test.t2(a1,a2,a3) SELECT * FROM test.t1;
|
|
SELECT a1,length(a2),substr(a2,180,2),length(a3),substr(a3,1+3*900,3)
|
|
FROM test.t2 WHERE a1=1;
|
|
SELECT a1,length(a2),substr(a2,480,2),length(a3),substr(a3,1+2*900,3)
|
|
FROM test.t2 where a1=2;
|
|
|
|
|
|
DROP TABLE test.t1, test.t2;
|
|
|
|
#### Insert, Update, Delete from NDB table with BLOB fields ####
|
|
--echo *****
|
|
--echo **** Insert, Update, Delete from NDB table with BLOB fields
|
|
--echo *****
|
|
|
|
set @vc1 = repeat('a', 200);
|
|
set @vc2 = repeat('b', 500);
|
|
set @vc3 = repeat('c', 1000);
|
|
set @vc4 = repeat('d', 4000);
|
|
set @vc5 = repeat('d', 5000);
|
|
|
|
set @bb1 = repeat('1', 2000);
|
|
set @bb2 = repeat('2', 5000);
|
|
set @bb3 = repeat('3', 10000);
|
|
set @bb4 = repeat('4', 40000);
|
|
set @bb5 = repeat('5', 50000);
|
|
|
|
select length(@vc1),length(@vc2),length(@vc3),length(@vc4),length(@vc5)
|
|
from dual;
|
|
select length(@bb1),length(@bb2),length(@bb3),length(@bb4),length(@bb5)
|
|
from dual;
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(5000), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
# CREATE TABLE test.t2 (a1 int NOT NULL, a2 VARCHAR(5000), a3 BLOB)
|
|
# TABLESPACE ts2 STORAGE DISK ENGINE=NDB;
|
|
|
|
INSERT INTO test.t1 VALUES (1,@vc1,@bb1);
|
|
INSERT INTO test.t1 VALUES (2,@vc2,@bb2);
|
|
INSERT INTO test.t1 VALUES (3,@vc3,@bb3);
|
|
INSERT INTO test.t1 VALUES (4,@vc4,@bb4);
|
|
INSERT INTO test.t1 VALUES (5,@vc5,@bb5);
|
|
|
|
UPDATE test.t1 SET a2=@vc5, a3=@bb5 WHERE a1=1;
|
|
SELECT a1,length(a2),substr(a2,4998,2),length(a3),substr(a3,49997,3)
|
|
FROM test.t1 WHERE a1=1;
|
|
|
|
UPDATE test.t1 SET a2=@vc4, a3=@bb4 WHERE a1=2;
|
|
SELECT a1,length(a2),substr(a2,3998,2),length(a3),substr(a3,39997,3)
|
|
FROM test.t1 WHERE a1=2;
|
|
|
|
UPDATE test.t1 SET a2=@vc2, a3=@bb2 WHERE a1=3;
|
|
SELECT a1,length(a2),substr(a2,498,2),length(a3),substr(a3,3997,3)
|
|
FROM test.t1 WHERE a1=3;
|
|
|
|
UPDATE test.t1 SET a2=@vc3, a3=@bb3 WHERE a1=4;
|
|
SELECT a1,length(a2),substr(a2,998,2),length(a3),substr(a3,9997,3)
|
|
FROM test.t1 WHERE a1=4;
|
|
|
|
UPDATE test.t1 SET a2=@vc1, a3=@bb1 WHERE a1=5;
|
|
SELECT a1,length(a2),substr(a2,198,2),length(a3),substr(a3,1997,3)
|
|
FROM test.t1 WHERE a1=5;
|
|
|
|
DELETE FROM test.t1 where a1=5;
|
|
SELECT count(*) from test.t1;
|
|
DELETE FROM test.t1 where a1=4;
|
|
SELECT count(*) from test.t1;
|
|
DELETE FROM test.t1 where a1=3;
|
|
SELECT count(*) from test.t1;
|
|
DELETE FROM test.t1 where a1=2;
|
|
SELECT count(*) from test.t1;
|
|
DELETE FROM test.t1 where a1=1;
|
|
SELECT count(*) from test.t1;
|
|
|
|
DROP TABLE test.t1;
|
|
|
|
##### Create Stored procedures that use disk based tables #####
|
|
--echo *****
|
|
--echo **** Create Stored procedures that use disk based tables
|
|
--echo *****
|
|
|
|
delimiter //;
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB//
|
|
CREATE PROCEDURE test.sp1()
|
|
BEGIN
|
|
INSERT INTO test.t1 values (1,'111111','aaaaaaaa');
|
|
END//
|
|
delimiter ;//
|
|
|
|
CALL test.sp1();
|
|
SELECT * FROM test.t1;
|
|
|
|
delimiter //;
|
|
CREATE PROCEDURE test.sp2(n INT, vc VARCHAR(256), blb BLOB)
|
|
BEGIN
|
|
UPDATE test.t1 SET a2=vc, a3=blb where a1=n;
|
|
END//
|
|
delimiter ;//
|
|
|
|
CALL test.sp2(1,'222222','bbbbbbbb');
|
|
SELECT * FROM test.t1;
|
|
|
|
DELETE FROM test.t1;
|
|
DROP PROCEDURE test.sp1;
|
|
DROP PROCEDURE test.sp2;
|
|
DROP TABLE test.t1;
|
|
|
|
|
|
#### Create function that operate on disk based tables ####
|
|
--echo *****
|
|
--echo ***** Create function that operate on disk based tables
|
|
--echo *****
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
let $1=100;
|
|
disable_query_log;
|
|
while ($1)
|
|
{
|
|
eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
|
|
delimiter //;
|
|
CREATE FUNCTION test.fn1(n INT) RETURNS INT
|
|
BEGIN
|
|
DECLARE v INT;
|
|
SELECT a1 INTO v FROM test.t1 WHERE a1=n;
|
|
RETURN v;
|
|
END//
|
|
delimiter ;//
|
|
|
|
delimiter //;
|
|
CREATE FUNCTION test.fn2(n INT, blb BLOB) RETURNS BLOB
|
|
BEGIN
|
|
DECLARE vv BLOB;
|
|
UPDATE test.t1 SET a3=blb where a1=n;
|
|
SELECT a3 INTO vv FROM test.t1 WHERE a1=n;
|
|
RETURN vv;
|
|
END//
|
|
delimiter ;//
|
|
|
|
SELECT test.fn1(10) FROM DUAL;
|
|
SELECT test.fn2(50, 'new BLOB content') FROM DUAL;
|
|
|
|
DELETE FROM test.t1;
|
|
DROP FUNCTION test.fn1;
|
|
DROP FUNCTION test.fn2;
|
|
DROP TABLE test.t1;
|
|
|
|
#### Create triggers that operate on disk based tables ####
|
|
--echo *****
|
|
--echo ***** Create triggers that operate on disk based tables
|
|
--echo *****
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
|
|
delimiter //;
|
|
CREATE TRIGGER test.trg1 BEFORE INSERT ON test.t1 FOR EACH ROW
|
|
BEGIN
|
|
if isnull(new.a2) then
|
|
set new.a2:= 'trg1 works on a2 field';
|
|
end if;
|
|
if isnull(new.a3) then
|
|
set new.a3:= 'trg1 works on a3 field';
|
|
end if;
|
|
end//
|
|
insert into test.t1 (a1) values (1)//
|
|
insert into test.t1 (a1,a2) values (2, 'ccccccc')//
|
|
select * from test.t1 order by a1//
|
|
delimiter ;//
|
|
|
|
DELETE FROM test.t1;
|
|
DROP TRIGGER test.trg1;
|
|
DROP TABLE test.t1;
|
|
|
|
#### Create, update views that operate on disk based tables ####
|
|
--echo *****
|
|
--echo ***** Create, update views that operate on disk based tables
|
|
--echo *****
|
|
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
let $1=10;
|
|
disable_query_log;
|
|
while ($1)
|
|
{
|
|
eval insert into test.t1 values($1, "aaaaa$1", "bbbbb$1");
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
CREATE VIEW test.v1 AS SELECT * FROM test.t1;
|
|
SELECT * FROM test.v1 order by a1;
|
|
CHECK TABLE test.v1, test.t1;
|
|
|
|
UPDATE test.v1 SET a2='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' WHERE a1=5;
|
|
SELECT * FROM test.v1 order by a1;
|
|
|
|
DROP VIEW test.v1;
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
|
|
#### Create and use disk based table that use auto inc ####
|
|
--echo *****
|
|
--echo ***** Create and use disk based table that use auto inc
|
|
--echo *****
|
|
|
|
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
let $1=10;
|
|
disable_query_log;
|
|
while ($1)
|
|
{
|
|
eval insert into test.t1 values(NULL, "aaaaa$1", "bbbbb$1");
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
|
|
|
|
#### Create test that use transaction (commit, rollback) ####
|
|
--echo *****
|
|
--echo ***** Create test that use transaction (commit, rollback)
|
|
--echo *****
|
|
|
|
SET AUTOCOMMIT=0;
|
|
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
|
|
COMMIT;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
|
|
ROLLBACK;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
SET AUTOCOMMIT=1;
|
|
|
|
# Now do the same thing with START TRANSACTION without using AUTOCOMMIT.
|
|
|
|
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
|
|
START TRANSACTION;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
|
|
COMMIT;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
|
|
START TRANSACTION;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
|
|
ROLLBACK;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
|
|
#### Create test that uses locks ####
|
|
--echo *****
|
|
--echo ***** Create test that uses locks
|
|
--echo *****
|
|
|
|
connect (con1,localhost,root,,);
|
|
connect (con2,localhost,root,,);
|
|
|
|
# connection con1;
|
|
--disable_warnings
|
|
drop table if exists test.t1;
|
|
CREATE TABLE test.t1 (a1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
a2 VARCHAR(256), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
--enable_warnings
|
|
|
|
LOCK TABLES test.t1 write;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa1", "bbbbb1");
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa2", "bbbbb2");
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
|
|
connection con2;
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
|
|
|
|
connection con1;
|
|
UNLOCK TABLES;
|
|
|
|
connection con2;
|
|
INSERT INTO test.t1 VALUES(NULL, "aaaaa3", "bbbbb3");
|
|
SELECT * FROM test.t1 ORDER BY a1;
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
|
|
#connection defualt;
|
|
|
|
#### Create large disk base table, do random queries, check cache hits ####
|
|
--echo *****
|
|
--echo ***** Create large disk base table, do random queries, check cache hits
|
|
--echo *****
|
|
|
|
set @vc1 = repeat('a', 200);
|
|
SELECT @vc1 FROM DUAL;
|
|
set @vc2 = repeat('b', 500);
|
|
set @vc3 = repeat('b', 998);
|
|
|
|
# x0 size 256
|
|
set @x0 = '01234567012345670123456701234567';
|
|
set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
|
|
|
|
# b1 length 2000+256 (blob part aligned)
|
|
set @b1 = 'b1';
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
|
|
set @b1 = concat(@b1,@x0);
|
|
# d1 length 3000
|
|
set @d1 = 'dd1';
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
|
|
|
|
# b2 length 20000
|
|
set @b2 = 'b2';
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
|
|
# d2 length 30000
|
|
set @d2 = 'dd2';
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
|
|
|
|
select length(@x0),length(@b1),length(@d1) from dual;
|
|
select length(@x0),length(@b2),length(@d2) from dual;
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(1000), a3 BLOB)
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
|
|
INSERT INTO test.t1 values(1,@vc1,@d1);
|
|
INSERT INTO test.t1 values(2,@vc2,@d2);
|
|
--replace_column 9 #
|
|
explain SELECT * from test.t1 WHERE a1 = 1;
|
|
|
|
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
|
|
FROM test.t1 WHERE a1=1 ORDER BY a1;
|
|
SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
|
|
FROM test.t1 where a1=2 ORDER BY a1;
|
|
|
|
UPDATE test.t1 set a2=@vc2,a3=@d2 where a1=1;
|
|
UPDATE test.t1 set a2=@vc1,a3=@d1 where a1=2;
|
|
|
|
SELECT a1,length(a2),substr(a2,1+2*9000,2),length(a3),substr(a3,1+3*9000,3)
|
|
FROM test.t1 where a1=1;
|
|
SELECT a1,length(a2),substr(a2,1+2*900,2),length(a3),substr(a3,1+3*900,3)
|
|
FROM test.t1 where a1=2;
|
|
|
|
#SHOW VARIABLES LIKE 'have_query_cache';
|
|
#SHOW STATUS LIKE 'Qcache%';
|
|
|
|
DELETE FROM test.t1;
|
|
DROP TABLE test.t1;
|
|
|
|
#### Create test that uses COUNT(), SUM(), MAX(), ####
|
|
##### MIN(), NOW(), USER(), TRUNCATE ####
|
|
--echo *****
|
|
--echo ***** Create test that uses COUNT(), SUM(), MAX(), MIN(), NOW(),
|
|
--echo ***** USER(), TRUNCATE
|
|
--echo *****
|
|
|
|
CREATE TABLE test.t1 (a1 int NOT NULL PRIMARY KEY, a2 VARCHAR(256),
|
|
a3 BLOB, a4 DATE, a5 CHAR(250))
|
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB;
|
|
let $1=100;
|
|
disable_query_log;
|
|
while ($1)
|
|
{
|
|
eval insert into test.t1 values($1, "aaaaaaaaaaaaaaaa$1",
|
|
"bbbbbbbbbbbbbbbbbb$1", '2006-06-20' , USER());
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
|
|
SELECT COUNT(*) from test.t1;
|
|
SELECT SUM(a1) from test.t1;
|
|
SELECT MIN(a1) from test.t1;
|
|
SELECT MAX(a1) from test.t1;
|
|
SELECT a5 from test.t1 where a1=50;
|
|
|
|
|
|
SELECT * from test.t1 order by a1;
|
|
|
|
DROP TABLE test.t1;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE './table_space1/datafile.dat'
|
|
ENGINE=NDB;
|
|
DROP TABLESPACE ts1 ENGINE=NDB;
|
|
|
|
ALTER TABLESPACE ts2
|
|
DROP DATAFILE './table_space2/datafile.dat'
|
|
ENGINE=NDB;
|
|
DROP TABLESPACE ts2 ENGINE=NDB;
|
|
|
|
DROP LOGFILE GROUP lg
|
|
ENGINE=NDB;
|
|
|
|
|
|
#End 5.1 test case
|
|
|