Commit graph

91 commits

Author SHA1 Message Date
vasil
ab4a6d2653 branches/zip:
Add ChangeLog entry for t4748.
2009-04-17 20:58:08 +00:00
marko
6108afddf1 branches/zip: univ.i: Define REFMAN as the base URL of the
MySQL Reference Manual and use it in every string.
This fixes Issue #221.
2009-04-16 12:02:27 +00:00
vasil
cb3b50c22e branches/zip:
Add ChangeLog entry for r4717.
2009-04-16 05:44:48 +00:00
vasil
0bd50a09e8 branches/zip:
Add ChangeLog entry for r4543.
2009-04-15 17:36:06 +00:00
vasil
fc50260d58 branches/zip:
Whitespace cleanup in ChangeLog
2009-04-15 08:39:04 +00:00
vasil
962063c9be branches/zip:
Fix typo in the ChangeLog
2009-04-15 08:36:57 +00:00
vasil
d9047442d9 branches/zip:
Add missing ChangeLog entries
2009-04-15 08:36:16 +00:00
vasil
da0a2ab288 branches/zip:
Add ChangeLog entry for r4678.
2009-04-08 09:11:15 +00:00
vasil
b55949ab12 branches/zip:
Whitespace fixup in the ChangeLog
2009-04-08 09:08:59 +00:00
marko
1a0a9e6a8f branches/zip: Allow in-place updates of UTF-8 CHAR columns
from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032)

rb://107 approved by Heikki Tuuri.
2009-04-07 11:45:28 +00:00
vasil
50f3f5c8f0 branches/zip:
Add ChangeLog entry for r4670.
2009-04-07 05:37:31 +00:00
marko
1e4bb48bf8 branches/zip: Initialize innodb_change_buffering from the configuration file.
So far, the parameter innodb_change_buffering was only settable by the
SET GLOBAL command. Any change specified in the configuration file or
on the mysqld command line was ignored. This was reported as Issue #217.

rb://109 approved by Heikki Tuuri.
2009-04-06 12:17:30 +00:00
marko
f43f7226f9 branches/zip: Remove the bogus failure reported in Issue #219. 2009-04-06 11:13:45 +00:00
vasil
33e578ffd3 branches/zip:
Fix formatting in ChangeLog to be consistent.
2009-04-06 06:07:26 +00:00
vasil
3506606d29 branches/zip:
Add changelog entry for c4630.
2009-04-06 06:05:25 +00:00
marko
b6d8daaa46 branches/zip: Refuse to use newly created indexes that may lack
history.  This addresses Mantis issue #116.

dict_index_t: Enable the storage of trx_id.

row_prebuilt_t: Make many fields bit-fields to reduce the memory
footprint. Add index_usable.

ha_innobase::change_active_index(): Check if the index is usable and
set prebuilt->index_usable accordingly. Unfortunately, the return
status of this function is ignored by MySQL, and the actual refusal to
use the index must be made in row_search_for_mysql().

row_search_for_mysql(): Return DB_MISSING_HISTORY if
!prebuilt->index_usable.

convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to
HA_ERR_TABLE_DEF_CHANGED.

innodb-index.test: Add a test case where access to a newly created
secondary index must be blocked for old transactions.

rb://100 approved by Heikki Tuuri
2009-04-02 12:23:12 +00:00
vasil
cfff303bbd branches/zip:
Add any entry about the release of 1.0.3 in the ChangeLog.
2009-03-20 14:50:41 +00:00
marko
684bf71d6e branches/zip: fil_init(): Add the parameter hash_size. 2009-03-20 13:47:17 +00:00
marko
054ef0dec8 branches/zip: recv_scan_log_recs(): Remove a compile-time constant parameter. 2009-03-20 13:10:25 +00:00
marko
cc6e72fc36 branches/zip: recv_sys_init(): Remove a compile-time constant parameter. 2009-03-20 12:56:19 +00:00
marko
f2a70c2a4b branches/zip: recv_recover_page(): Remove compile-time constant parameters. 2009-03-20 12:48:26 +00:00
marko
e2c59923a8 branches/zip: innobase_get_at_most_n_mbchars(): Declare in ha_prototypes.h. 2009-03-20 12:15:52 +00:00
marko
b014d36b9e branches/zip: fil0fil.c: Refer to fil_system directly, not via local vars.
This eliminates some "unused variable" warnings when building
InnoDB Hot Backup in such a way that all mutex operations are no-ops.
2009-03-20 11:51:35 +00:00
marko
866b36f97b branches/zip: page_validate(): Always report the space id and the
name of the index.

In Hot Backup, do not invoke comparison functions, as MySQL collations
will be unavailable.
2009-03-20 10:52:14 +00:00
marko
391c810e2a branches/zip: Add const qualifiers or in/out comments to some function
parameters in log0log.
2009-03-20 10:45:18 +00:00
marko
16514aa417 branches/zip: Non-functional change for reducing dependencies in InnoDB Hot Backup:
Replace srv_sys->dummy_ind1 and srv_sys->dummy_ind2 with
dict_ind_redundant and dict_ind_compact, initialized in dict_init().
2009-03-20 10:33:33 +00:00
vasil
a295841e32 branches/zip:
Add ChangeLog entry for the bugfix in c4360.
2009-03-05 20:31:37 +00:00
vasil
e8ef902d6a branches/zip:
White-space cleanup in the ChangeLog
2009-02-25 15:19:19 +00:00
vasil
1491f43892 branches/zip:
Fix Bug synopsis and remove explanation
2009-02-25 09:08:32 +00:00
vasil
a6450ac4f6 branches/zip:
Make ChangeLog entries for bugs in bugs.mysql.com in the form:
Fix Bug#12345 bug title
(for bugs after 1.0.2 was released and the ChangeLog published)

There is no need to bloat the ChangeLog with information that is available
via bugs.mysql.com.

Discussed with:	Marko
2009-02-25 09:05:44 +00:00
vasil
b870ca5e96 branches/zip:
Add ChangeLog entry for the fix in r4288.
2009-02-25 08:53:51 +00:00
marko
ca3716ff04 branches/zip: When freeing an uncompressed BLOB page, tolerate garbage in
FIL_PAGE_TYPE.  (Bug #43043, Issue #182)

btr_check_blob_fil_page_type(): New function.

btr_free_externally_stored_field(), btr_copy_blob_prefix():
Call btr_check_blob_fil_page_type() to check FIL_PAGE_TYPE.
2009-02-23 13:09:49 +00:00
marko
29b522b278 branches/zip: Make innodb_use_sys_malloc=ON the default.
Replace srv_use_sys_malloc with UNIV_LIKELY(srv_use_sys_malloc)
to improve branch prediction in the default case.

Approved by Ken over the IM.
2009-02-20 20:31:03 +00:00
vasil
567771b4b5 branches/zip:
Add a ChangeLog entry for a change in r4262.
2009-02-20 13:00:46 +00:00
vasil
820dd60710 branches/zip:
ChangeLog: Remove include/os0sync.ic from the entry about the google patch,
this file was modified later to not include Google's code.
2009-02-20 09:59:42 +00:00
vasil
bb569d2e0b branches/zip:
Cleanup in ChangeLog:
* Wrap lines at 78 characters
* Changed files are listed alphabetically
* White-space cleanup
2009-02-20 09:52:19 +00:00
marko
144841e6ae branches/zip: Protect ut_total_allocated_memory with ut_list_mutex.
Unprotected updates to ut_total_allocated_memory in
os_mem_alloc_large() and os_mem_free_large(), called during
fast index creation, may corrupt the variable and cause assertion failures.

Also, add UNIV_MEM_ALLOC() and UNIV_MEM_FREE() instrumentation around
os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can
detect more errors.

rb://90 approved by Heikki Tuuri.  This addresses Issue #177.
2009-02-18 15:25:45 +00:00
marko
b6beea92c4 branches/zip: Make innodb_thread_concurrency=0 the default.
The old default was 8.
2009-02-11 22:14:19 +00:00
marko
af9e59a9c6 branches/zip: When innodb_use_sys_malloc is set, ignore
innodb_additional_mem_pool_size, because nothing will
be allocated from mem_comm_pool.

mem_pool_create(): Remove the assertion about size.  The function will
work with any size.  However, an assertion would fail in ut_malloc_low()
when size==0.

mem_init(): When srv_use_sys_malloc is set, pass size=1 to mem_pool_create().

mem0mem.c: Add #include "srv0srv.h" that is needed by mem0dbg.c.
2009-02-10 10:52:27 +00:00
marko
7d122c450e branches/zip: get_share(), free_share(): Make table locking case sensitive.
If lower_case_table_names=1, MySQL will pass the table names in lower case.
Thus, we can use a binary comparison (strcmp) in the hash table.

rb://87 approved by Heikki Tuuri, to address Bug #41676 and Issue #167.
2009-02-10 09:51:43 +00:00
marko
9498387c68 branches/zip: ChangeLog: Document recent changes. 2009-02-10 09:09:15 +00:00
vasil
ab05403678 branches/zip:
Add ChangeLog entry for the change in r4072.
2009-02-02 07:32:04 +00:00
marko
c3dc038c9a branches/zip: Port the applicable parts of r4053 from branches/innodb+:
Implement the global variable innodb_change_buffering, with the
following values:

none - buffer nothing
inserts - buffer inserts (the default)

Approved by Ken Jacobs.
2009-01-29 09:27:09 +00:00
marko
523f4aa9fd branches/zip: buf_LRU_invalidate_tablespace(): Fix a race condition:
read zip_size while still holding block_mutex.
2009-01-27 08:05:24 +00:00
marko
60cf6c98ac branches/zip: In r988, the function buf_block_align() was enclosed
within UNIV_DEBUG. The two remaining callers in non-debug builds,
btr_search_guess_on_hash() and btr_search_validate(), were rewritten
to call buf_page_hash_get().

To implement support for a resizeable buffer pool, the function
buf_block_align() had been rewritten to perform a page hash lookup in
the buffer pool. The caller was also made responsible for holding the
buffer pool mutex.

Because the page hash lookup is expensive and it has to be done while
holding the buffer pool mutex, implement buf_block_align() by pointer
arithmetics again, and make btr_search_guess_on_hash() call it. Note
that this will have to be adjusted if the interface to the resizeable
buffer pool is actually implemented.

rb://83 approved by Heikki Tuuri, to address Issue #161.

As a deviation from the approved patch, this patch also makes
btr_search_validate() (invoked by CHECK TABLE) check that
buf_pool->page_hash is consistent with buf_block_align().
2009-01-26 20:33:20 +00:00
marko
435eb2397f branches/zip: Merge revisions 4005:4032 from branches/5.1:
------------------------------------------------------------------------
  r4032 | marko | 2009-01-23 15:43:51 +0200 (Fri, 23 Jan 2009) | 10 lines

  branches/5.1: Merge r4031 from branches/5.0:

  btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen()
  returns NULL.  The page may have been evicted from the buffer pool
  between buf_page_peek_if_search_hashed() and buf_page_get_gen(),
  because the buffer pool mutex will be released between these two calls.
  (Bug #42279, Issue #160)

  rb://82 approved by Heikki Tuuri
  ------------------------------------------------------------------------
2009-01-23 13:49:04 +00:00
marko
9ec6dac72d branches/zip: buf_page_get_gen(): Remove the unused mode BUF_GET_NOWAIT.
This was noticed while investigating Issue #160.
2009-01-23 13:31:36 +00:00
vasil
dba12ca2ac branches/zip:
Add ChangeLog entries for the bugfixes in r4004 and r4005.
2009-01-20 15:01:08 +00:00
vasil
b267d1cc9c branches/zip:
Add ChangeLog entries for the bug fixes in r3911 and r3930.
2009-01-15 19:15:00 +00:00
marko
d46597ebe7 branches/zip: In hash table lookups, assert that the traversed items
satisfy some conditions when UNIV_DEBUG is defined.

HASH_SEARCH(): New parameter: ASSERTION. All users will pass an appropriate
ut_ad() or nothing.

dict_table_add_to_columns(): Assert that the table being added to the data
dictionary cache is not already being pointed to by the name_hash and
id_hash tables.

HASH_SEARCH_ALL(): New macro, for use in dict_table_add_to_columns().

dict_mem_table_free(): Set ut_d(table->cached = FALSE), so that we can
check ut_ad(table->cached) when traversing the hash tables, as in
HASH_SEARCH(name_hash, dict_sys->table_hash, ...) and
HASH_SEARCH(id_hash, dict_sys->table_id_hash, ...).

dict_table_get_low(), dict_table_get_on_id_low(): Assert
ut_ad(!table || table->cached).

fil_space_get_by_id(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N)
in HASH_SEARCH(hash, fil_system->spaces, ...).

fil_space_get_by_name(): Check ut_ad(space->magic_n == FIL_SPACE_MAGIC_N)
in HASH_SEARCH(name_hash, fil_system->name_hash, ...).

buf_buddy_block_free(): Check that the blocks are in valid state in
HASH_SEARCH(hash, buf_pool->zip_hash, ...).

buf_page_hash_get(): Check that the blocks are in valid state in
HASH_SEARCH(hash, buf_pool->page_hash, ...).

get_share(), free_share(): Check ut_ad(share->use_count > 0) in
HASH_SEARCH(table_name_hash, innobase_open_tables, ...).

This was posted as rb://75 for tracking down errors similar to Issue #153.
2009-01-13 19:46:22 +00:00