- 23 Nov, 2007 2 commits
-
-
marko authored
row_upd_index_replace_new_col_vals(): Declare fetch_ext. row_upd_index_replace_new_col_vals_index_pos(): Add a type conversion to the initialization expression of fetch_ext, to avoid a warning about comparison between signed and unsigned.
-
marko authored
column prefix of an externally stored column. row_upd_ext_fetch(): New function. row_upd_index_replace_new_col_vals(), row_upd_index_replace_new_col_vals_index_pos(): Fetch prefixes of externally stored columns when they are needed for column prefix indexes. For memory allocation, add the parameter ext_heap. Avoid repeating the inner loop after finding a matching upd_field->field_no.
-
- 22 Nov, 2007 4 commits
-
-
marko authored
column numbers are relative to the InnoDB table object, or numbers returned by dict_col_get_no(). This will have to be ensured in all calling code.
-
marko authored
make use of dict_index_is_clust().
-
marko authored
numbers are relative to the clustered index record.
-
marko authored
btr_free_externally_stored_field(): Add some page type assertions that were suggested by Sunny.
-
- 21 Nov, 2007 12 commits
-
-
vasil authored
Fix the size of the static buffer for lock_table and lock_index. I was not realizing that NAME_LEN contains the mbmaxlen multiplier and thus a quote, when converted to 2 quotes, will take 2 bytes while there are 3 bytes reserved. Spotted by: Marko Pointyhat to: Vasil
-
vasil authored
Add C test for innobase_convert_name() in addition to the mysql-test one.
-
marko authored
set the "external storage" flag. When parsing the undo log, do not misinterpret a SQL NULL column for externally stored. These bugs were spotted by Heikki and Sunny. trx_undo_page_report_modify(): Set the UNIV_EXTERN_STORAGE_FIELD flag when needed. trx_undo_rec_get_partial_row(): Check for len == UNIV_SQL_NULL.
-
vasil authored
Fix a bug where the static buffer for innodb_locks.lock_table may not have enough space. Pointyhat to: Marko
-
vasil authored
Bugfix1: Set innodb_locks.lock_index to NOT NULL. If a column in INFORMATION_SCHEMA table has the flag MY_I_S_MAYBE_NULL and it is not explicitly marked as NOT NULL with the method ::set_notnull() then it is always rendered as NULL by MySQL. Bugfix2: Avoid crashes if lock_index is NULL. It is NULL for table level locks. Pointyhat to: Marko
-
vasil authored
Non-functional change: Fix consistency of the sizeof() operator with the rest of i_s.cc Pointyhat to: Marko
-
vasil authored
Move test that depends on ucs2 to a separate file that is disabled if ucs2 is not compiled in.
-
vasil authored
Move common SQL commands to an .inc file.
-
vasil authored
Synchronize the utf8 and ucs2 tests.
-
marko authored
innodb_information_schema.test. Add tests that display most columns from INFORMATION_SCHEMA.INNODB_LOCKS. Test that quoting of table names works and respects SQL_MODE='ANSI_QUOTES'. innobase_print_identifier(): Remove. innobase_convert_identifier(): New function, based on innobase_print_identifier(). innobase_convert_name(): New function, similar to ut_print_namel(), but using a memory buffer. ut_print_namel(): Use innobase_convert_name(). fill_innodb_locks_from_cache(): Convert lock_table and lock_index by calling innobase_convert_name().
-
marko authored
-
vasil authored
Convert INFORMATION_SCHEMA tables' names to upper case so that they are consistent with other INFORMATION_SCHEMA tables. mysql> show tables; +---------------------------------------+ | Tables_in_information_schema | +---------------------------------------+ | CHARACTER_SETS | | COLLATIONS | | COLLATION_CHARACTER_SET_APPLICABILITY | | COLUMNS | | COLUMN_PRIVILEGES | | ENGINES | | EVENTS | | FILES | | GLOBAL_STATUS | | GLOBAL_VARIABLES | | KEY_COLUMN_USAGE | | PARTITIONS | | PLUGINS | | PROCESSLIST | | REFERENTIAL_CONSTRAINTS | | ROUTINES | | SCHEMATA | | SCHEMA_PRIVILEGES | | SESSION_STATUS | | SESSION_VARIABLES | | STATISTICS | | TABLES | | TABLE_CONSTRAINTS | | TABLE_PRIVILEGES | | TRIGGERS | | USER_PRIVILEGES | | VIEWS | | innodb_zip_reset | | innodb_trx | | innodb_locks | | innodb_lock_waits | | innodb_zip | +---------------------------------------+
-
- 16 Nov, 2007 3 commits
-
-
marko authored
stored column, subtract UNIV_EXTERN_STORAGE_FIELD from the length of the field.
-
marko authored
-
vasil authored
Implement a limit on the memory used by the INNODB_TRX, INNODB_LOCKS and INNODB_LOCK_WAITS tables. The maximum allowed memory is defined with the macro TRX_I_S_MEM_LIMIT. Approved by: Marko (via IM)
-
- 15 Nov, 2007 1 commit
-
-
marko authored
the wrapper macro page_zip_fail() for displaying error messages. When the error output is enabled (at compile-time), a breakpoint may be set in page_zip_fail_func to easily debug all decompression errors in the context where they occur.
-
- 13 Nov, 2007 2 commits
- 12 Nov, 2007 3 commits
- 09 Nov, 2007 4 commits
-
-
marko authored
use return(DB_...) instead of assigning err = DB_... when possible.
-
marko authored
in page_zip_decompress(). page_zip_decompress_clust(), page_zip_decompress_clust_ext(): Zero-fill the columns DB_TRX_ID and DB_ROLL_PTR on the uncompressed page.
-
marko authored
may contain uninitialized bytes when the space of a deleted record is reused by a shorter record.
-
marko authored
not work in GCC 3.3. It was useful during the development of zip compression, when some placeholder code ignored the return values of some functions.
-
- 07 Nov, 2007 9 commits
-
-
vasil authored
Add the query in information_schema.innodb_trx.trx_query. Add it even though it is available in information_schema.processlist.info to make inconsistencies between those two tables obvious. It is rather confusting to see a transaction shown in innodb_trx and innodb_locks that holds a lock on one table and the corresponding query in processlist executing INSERT on another table. We do not want users to contact us asking to explain that. It is caused by the fact that the data for innodb_* tables and processlist is fetched at different time. Approved by: Marko
-
vasil authored
Fix comment: sync variable name in comment with the actual variable name.
-
vasil authored
Add mysql_addons.(cc|h) to Makefile.am, forgotten in r2072. Pointyhat to: Vasil
-
marko authored
page_zip_get_trailer_len(), page_zip_write_header(): Correct the UNIV_MEM_ASSERT_RW() assertions. page_zip_validate(): Read the validity bits of page, page_zip, and page_zip->data.
-
marko authored
page_zip_decompress(): Assert that the uncompressed page is completely defined. page_zip_validate(): Assert that the compressed and uncompressed pages are completely defined. Fetch the "valid" bits, so that they can be examined when run under valgrind --db-attach=yes.
-
vasil authored
Introduce a generic soultion to the common problem that MySQL do not add functions needed by us in a reasonable time. Start with a function that retrieves THD::thread_id, this is needed for the information_schema.innodb_trx.mysql_thread_id column. Approved by: Marko
-
marko authored
row_prebuilt_free(): Add UNIV_UNLIKELY hints around tests for ROW_PREBUILT_OBSOLETE and some other tests.
-
marko authored
before invoking rec_get_offsets().
-
marko authored
a compressed table in the system tablespace. db0err.h: Introduce the error code DB_TABLE_ZIP_NO_IBD. Replace the #define directives with an enum, to ease future code merges. These error codes are never written out to files or displayed to the user. Thus they need not remain constant. dict_build_table_def_step(): Return DB_TABLE_ZIP_NO_IBD instead of DB_ERROR. create_table_def(): Report ER_ILLEGAL_HA_CREATE_OPTION "KEY_BLOCK_SIZE" when the table creation fails with DB_TABLE_ZIP_NO_IBD.
-