Commit graph

1504 commits

Author SHA1 Message Date
marko
732f9dd7fb 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
b10078d34f branches/zip: buf_buddy_get_slot(): Fix a gcc 4.3.2 warning
about an empty body of a "for" statement.
This fixes part of Issue #176.
2009-02-18 15:04:03 +00:00
marko
f1d6c5592f branches/zip: UT_DBG_STOP: Use do{} while(0) to silence a g++-4.3.2 warning
about a while(0); statement.  This should fix (part of) Issue #176.
2009-02-18 15:01:09 +00:00
marko
a5304a28a8 branches/zip: When assigning lock->recursive = FALSE, also flag
lock->writer_thread invalid, so that Valgrind will catch more errors.
This is related to Issue #175.
2009-02-17 12:59:54 +00:00
marko
a5d1b1cee7 Minor cleanup of the Google SMP patch.
sync_array_object_signalled(): Add a (void) cast to eliminate a gcc warning
about the return value of os_atomic_increment() being ignored.

rw_lock_create_func(): Properly indent the preprocessor directives.

rw_lock_x_lock_low(), rw_lock_x_lock_func_nowait(): Split lines correctly.

rw_lock_set_writer_id_and_recursion_flag(): Silence a Valgrind warning.
Do not mix statements and variable declarations.
2009-02-17 12:26:53 +00:00
vasil
f3fab6e7ce branches/zip:
Add the copyright notice to the non C files.
2009-02-17 10:30:55 +00:00
vasil
a6c09afa90 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 28/28]
2009-02-17 10:14:04 +00:00
vasil
20c13efe91 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 27/28]
2009-02-17 10:12:56 +00:00
vasil
98b586daf2 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 26/28]
2009-02-17 10:09:16 +00:00
vasil
4ec7ccb227 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 25/28]
2009-02-17 10:05:45 +00:00
vasil
dcf56b04fd branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 24/28]
2009-02-17 10:01:41 +00:00
vasil
1c46e6ef6d branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 23/28]
2009-02-17 09:53:58 +00:00
vasil
d77e348fbd branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 22/28]
2009-02-17 09:50:12 +00:00
vasil
b769ee8722 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 21/28]
2009-02-17 09:46:52 +00:00
vasil
600b41888d branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 20/28]
2009-02-17 09:43:50 +00:00
vasil
78866060a3 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 19/28]
2009-02-17 09:41:24 +00:00
vasil
bcd9af2b76 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 18/28]
2009-02-17 09:39:11 +00:00
vasil
3f2cffabca branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 17/28]
2009-02-17 09:36:44 +00:00
vasil
3755fe658c branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 16/28]
2009-02-17 09:33:38 +00:00
vasil
f2e8426752 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 15/28]
2009-02-17 09:29:55 +00:00
vasil
13d548f932 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 13/28]
2009-02-17 09:27:31 +00:00
vasil
a12c1a05e5 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 13/28]
2009-02-17 09:24:40 +00:00
vasil
ea68867dd7 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 12/28]
2009-02-17 09:18:35 +00:00
vasil
3a5070562f branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 11/28]
2009-02-17 09:14:40 +00:00
vasil
156ed23fe1 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 10/28]
2009-02-17 09:12:41 +00:00
vasil
52f0c662d2 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 9/28]
2009-02-17 09:10:18 +00:00
vasil
98af6f74d5 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 8/28]
2009-02-17 09:06:49 +00:00
vasil
cb7c66d0d2 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 7/28]
2009-02-17 09:04:28 +00:00
vasil
54d835ad05 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 6/28]
2009-02-17 09:02:27 +00:00
vasil
d8aa953d08 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 5/28]
2009-02-17 08:59:22 +00:00
vasil
7736c6fe08 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 4/28]
2009-02-17 08:55:41 +00:00
vasil
8e11468b17 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 3/28]
2009-02-17 08:25:45 +00:00
vasil
4e0e5e1e53 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 2/28]
2009-02-17 08:15:06 +00:00
vasil
9bc861b4e8 branches/zip:
* Remove old Innobase copyright lines from C source files
* Add a reference to the GPLv2 license as recommended by the lawyers
at Oracle Legal

[Step 1/28]
2009-02-17 08:12:02 +00:00
vasil
c6232c06fa branches/zip:
To the files touched by the Google patch from c4144 (excluding
include/os0sync.ic because later we removed Google code from that file):

* Remove the Google license
* Remove old Innobase copyright lines
* Add a reference to the Google license and to the GPLv2 license at the top,
as recommended by the lawyers at Oracle Legal.
2009-02-17 07:56:33 +00:00
vasil
85f1828d64 branches/zip:
Add Google's license into COPYING.Google.
2009-02-17 07:11:58 +00:00
vasil
a974c7bac4 branches/zip:
Add the full text of the GPLv2 license into the root directory of the
plugin. In previous releases this file was copied from an external source
(https://svn.innodb.com/svn/plugin/trunk/support/COPYING) "manually" when
creating the source and binary archives. It is less confusing to have this
present in the root directory of the SVN branch.
2009-02-17 07:06:07 +00:00
vasil
e1c65d9fe4 branches/zip:
Fix the failing mysql-test partition_innodb, which failed only if run after
innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into
the output of SHOW ENGINE INNODB STATUS). Find further explanation for the
failure at the top of the added patch partition_innodb.diff.
2009-02-13 08:06:31 +00:00
vasil
2cae584e53 branches/zip:
Fix pathname of the file to patch.
2009-02-12 15:38:27 +00:00
calvin
9cec478049 branches/zip: Adjust the result file of innodb_thread_concurrency_basic
test. The default value of innodb_thread_concurrency is changed to 0
(from 8) via r4163.
2009-02-12 08:37:10 +00:00
marko
25f45c0d1c branches/zip: Make innodb_thread_concurrency=0 the default.
The old default was 8.
2009-02-11 22:14:19 +00:00
vasil
3c6d991778 branches/zip:
(followup to r4145) Non-functional change:

Change the os_atomic_increment() and os_compare_and_swap() functions
to macros to avoid artificial limitations on the types of those
functions' arguments. As a consequence typecasts from the source
code can be removed.

Also remove Google's copyright from os0sync.ic because that file no longer
contains code from Google.

Approved by:	Marko (rb://88), also ok from Inaam via IM
2009-02-10 20:58:17 +00:00
marko
a805ee5fd5 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
ecda78f01c 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
da9083a02c branches/zip: ChangeLog: Document recent changes. 2009-02-10 09:09:15 +00:00
marko
f4cccb1f81 branches/zip: Map ut_malloc(), ut_realloc(), ut_free() to
malloc(), realloc(), free() when innodb_use_sys_malloc is set.

ut_free_all_mem(): If innodb_use_sys_malloc is set, do nothing,
because then ut_mem_block_list_inited will never be set.

log_init(): Use mem_alloc() instead of ut_malloc(), so that the
memory will be freed.  (Tested with Valgrind, although it is not
clear why the memory would be freed.)

rb://86 approved by Heikki Tuuri and Ken Jacobs.  This addresses Issue #168.
2009-02-10 08:38:41 +00:00
vasil
51bc19d7e2 branches/zip:
Non-functional change: Fix a compilation warning introduced in r4144:

gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -I../../include -I../../regex -I../../storage/innobase/include -I../../sql -I.   -Werror 	 -Wall -g   -MT libinnobase_a-sync0arr.o -MD -MP -MF .deps/libinnobase_a-sync0arr.Tpo -c -o libinnobase_a-sync0arr.o `test -f 'sync/sync0arr.c' || echo './'`sync/sync0arr.c
cc1: warnings being treated as errors
sync/sync0arr.c: In function 'sync_array_object_signalled':
sync/sync0arr.c:869: warning: pointer targets in passing argument 1 of 'os_atomic_increment' differ in signedness
2009-02-10 05:34:43 +00:00
inaam
a1bb700fd2 branches/zip rb://30
This patch changes the innodb mutexes and rw_locks implementation.
On supported platforms it uses GCC builtin atomics. These changes
are based on the patch sent by Mark Callaghan of Google under BSD
license. More technical discussion can be found at rb://30

Approved by: Heikki
2009-02-09 23:36:25 +00:00
marko
19a3033aac branches/zip: fil_write_lsn_and_arch_no_to_file(): Plug a memory leak. 2009-02-09 13:35:50 +00:00
vasil
6ee1121903 branches/zip:
Remove mysql-test/patches/bug35261.diff because that bug has been fixed
in the MySQL repository.
2009-02-09 11:47:16 +00:00