mariadb/unittest
Vladislav Vaintroub 3bd23b76c5 MDEV-34740 mariadb-import: optimize index and constraint creation
For InnoDB tables, parse the CREATE TABLE statement to defer index and
constraint creation until after data loading. For other storage engines,
the DISABLE/ENABLE KEYS commands achieve similar optimization.

This behavior is controlled by a new option, innodb-optimize-keys
(default: ON), compatible with mydumper.

Additionally, this commit separates the table creation phase from data
loading. Running DDL statements (such as DROP IF EXISTS) in a single
thread avoids the "table not locked" issue from MDEV-34741. As a bonus,
view creation no longer requires a separate step.
2025-01-24 13:15:05 +01:00
..
client MDEV-34740 mariadb-import: optimize index and constraint creation 2025-01-24 13:15:05 +01:00
embedded MDEV-33091 pcre2 headers aren't found on Solaris 2024-09-05 12:14:06 +10:00
examples Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
json_lib Merge 11.7 into main 2025-01-09 13:46:06 +02:00
my_decimal Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
mysys Merge 11.7 into main 2025-01-09 13:46:06 +02:00
mytap MDEV-34740 mariadb-import: optimize index and constraint creation 2025-01-24 13:15:05 +01:00
sql Merge 11.4 into 11.7 2025-01-09 09:41:38 +02:00
strings Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00
README.txt Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl 2006-10-20 22:56:03 +02:00
unit.pl Cleanup Whitespace in unittest/ directory 2024-07-25 00:28:02 +10:00

Unit tests directory structure
------------------------------

This is the current structure of the unit tests.  More directories
will be added over time.

mytap                 Source for the MyTAP library
mysys                 Tests for mysys components
  bitmap-t.c          Unit test for MY_BITMAP
  base64-t.c          Unit test for base64 encoding functions
examples              Example unit tests.
  core-t.c            Example of raising a signal in the middle of the test
		      THIS TEST WILL STOP ALL FURTHER TESTING!
  simple-t.c          Example of a standard TAP unit test
  skip-t.c            Example where some test points are skipped
  skip_all-t.c        Example of a test where the entire test is skipped
  todo-t.c            Example where test contain test points that are TODO
  no_plan-t.c         Example of a test with no plan (avoid this)


Executing unit tests
--------------------

To make and execute all unit tests in the directory:

   make test

Observe that the tests in the examples/ directory are just various
examples of tests and are not expected to pass.


Adding unit tests
-----------------

Add a file with a name of the format "foo-t.c" to the appropriate
directory and add the following to the Makefile.am in that directory
(where ... denotes stuff already there):

  noinst_PROGRAMS = ... foo-t

Note, it's important to have "-t" at the end of the filename, otherwise the
test won't be executed by 'make test' !


Documentation
-------------

The generated documentation is temporarily placed at:

      http://www.kindahl.net/mytap/doc/

I will move it to a better place once I figure out where and how.