Commit 4908dec7 authored by unknown's avatar unknown
Browse files

objects is only for internal use.


BitKeeper/deleted/.del-README.txt~97cdd3dccd3539d2:
  Delete: mysql-test/suite/objects/README.txt
BitKeeper/deleted/.del-drop_all.inc:
  Delete: mysql-test/suite/objects/include/drop_all.inc
BitKeeper/deleted/.del-objects.inc:
  Delete: mysql-test/suite/objects/include/objects.inc
BitKeeper/deleted/.del-tbl01.inc:
  Delete: mysql-test/suite/objects/include/tbl01.inc
BitKeeper/deleted/.del-tbl02.inc:
  Delete: mysql-test/suite/objects/include/tbl02.inc
BitKeeper/deleted/.del-tbl03.inc:
  Delete: mysql-test/suite/objects/include/tbl03.inc
BitKeeper/deleted/.del-tbl04.inc:
  Delete: mysql-test/suite/objects/include/tbl04.inc
BitKeeper/deleted/.del-tbl05.inc:
  Delete: mysql-test/suite/objects/include/tbl05.inc
BitKeeper/deleted/.del-tbl06.inc:
  Delete: mysql-test/suite/objects/include/tbl06.inc
BitKeeper/deleted/.del-tbl07.inc:
  Delete: mysql-test/suite/objects/include/tbl07.inc
BitKeeper/deleted/.del-tbl08.inc:
  Delete: mysql-test/suite/objects/include/tbl08.inc
BitKeeper/deleted/.del-tbl09.inc:
  Delete: mysql-test/suite/objects/include/tbl09.inc
BitKeeper/deleted/.del-tbl10.inc:
  Delete: mysql-test/suite/objects/include/tbl10.inc
BitKeeper/deleted/.del-tbl11.inc:
  Delete: mysql-test/suite/objects/include/tbl11.inc
BitKeeper/deleted/.del-tbl12.inc:
  Delete: mysql-test/suite/objects/include/tbl12.inc
BitKeeper/deleted/.del-tbl13.inc:
  Delete: mysql-test/suite/objects/include/tbl13.inc
BitKeeper/deleted/.del-tbl14.inc:
  Delete: mysql-test/suite/objects/include/tbl14.inc
BitKeeper/deleted/.del-tbl15.inc:
  Delete: mysql-test/suite/objects/include/tbl15.inc
BitKeeper/deleted/.del-tbl16.inc:
  Delete: mysql-test/suite/objects/include/tbl16.inc
BitKeeper/deleted/.del-tbl17.inc:
  Delete: mysql-test/suite/objects/include/tbl17.inc
BitKeeper/deleted/.del-tbl18.inc:
  Delete: mysql-test/suite/objects/include/tbl18.inc
BitKeeper/deleted/.del-tbl19.inc:
  Delete: mysql-test/suite/objects/include/tbl19.inc
BitKeeper/deleted/.del-tbl20.inc:
  Delete: mysql-test/suite/objects/include/tbl20.inc
BitKeeper/deleted/.del-tbl21.inc:
  Delete: mysql-test/suite/objects/include/tbl21.inc
BitKeeper/deleted/.del-tbl22.inc:
  Delete: mysql-test/suite/objects/include/tbl22.inc
BitKeeper/deleted/.del-tbl23.inc:
  Delete: mysql-test/suite/objects/include/tbl23.inc
BitKeeper/deleted/.del-tbl24.inc:
  Delete: mysql-test/suite/objects/include/tbl24.inc
BitKeeper/deleted/.del-tbl25.inc:
  Delete: mysql-test/suite/objects/include/tbl25.inc
BitKeeper/deleted/.del-tbl26.inc:
  Delete: mysql-test/suite/objects/include/tbl26.inc
BitKeeper/deleted/.del-tbl27.inc:
  Delete: mysql-test/suite/objects/include/tbl27.inc
BitKeeper/deleted/.del-tbl28.inc:
  Delete: mysql-test/suite/objects/include/tbl28.inc
BitKeeper/deleted/.del-tbl29.inc:
  Delete: mysql-test/suite/objects/include/tbl29.inc
BitKeeper/deleted/.del-tbl30.inc:
  Delete: mysql-test/suite/objects/include/tbl30.inc
BitKeeper/deleted/.del-tbl31.inc:
  Delete: mysql-test/suite/objects/include/tbl31.inc
BitKeeper/deleted/.del-tbl32.inc:
  Delete: mysql-test/suite/objects/include/tbl32.inc
BitKeeper/deleted/.del-tbl33.inc:
  Delete: mysql-test/suite/objects/include/tbl33.inc
BitKeeper/deleted/.del-tbl34.inc:
  Delete: mysql-test/suite/objects/include/tbl34.inc
BitKeeper/deleted/.del-tbl35.inc:
  Delete: mysql-test/suite/objects/include/tbl35.inc
BitKeeper/deleted/.del-tbl36.inc:
  Delete: mysql-test/suite/objects/include/tbl36.inc
BitKeeper/deleted/.del-tbl37.inc:
  Delete: mysql-test/suite/objects/include/tbl37.inc
BitKeeper/deleted/.del-tbl38.inc:
  Delete: mysql-test/suite/objects/include/tbl38.inc
BitKeeper/deleted/.del-tbl39.inc:
  Delete: mysql-test/suite/objects/include/tbl39.inc
BitKeeper/deleted/.del-tbl40.inc:
  Delete: mysql-test/suite/objects/include/tbl40.inc
BitKeeper/deleted/.del-tbl41.inc:
  Delete: mysql-test/suite/objects/include/tbl41.inc
BitKeeper/deleted/.del-tbl42.inc:
  Delete: mysql-test/suite/objects/include/tbl42.inc
BitKeeper/deleted/.del-tbl43.inc:
  Delete: mysql-test/suite/objects/include/tbl43.inc
BitKeeper/deleted/.del-tbl44.inc:
  Delete: mysql-test/suite/objects/include/tbl44.inc
BitKeeper/deleted/.del-tbl45.inc:
  Delete: mysql-test/suite/objects/include/tbl45.inc
BitKeeper/deleted/.del-tbl46.inc:
  Delete: mysql-test/suite/objects/include/tbl46.inc
BitKeeper/deleted/.del-tbl47.inc:
  Delete: mysql-test/suite/objects/include/tbl47.inc
BitKeeper/deleted/.del-tbl48.inc:
  Delete: mysql-test/suite/objects/include/tbl48.inc
BitKeeper/deleted/.del-view.inc:
  Delete: mysql-test/suite/objects/include/view.inc
BitKeeper/deleted/.del-objects_falcon.result:
  Delete: mysql-test/suite/objects/r/objects_falcon.result
BitKeeper/deleted/.del-objects_falcon.test:
  Delete: mysql-test/suite/objects/t/objects_falcon.test
BitKeeper/deleted/.del-objects_innodb.result:
  Delete: mysql-test/suite/objects/r/objects_innodb.result
BitKeeper/deleted/.del-objects_innodb.test:
  Delete: mysql-test/suite/objects/t/objects_innodb.test
parent aedf161d
Loading
Loading
Loading
Loading
+0 −139
Original line number Diff line number Diff line
Objects test suite
~~~~~~~~~~~~~~~~~~
Create 49166 objects in a database and drop the database afterwards.

1 Quick overview
2 Detailed overview
3 Further testing scenarios
4 Detailed run times

1 Quick overview
~~~~~~~~~~~~~~~~
1.1 What is tested?
A database with 49166 objects (tables and views) is created. The
database is dropped afterwards. Only DDL statements are used. No
data is loaded at all.

1.2 Steps of the test
- CREATE SCHEMA.
- Populate 49166 objects.
- Check the objects with SHOW TABLES.
- Check the output of one SHOW CREATE TABLE.
- DROP SCHEMA.

1.3 How to run the test
Run objects test:
./mysql-test-run.pl --skip-ndb --suite=objects

If one experiences time out problems, please use
  --testcase-timeout=3600 --suite-timeout=3600

Run objects test with Falcon storage engine only:
- Run time. No run time due to crash.
- Space requirements ~1.3 GB.
./mysql-test-run.pl --skip-ndb --suite=objects --do-test=objects_falcon

To avoid time out on Falcon storage engine use
./mysql-test-run.pl --skip-ndb --testcase-timeout=3600 --suite-timeout=3600 \
--suite=objects --do-test=objects_falcon

Run objects test with InnoDB storage engine only.
- Run time ~100 minutes.
- Space requirements ~1.5 GB.
./mysql-test-run.pl --skip-ndb --suite=objects --do-test=objects_innodb


2 Detailed overview
~~~~~~~~~~~~~~~~~~~
2.1 Background of this test
The motivation of this test is rooted in the SAP porting project. To
run SAP specific tests one has to create a small database (~17000 tables
and views) or depending on the tests to be run a big database (~50000
tables and views).
   The SAP porting team tested various storage engines and found out
that prior to running the SAP tests the loading of the required data
often lead to problems and crashes in the database server.
   As the initial data loading for a SAP test is around 5 GB the DDL
part of the data loading was stripped out. 
   A successful run of this test can be followed by a R3load test (data
loading with a SAP tool), to see whether the storage engine can handle
the rather huge amount of data and to measure the performance while
loading the data.

2.2 Usage in a given bk tree
If one wants to test in a give bk tree, lets say 5.1-falcon, one can
either copy or soft link this suite into the mysql-test/suite/
folder. We recommend a soft link:
  ln -s <path_to>/mysql-test-extra-5.1/mysql-test/suite/objects \
  <path_to>/mysql-5.1-falcon/mysql-test/suite

2.3 What kind of objects?
Although, the number of 49166 objects sounds huge only tables and
views are created. Please note, that this test does not create:
- Stored procedures.
- Foreign keys.
- Triggers.
- Events.
   This means, that this test suite has a potential for improvement
by adding further objects like stored procedures, foreign keys,
triggers, or events.


3 Further testing scenarios
~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.1 Testing the functionality and performance of our INFORMATION_SCHEMA
Tests on INFORMATION_SCHEMA can be done by disabling the DROP SCHEMA at
the end of the test by setting the variable $drop_database to 0 (zero):
  let $drop_database= 0;
This can be done in the objects_<engine_type>.test file.
   Performance tests with huge amount of tables and views can be done by
generating the objects several time in different databases.

3.2 DDL Performance
The run time of this test can be used as an indicator for DDL performance
of the engine.

3.3 ALTER TABLE performance
After object creation an ALTER TABLE <table_name> Engine <other_engine>
can be done.


4 Detailed run times
~~~~~~~~~~~~~~~~~~~~
Run times and storage requirements.

Without DROP SCHEMA:             With DROP SCHEMA
- InnoDB on my laptop:
real    36m25.700s               real    100m17.541s
531M    OBJECTS_TEST
du -h ib*
891M    ibdata1
5.1M    ib_logfile0
5.1M    ib_logfile1

- Falcon on my laptop:
real    106m22.480s              real    374m49.860s
531M    OBJECTS_TEST
du -h OBJECTS_TEST.n*
609M    OBJECTS_TEST.ndb
42M     OBJECTS_TEST.nl1
115M    OBJECTS_TEST.nl2

- InnoDB on faster machine:
real    10m58.265s               real    78m26.733s
531M    OBJECTS_TEST/
du -h  ib*
891M    ibdata1
5.1M    ib_logfile0
5.1M    ib_logfile1

- Falcon on faster machine:
real    25m49.409s               real    162m32.852s
531M    OBJECTS_TEST
du -h  OBJECTS_TEST.n*
609M    OBJECTS_TEST.ndb
86M     OBJECTS_TEST.nl1
72M     OBJECTS_TEST.nl2

--
Hakan Kuecuekyilmaz <hakan at mysql dot com>, 2006-08-18.
+0 −2
Original line number Diff line number Diff line
DROP SCHEMA OBJECTS_TEST;
+0 −97
Original line number Diff line number Diff line
# +--------------------------------------------------------------------+
# |                         FOR INTERNAL USE ONLY!                     |
# +--------------------------------------------------------------------+
# |                             objects.inc                            |
# |                        Copyright 2006 by MySQL AB                  |
# +--------------------------------------------------------------------+
# |                         FOR INTERNAL USE ONLY!                     |
# +--------------------------------------------------------------------+

#
# Here we set the desired storage engine.
#
eval SET SESSION storage_engine = $engine_type;

# Verify that setting storage engine worked.
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a int);
SHOW CREATE TABLE t1;

# Final cleanup.
DROP TABLE t1;

#
# Create the objects.
#
--disable_query_log
--disable_warnings
SET sql_mode = "ANSI_QUOTES,NO_BACKSLASH_ESCAPES,TRADITIONAL,IGNORE_SPACE";
DROP SCHEMA IF EXISTS OBJECTS_TEST;
--enable_warnings
CREATE SCHEMA OBJECTS_TEST;
USE OBJECTS_TEST;

--source suite/objects/include/tbl01.inc
--source suite/objects/include/tbl02.inc
--source suite/objects/include/tbl03.inc
--source suite/objects/include/tbl04.inc
--source suite/objects/include/tbl05.inc
--source suite/objects/include/tbl06.inc
--source suite/objects/include/tbl07.inc
--source suite/objects/include/tbl08.inc
--source suite/objects/include/tbl09.inc
--source suite/objects/include/tbl10.inc
--source suite/objects/include/tbl11.inc
--source suite/objects/include/tbl12.inc
--source suite/objects/include/tbl13.inc
--source suite/objects/include/tbl14.inc
--source suite/objects/include/tbl15.inc
--source suite/objects/include/tbl16.inc
--source suite/objects/include/tbl17.inc
--source suite/objects/include/tbl18.inc
--source suite/objects/include/tbl19.inc
--source suite/objects/include/tbl20.inc
--source suite/objects/include/tbl21.inc
--source suite/objects/include/tbl22.inc
--source suite/objects/include/tbl23.inc
--source suite/objects/include/tbl24.inc
--source suite/objects/include/tbl25.inc
--source suite/objects/include/tbl26.inc
--source suite/objects/include/tbl27.inc
--source suite/objects/include/tbl28.inc
--source suite/objects/include/tbl29.inc
--source suite/objects/include/tbl30.inc
--source suite/objects/include/tbl31.inc
--source suite/objects/include/tbl32.inc
--source suite/objects/include/tbl33.inc
--source suite/objects/include/tbl34.inc
--source suite/objects/include/tbl35.inc
--source suite/objects/include/tbl36.inc
--source suite/objects/include/tbl37.inc
--source suite/objects/include/tbl38.inc
--source suite/objects/include/tbl39.inc
--source suite/objects/include/tbl40.inc
--source suite/objects/include/tbl41.inc
--source suite/objects/include/tbl42.inc
--source suite/objects/include/tbl43.inc
--source suite/objects/include/tbl44.inc
--source suite/objects/include/tbl45.inc
--source suite/objects/include/tbl46.inc
--source suite/objects/include/tbl47.inc
--source suite/objects/include/tbl48.inc
--source suite/objects/include/view.inc

--enable_query_log

SHOW TABLES;
SHOW CREATE TABLE AAABLQUS;

--disable_query_log
if ($drop_database)
{
    --source suite/objects/include/drop_all.inc
}
--enable_query_log
+0 −14109

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −12198

File deleted.

Preview size limit exceeded, changes collapsed.

Loading