- 04 Mar, 2008 1 commit
-
-
marko authored
lock_get_table(), locks_row_eq_lock(), buf_page_get_mutex(): Add return after ut_error. On Windows, ut_error is not declared as "noreturn". Add explicit type casts when assigning ulint to byte to get rid of "possible loss of precision" warnings. struct i_s_table_cache_struct: Declare rows_used, rows_allocd as ulint instead of ullint. 32 bits should be enough. fill_innodb_trx_from_cache(), i_s_zip_fill_low(): Cast 64-bit unsigned integers to longlong when calling Field::store(longlong, bool is_unsigned). Otherwise, the compiler would implicitly convert them to double and invoke Field::store(double) instead. recv_truncate_group(), recv_copy_group(), recv_calc_lsn_on_data_add(): Cast ib_uint64_t expressions to ulint to get rid of "possible loss of precision" warnings. (There should not be any loss of precision in these cases.) log_close(), log_checkpoint_margin(): Declare some variables as ib_uint64_t instead of ulint, so that there won't be any potential loss of precision. mach_write_ull(): Cast the second argument of mach_write_to_4() to ulint. OS_FILE_FROM_FD(): Cast the return value of _get_osfhandle() to HANDLE. row_merge_dict_table_get_index(): Cast the parameter of mem_free() to (void*) in order to get rid of the bogus MSVC warning C4090, which has been reported as MSVC bug 101661: <http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101661> row_mysql_read_blob_ref(): To get rid of a bogus MSVC warning C4090, drop a const qualifier.
-
- 03 Mar, 2008 1 commit
-
-
marko authored
blocks that contains uncompressed and compressed frames. This patch was designed by Heikki and Inaam, implemented by Inaam, and refined and reviewed by Marko and Sunny. buf_buddy_n_frames, buf_buddy_min_n_frames, buf_buddy_max_n_frames: Remove. buf_page_belongs_to_unzip_LRU(): New predicate: bpage->zip.data && buf_page_get_state(bpage) == BUF_BLOCK_FILE_PAGE. buf_pool_t, buf_block_t: Add the linked list unzip_LRU. A block in the regular LRU list is in unzip_LRU iff buf_page_belongs_to_unzip_LRU() holds. buf_LRU_free_block(): Add a third return value to refine the case "cannot free the block". buf_LRU_search_and_free_block(): Update the documentation to reflect the implementation. buf_LRU_stat_t, buf_LRU_stat_cur, buf_LRU_stat_sum, buf_LRU_stat_arr[]: Statistics for the unzip_LRU algorithm. buf_LRU_stat_update(): New function: Update the statistics. Called once per second by srv_error_monitor_thread(). buf_LRU_validate(): Validate the unzip_LRU list as well. buf_LRU_evict_from_unzip_LRU(): New predicate: Use the unzip_LRU before falling back to the regular LRU? buf_LRU_free_from_unzip_LRU_list(), buf_LRU_free_from_common_LRU_list(): Subfunctions of buf_LRU_search_and_free_block(). buf_LRU_search_and_free_block(): Reimplement. Try to evict an uncompressed page from the unzip_LRU list before falling back to evicting an entire block from the common LRU list. buf_unzip_LRU_remove_block_if_needed(): New function. buf_unzip_LRU_add_block(): New function: Add a block to the unzip_LRU list.
-
- 29 Feb, 2008 9 commits
-
-
calvin authored
innobase_raw_format(), move the definition from row0row.c to ha_innodb.cc. After this change, row0row.c no longer references system_charset_info (Mantis issue #17). Patch prepared by Vasil, tested by Calvin, and reviewed by Marko.
-
calvin authored
build. It is part of Mantis issue#18. Reviewed by Marko.
-
calvin authored
os_mem_alloc_large(). Otherwise the allocation fails during startup with error code 87 - invalid parameter. Reviewed by Marko.
-
calvin authored
Windows. Reviewed by Marko.
-
marko authored
Add CMake-generated files and directories to svn:ignore. This patch is from Calvin Sun, who couldn't commit it properly on Windows. Do "svn propset svn:eol-style native" on every text file, to fix line format problems on Windows.
-
marko authored
in the function comment. There is no value BUF_BUDDY_USE_LRU. The mistake was made in r1290.
-
marko authored
-
marko authored
in one of the states BUF_BLOCK_ZIP_DIRTY or BUF_BLOCK_ZIP_PAGE. Note that the caller will have to relocate bpage->list.
-
marko authored
-
- 28 Feb, 2008 4 commits
-
-
marko authored
when creating the table fails.
-
marko authored
also when row_merge_create_temporary_table() fails. Otherwise, an assertion would fail when the client connection is closed, because prebuilt->trx would still be holding a table lock on innodb_table.
-
marko authored
Add the function prototype to os0file.h.
-
marko authored
have been added in r2327.
-
- 27 Feb, 2008 2 commits
-
-
vasil authored
Use innobase_strcasecmp() insteaed of strcasecmp() in i_s.cc and get rid of strings.h (that file is not present on Windows). Move the prototype of innobase_strcasecmp() from ha_innodb.cc and dict0dict.c to ha_prototypes.h. Approved by: Heikki
-
marko authored
buf_buddy_relocated_duration[], page_zip_compress_duration[] page_zip_decompress_duration[]: Record the total duration of the operations. buf_buddy_relocate(), page_zip_compress(), page_zip_decompress(): Add ut_time_us() instrumentation. i_s_zip_fields_info[], i_s_zip_fill_low(): Move the columns containing cumulated statistics last. Add relocated_usec, compressed_usec, and decompressed_usec.
-
- 25 Feb, 2008 2 commits
- 22 Feb, 2008 1 commit
-
-
marko authored
set in r2318.
-
- 21 Feb, 2008 1 commit
-
-
marko authored
to display the external fragmentation within the buddy allocator.
-
- 19 Feb, 2008 1 commit
-
-
marko authored
for the purpose of comparing different compression algorithms. PAGE_ZIP_COMPRESS_DBG: New preprocessor condition, to see if deflate() is wrapped. page_zip_compress_log: Log file counter. If set to nonzero, logging is enabled. page_zip_compress_deflate(): Add the parameter logfile. FILE_LOGFILE, LOGFILE: Macros for declaring and passing the parameter logfile. page_zip_compress(): Open and close the logfile if needed. Write the uncompressed page and the size of the compressed data. The data passed to deflate() is written by the wrapper page_zip_compress_deflate().
-
- 18 Feb, 2008 8 commits
-
-
marko authored
-
marko authored
-
marko authored
and incorrect "BLOB bug fix" that was suggested by Heikki. Explain in a comment why no such fix is needed.
-
marko authored
in *.h files, so that the function signatures in the *.h and *.c files fully match each other. ut_dulint_sort(): Add a UNIV_INTERN qualifier also to the function definition.
-
marko authored
lock_rec_restore_from_page_infimum(): Correct the comment of the parameter rec. lock_sec_rec_read_check_and_lock(): Add the debug assertion ut_ad(mode == LOCK_X || mode == LOCK_S).
-
marko authored
buf_LRU_old_adjust_len(): Replace a constant ut_ad() with a preprocessor check. buf_LRU_free_block(): Remove the check for the unlikely case buf_pool->LRU_old == prev_b in order to simplify the function. The check was implemented as part of r2306.
-
marko authored
suggested by Heikki, because it breaks row_vers_impl_x_locked_off_kernel(); see Mantis issue #10. However, now that Heikki's fix has been removed, the code may break elsewhere when it tries to dereference half-freed or completely freed externally stored columns.
-
marko authored
lock_update_delete(): Add the debug assertion ut_ad(page == page_align(rec)). lock_rec_insert_check_and_lock(): Determine next_rec_heap_no before acquiring the kernel mutex. Require the table to be at least S-locked in fast index creation.
-
- 16 Feb, 2008 1 commit
-
-
marko authored
corresponding to a compressed page, do not flag the block as recently used, but maintain the position of the control block on the LRU list.
-
- 15 Feb, 2008 5 commits
-
-
marko authored
lock_rec_get_first(): Use a simple for loop. lock_rec_copy(): Use mem_heap_dup(). lock_rec_find_similar_on_page(): Add const qualifier to trx. lock_move_rec_list_end(), lock_move_rec_list_start(): Simplify the memcmp() assertion on ROW_FORMAT=REDUNDANT records.
-
marko authored
qualifier to parameter, and fix the formatting of a comment.
-
marko authored
Use ut_d() in assignments to bpage->in_LRU_list instead of #ifdef UNIV_DEBUG. buf_LRU_remove_block(): Move an assertion to a more appropriate place.
-
marko authored
Make it easier to display the violating lock request in a debugger.
-
marko authored
on i==j==BUF_BUDDY_SIZES.
-
- 13 Feb, 2008 1 commit
-
-
marko authored
innobase_check_index_keys(): Remove unused parameters. Use sql_print_error() for error message output. ha_innobase::add_index(): When row_merge_rename_tables() fails, do not allow row_merge_drop_table() to alter the error code returned to MySQL.
-
- 12 Feb, 2008 1 commit
-
-
marko authored
the dynamic InnoDB plugin, ha_innodb.so. This libtool option cannot be used on every target platform. For instance, the AMD64 (x86_64) ABI mandates position-independent code (PIC) in dynamic shared objects. Makefile.am: Use $(INNODB_CFLAGS) and $(INNODB_DYNAMIC_CFLAGS) in target-specific CFLAGS and CXXFLAGS variable definitions. plug.in: Instead of appending to the MySQL-wide CFLAGS, introduce the variables INNODB_CFLAGS and INNODB_DYNAMIC_CFLAGS. Depending on $target_cpu, append -prefer-non-pic to INNODB_DYNAMIC_CFLAGS.
-
- 11 Feb, 2008 1 commit
-
-
marko authored
position-independent code in the compilation of ha_innodb.so. ha_innodb_la_CXXFLAGS, ha_innodb_la_CFLAGS: Add -prefer-non-pic. This flag is interpreted by the ../../libtool script that acts as a front-end to the compiler and linker.
-
- 08 Feb, 2008 1 commit
-
-
marko authored
unapproved change r2290.
-