- 10 Aug, 2007 3 commits
-
-
marko authored
innodb-index.test, innodb-index.result: Add a test for creating a PRIMARY KEY on a column that contains a NULL value.
-
marko authored
row_merge_create_temporary_table(): Add the parameter index_defs. DB_PRIMARY_KEY_IS_NULL: New error code, mapped to ER_PRIMARY_CANT_HAVE_NULL. row_merge_read_clustered_index(): Replace the parameter "table" with the two parameters "old_table" and "new_table". Detect NULL values of columns that are supposed to be NOT NULL. row_merge_col_prtype(): New auxiliary function, used by row_merge_create_temporary_table() to flag NOT NULL any columns contained in an added PRIMARY KEY.
-
marko authored
innobase_copy_index_field_def(): Remove parameter heap. The field->name will not be deallocated before the copied index has been added to the data dictionary cache. innobase_copy_index_def(): Add const qualifier to dict_index_t*. Add an assertion !dict_index_is_clust(index). ha_innobase::add_index(): Add the missing user_thd parameter to the convert_error_code_to_mysql() call that was forgotten from r1686. merge_index_field_struct: Add const qualifier to field_name. merge_index_def_struct: Add const qualifier to name. row_merge_build_indexes(): Improve the function comment. row_merge_drop_table(): Remove bogus assertion ut_a(table->to_be_dropped).
-
- 08 Aug, 2007 6 commits
-
-
marko authored
goto err_exit. The error handling should be rewritten. Many of the error messages contain parameters, but this code is only returning the error number to MySQL.
-
marko authored
as documented. Do not translate the error code. This function is still broken; we should probably use my_error() for reporting errors.
-
marko authored
-
marko authored
The code for DB_CANNOT_DROP_FOREIGN_INDEX should have been renumbered in r1494 (Merge revisions 1402:1493 from trunk).
-
marko authored
-
marko authored
-
- 03 Aug, 2007 6 commits
-
-
marko authored
row_merge_buf_create_low(): Swap the parameters max_tuples and buf_size, because the callers had them swapped. Add debug assertions about these parameters. row_merge_buf_empty(): Return the emptied buffer. In some cases, the buffer may be relocated.
-
marko authored
do not release and relock the data dictionary during initial preparations.
-
marko authored
the index may be NULL when unfinished transactions are rolled back after crash recovery.
-
marko authored
before calling trx_lists_init_at_db_start(). This was broken in r1594.
-
marko authored
-
marko authored
row_mysql_read_true_varchar(), row_mysql_read_blob_ref(), row_mysql_store_col_in_innobase_format(), row_sel_convert_mysql_key_to_innobase(): Add const qualifiers. row_sel_convert_mysql_key_to_innobase(): Document that the first parameter is in/out.
-
- 02 Aug, 2007 2 commits
-
-
marko authored
the data dictionary locked across the operations. dict_table_decrement_handle_count(), row_prebuilt_free(): Add the flag dict_locked, to prevent the acquisition of dict_sys->mutex. innobase_rename_table(): Rename commit_flag to lock_and_commit, and do not acquire dict_sys->mutex or flush the log unless the flag is set. Remove bogus comment about utility threads, because the threads will be waken up by the upper-level function ha_innobase::rename_table(). ha_innobase::add_index(): After creating a primary key, hold dict_sys->mutex across all dictionary operations.
-
marko authored
-
- 01 Aug, 2007 10 commits
-
-
marko authored
symbolic ones.
-
marko authored
does not declare it unless MYSQL_SERVER is defined.
-
marko authored
-
marko authored
error code. Apparently, the numeric error codes in MySQL 5.1 are changing.
-
marko authored
implicit type conversion from void*. Inlining is enabled in ha_innodb.cc since r1587.
-
marko authored
C++ requires explicit type casts when converting from void*, and *.ic files are now inlined in ha_innodb.cc. fil_space_get_by_id(), fil_space_get_by_name(): New inline functions, to replace occurrences of the HASH_SEARCH() macro in fil0fil.c. This should improve readability.
-
marko authored
-
marko authored
This was broken in r1591.
-
marko authored
about "row" being possibly uninitialized.
-
marko authored
Add a const qualifier to lock_t*.
-
- 21 Jun, 2007 8 commits
-
-
marko authored
-
marko authored
Fix some printouts.
-
marko authored
row_ins_index_entry(). The added parameter (whether to check foreign key constraints) was incorrectly passed as FALSE in r1591.
-
marko authored
be set always. trx_rollback_active(): Split from trx_rollback_or_clean_all_without_sess(). row_undo_dictionary(): Do not return a value. Assert that all operations succeed. row_merge_drop_index(): Remove bogus comment about void return value. trx_dummy_sess: Move the declaration from trx0roll.h to trx0trx.h, because the variable is defined in trx0trx.c.
-
marko authored
-
marko authored
Return DB_SUCCESS. Do not release and reacquire kernel_mutex.
-
marko authored
Some things still fail in innodb-index.test, and there seems to be a race condition (data dictionary lock wait) when running with --valgrind. dfield_t: Add an "external storage" flag, dfield->ext. dfield_is_null(), dfield_is_ext(), dfield_set_ext(), dfield_set_null(): New functions. dfield_copy(), dfield_copy_data(): Add const qualifiers, fix in/out comments. data_write_sql_null(): Use memset(). big_rec_field_t: Replace byte* data with const void* data. ut_ulint_sort(): Remove. upd_field_t: Remove extern_storage. upd_node_t: Replace ext_vec, n_ext_vec with n_ext. row_merge_copy_blobs(): New function. row_ins_index_entry(): Add the parameter "ibool foreign" for suppressing foreign key checks during fast index creation or when inserting into secondary indexes. btr_page_insert_fits(): Add const qualifiers. btr_cur_add_ext(), upd_ext_vec_contains(): Remove. dfield_print_also_hex(), dfield_print(): Replace if...else if with switch. Observe dfield_is_ext().
-
marko authored
to rec_t*. Remove the ut_ad(rec_offs_validate()), because this function will be called from row0merge.c on a record that lacks the REC_N_NEW_EXTRA_BYTES.
-
- 20 Jun, 2007 3 commits
-
-
marko authored
-
marko authored
ha_innobase::add_index(): Do commit the transaction, because the error handler (label err1) in mysql_alter_table() won't commit it as of now. This was detected in a failure of type_bit_innodb.
-
marko authored
now that all of InnoDB code is built from a single Makefile and it should not be possible to build the modules with mutually incompatible options. #define INSIDE_HA_INNOBASE_CC: Remove. srv_sizeof_trx_t_in_ha_innodb_cc: Remove. dict_table_get_low_noninlined(): Remove. This function was unused. Remove all _noninline functions. Remove the _noninline suffix from all function calls in ha_innodb.cc.
-
- 19 Jun, 2007 2 commits