mariadb/dict
marko 75fe6fa6a4 branches/zip: When creating an index in innodb_strict_mode, check that
the maximum record size will never exceed the B-tree page size limit.
For uncompressed tables, there should always be enough space for two
records in an empty B-tree page.  For compressed tables, there should
be enough space for storing two node pointer records or one data
record in an empty page in uncompressed format.

dict_build_table_def_step(): Remove the inaccurate check for table row
size.

dict_index_too_big_for_tree(): New function: check if the index
records would be too big for a B-tree page.

dict_index_add_to_cache(): Add the parameter "strict".  Invoke
dict_index_too_big_for_tree() if it is set.

trx_is_strict(), thd_is_strict(): New functions, for determining if
innodb_strict_mode is enabled for the current transaction.

dict_create_index_step(): Pass the new parameter strict of
dict_index_add_to_cache() as trx_is_strict(trx).  All other callers
pass it as FALSE.

innodb.test: Enable innodb_strict_mode before attempting to create a
table with a too big record size.

innodb-zip.test: Remove the test of inserting random data.  Add tests
for checking that the maximum record lengths are enforced at table
creation time.
2008-09-18 12:31:17 +00:00
..
dict0boot.c branches/zip: When creating an index in innodb_strict_mode, check that 2008-09-18 12:31:17 +00:00
dict0crea.c branches/zip: When creating an index in innodb_strict_mode, check that 2008-09-18 12:31:17 +00:00
dict0dict.c branches/zip: When creating an index in innodb_strict_mode, check that 2008-09-18 12:31:17 +00:00
dict0load.c branches/zip: When creating an index in innodb_strict_mode, check that 2008-09-18 12:31:17 +00:00
dict0mem.c branches/zip: Implement the configuration parameter and settable global 2008-03-10 11:05:32 +00:00