2009-05-27 11:45:59 +02:00
|
|
|
# Copyright (C) 2009 Oracle/Innobase Oy
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; version 2 of the License.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
|
|
# This is the CMakeLists for InnoDB Plugin
|
|
|
|
|
|
|
|
|
2009-06-10 10:59:49 +02:00
|
|
|
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
|
|
|
|
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
|
Applying InnoDB Plugin 1.0.5 snapshot, part 11
From revision r5945 to r5994
r5950 - already applied and so skipped
Detailed revision comments:
r5945 | calvin | 2009-09-21 09:53:22 -0500 (Mon, 21 Sep 2009) | 4 lines
branches/zip: fix a type in r5935
Should be innodb_open_files, spotted by Michael.
r5951 | calvin | 2009-09-22 10:17:01 -0500 (Tue, 22 Sep 2009) | 4 lines
branches/zip: adjust CMake file to work with old versions of MySQL
Tested with MySQL 5.1.38 and 5.1.30.
r5956 | calvin | 2009-09-22 18:30:10 -0500 (Tue, 22 Sep 2009) | 4 lines
branches/zip: remove handler0vars.h from Makefile.am
Left over from r5950.
r5971 | marko | 2009-09-23 08:03:51 -0500 (Wed, 23 Sep 2009) | 2 lines
branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup
when the pwrite system call is not available.
r5972 | marko | 2009-09-23 14:44:52 -0500 (Wed, 23 Sep 2009) | 5 lines
branches/zip: fil_node_open_file(): In InnoDB Hot Backup,
determine the page size of single-file tablespaces before computing
the file node size. Otherwise, the space->size of compressed tablespaces
would be computed with UNIV_PAGE_SIZE instead of key_block_size.
This should fix Issue #313.
r5973 | marko | 2009-09-23 14:53:21 -0500 (Wed, 23 Sep 2009) | 2 lines
branches/zip: recv_add_to_hash_table():
Simplify obfuscated pointer arithmetics.
r5978 | marko | 2009-09-24 02:47:56 -0500 (Thu, 24 Sep 2009) | 1 line
branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined.
r5979 | marko | 2009-09-24 05:16:10 -0500 (Thu, 24 Sep 2009) | 4 lines
branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary.
This preprocessor symbol has been recently introduced in MySQL 5.1.
The InnoDB Plugin should remain source compatible with MySQL 5.1.24
and later.
r5988 | calvin | 2009-09-25 14:14:43 -0500 (Fri, 25 Sep 2009) | 8 lines
branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA
1453 (0x5AD) for InnoDB backend
When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES
occurs, yields for 100ms and retries the operation.
Approved by: Heikki (on IM)
r5992 | vasil | 2009-09-28 02:10:29 -0500 (Mon, 28 Sep 2009) | 4 lines
branches/zip:
Add ChangeLog entry for c5988.
r5994 | marko | 2009-09-28 03:33:59 -0500 (Mon, 28 Sep 2009) | 17 lines
branches/zip: Try to prevent the reuse of tablespace identifiers after
InnoDB has crashed during table creation. Also, refuse to start if
files with duplicate tablespace identifiers are encountered.
fil_node_create(): Update fil_system->max_assigned_id. This should
prevent the reuse of a space->id when InnoDB does a full crash
recovery and invokes fil_load_single_table_tablespaces(). Normally,
fil_system->max_assigned_id is initialized from
SELECT MAX(ID) FROM SYS_TABLES.
fil_open_single_table_tablespace(): Return FALSE when
fil_space_create() fails.
fil_load_single_table_tablespace(): Exit if fil_space_create() fails
and innodb_force_recovery=0.
rb://173 approved by Heikki Tuuri. This addresses Issue #335.
2009-10-09 16:02:18 +02:00
|
|
|
|
|
|
|
# Starting at 5.1.38, MySQL CMake files are simplified. But the plugin
|
|
|
|
# CMakeLists.txt still needs to work with previous versions of MySQL.
|
|
|
|
IF (MYSQL_VERSION_ID GREATER "50137")
|
|
|
|
INCLUDE("${PROJECT_SOURCE_DIR}/storage/mysql_storage_engine.cmake")
|
|
|
|
ENDIF (MYSQL_VERSION_ID GREATER "50137")
|
|
|
|
|
2009-05-27 11:45:59 +02:00
|
|
|
IF (CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
|
|
SET(WIN64 TRUE)
|
|
|
|
ENDIF (CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
|
|
|
2009-06-10 10:59:49 +02:00
|
|
|
# Include directories under innodb_plugin
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/innodb_plugin/include
|
2009-10-13 09:11:42 +02:00
|
|
|
${CMAKE_SOURCE_DIR}/storage/innodb_plugin/handler)
|
2009-05-27 11:45:59 +02:00
|
|
|
|
|
|
|
# Include directories under mysql
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
|
|
|
|
${CMAKE_SOURCE_DIR}/sql
|
|
|
|
${CMAKE_SOURCE_DIR}/regex
|
|
|
|
${CMAKE_SOURCE_DIR}/zlib
|
|
|
|
${CMAKE_SOURCE_DIR}/extra/yassl/include)
|
|
|
|
|
|
|
|
# Removing compiler optimizations for innodb/mem/* files on 64-bit Windows
|
|
|
|
# due to 64-bit compiler error, See MySQL Bug #19424, #36366, #34297
|
Applying InnoDB Plugin 1.0.5 snapshot, part 13
1. Undo r6031 btr/btr0btr.c changes
2. apply skipped Plug.in changes and missed revisions
Detailed revision comments:
r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines
branches/zip:
Simplify the compile time checks by splittig them into 5 independent checks:
* Whether GCC atomics are available
* Whether pthread_t can be used by GCC atomics
* Whether Solaris libc atomics are available
* Whether pthread_t can be used by Solaris libs atomics
* Checking the size of pthread_t
r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines
branches/zip:
Include ut0auxconf.h only if none of the macros it would define is defined.
The check when to include this header was outdated from the time when there
was only one macro involved.
Move the atomics checks that are in univ.i outside of
#if windows ... #else ... #endif
This simplifies the code and removes some duplicates like defining
HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches.
Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events.
Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and
HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS.
r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines
branches/zip:
Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and
IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they
all follow the same HAVE_IB_* convention.
r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines
branches/zip:
Back-merge c5880 and c5881 from branches/embedded-1.0:
------------------------------------------------------------------------
r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines
Changed paths:
M /branches/embedded-1.0/configure.in
M /branches/embedded-1.0/include/os0sync.h
M /branches/embedded-1.0/srv/srv0start.c
branches/embedded-1.0:
Clean up and simplify the code that surrounds the atomic ops:
* Simplify the code that prints what atomics are used:
Instead of repeating the same conditions on which each atomics are used
use just one printf that prints a variable defined by the code which
chooses what atomics to use.
* In os0sync.h pick up each atomic variant only if it has been selected
by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message
to be printed.
* In configure.in: check what user has chosen and if he has chosen
something that is not available, emit an error. If nothing has been chosen
explicitly by the user, auto select an option according to the described
logic in configure.in.
------------------------------------------------------------------------
r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines
Changed paths:
M /branches/embedded-1.0/configure.in
branches/embedded-1.0:
Fix syntax error in test program.
------------------------------------------------------------------------
r5889 | vasil | 2009-09-14 04:17:18 -0500 (Mon, 14 Sep 2009) | 5 lines
branches/zip:
Add missing return statement in the test program that could have
caused a warning.
r5893 | inaam | 2009-09-14 10:20:48 -0500 (Mon, 14 Sep 2009) | 10 lines
branches/zip rb://159
In case of pages that are not made young the counter is incremented
only when the page in question is 'old'. In case of pages that are
made young the counter is incremented in case of all pages. For apple
to apple comparison this patch changes the 'young-making' counter to
consider only 'old' blocks.
Approved by: Marko
r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines
branches/zip:
Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
line.
r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines
branches/zip:
Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h
instead of in univ.i. The code expects os_*() macros to be present if
HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define
them next to defining the os_*() macros.
r5696 | vasil | 2009-08-26 08:15:59 -0500 (Wed, 26 Aug 2009) | 14 lines
branches/zip:
Merge a change from MySQL:
http://lists.mysql.com/commits/80832
2968 Jonathan Perkin 2009-08-14
Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith.
modified:
CMakeLists.txt
cmd-line-utils/readline/util.c
storage/innodb_plugin/handler/i_s.cc
storage/innodb_plugin/include/univ.i
r5897 | marko | 2009-09-15 03:29:00 -0500 (Tue, 15 Sep 2009) | 8 lines
branches/zip: Avoid bogus messages about latching order violations when
UNIV_SYNC_DEBUG is defined.
sync_thread_levels_g(): Add the parameter "warn". Do not print
anything unless it is set.
sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g()
when the check is within an assertion; FALSE if it is not.
r5899 | marko | 2009-09-15 06:26:01 -0500 (Tue, 15 Sep 2009) | 4 lines
branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP.
Since r5872, the InnoDB Hot Backup build was broken.
Fix it by not defining any thread synchronization primitives in ut0ut.h.
InnoDB Hot Backup is a single-threaded program.
2009-10-12 14:00:56 +02:00
|
|
|
IF (MSVC AND $(WIN64))
|
2009-05-27 11:45:59 +02:00
|
|
|
SET_SOURCE_FILES_PROPERTIES(mem/mem0mem.c mem/mem0pool.c
|
|
|
|
PROPERTIES COMPILE_FLAGS -Od)
|
Applying InnoDB Plugin 1.0.5 snapshot, part 13
1. Undo r6031 btr/btr0btr.c changes
2. apply skipped Plug.in changes and missed revisions
Detailed revision comments:
r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines
branches/zip:
Simplify the compile time checks by splittig them into 5 independent checks:
* Whether GCC atomics are available
* Whether pthread_t can be used by GCC atomics
* Whether Solaris libc atomics are available
* Whether pthread_t can be used by Solaris libs atomics
* Checking the size of pthread_t
r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines
branches/zip:
Include ut0auxconf.h only if none of the macros it would define is defined.
The check when to include this header was outdated from the time when there
was only one macro involved.
Move the atomics checks that are in univ.i outside of
#if windows ... #else ... #endif
This simplifies the code and removes some duplicates like defining
HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches.
Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events.
Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and
HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS.
r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines
branches/zip:
Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and
IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they
all follow the same HAVE_IB_* convention.
r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines
branches/zip:
Back-merge c5880 and c5881 from branches/embedded-1.0:
------------------------------------------------------------------------
r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines
Changed paths:
M /branches/embedded-1.0/configure.in
M /branches/embedded-1.0/include/os0sync.h
M /branches/embedded-1.0/srv/srv0start.c
branches/embedded-1.0:
Clean up and simplify the code that surrounds the atomic ops:
* Simplify the code that prints what atomics are used:
Instead of repeating the same conditions on which each atomics are used
use just one printf that prints a variable defined by the code which
chooses what atomics to use.
* In os0sync.h pick up each atomic variant only if it has been selected
by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message
to be printed.
* In configure.in: check what user has chosen and if he has chosen
something that is not available, emit an error. If nothing has been chosen
explicitly by the user, auto select an option according to the described
logic in configure.in.
------------------------------------------------------------------------
r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines
Changed paths:
M /branches/embedded-1.0/configure.in
branches/embedded-1.0:
Fix syntax error in test program.
------------------------------------------------------------------------
r5889 | vasil | 2009-09-14 04:17:18 -0500 (Mon, 14 Sep 2009) | 5 lines
branches/zip:
Add missing return statement in the test program that could have
caused a warning.
r5893 | inaam | 2009-09-14 10:20:48 -0500 (Mon, 14 Sep 2009) | 10 lines
branches/zip rb://159
In case of pages that are not made young the counter is incremented
only when the page in question is 'old'. In case of pages that are
made young the counter is incremented in case of all pages. For apple
to apple comparison this patch changes the 'young-making' counter to
consider only 'old' blocks.
Approved by: Marko
r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines
branches/zip:
Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
line.
r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines
branches/zip:
Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h
instead of in univ.i. The code expects os_*() macros to be present if
HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define
them next to defining the os_*() macros.
r5696 | vasil | 2009-08-26 08:15:59 -0500 (Wed, 26 Aug 2009) | 14 lines
branches/zip:
Merge a change from MySQL:
http://lists.mysql.com/commits/80832
2968 Jonathan Perkin 2009-08-14
Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith.
modified:
CMakeLists.txt
cmd-line-utils/readline/util.c
storage/innodb_plugin/handler/i_s.cc
storage/innodb_plugin/include/univ.i
r5897 | marko | 2009-09-15 03:29:00 -0500 (Tue, 15 Sep 2009) | 8 lines
branches/zip: Avoid bogus messages about latching order violations when
UNIV_SYNC_DEBUG is defined.
sync_thread_levels_g(): Add the parameter "warn". Do not print
anything unless it is set.
sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g()
when the check is within an assertion; FALSE if it is not.
r5899 | marko | 2009-09-15 06:26:01 -0500 (Tue, 15 Sep 2009) | 4 lines
branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP.
Since r5872, the InnoDB Hot Backup build was broken.
Fix it by not defining any thread synchronization primitives in ut0ut.h.
InnoDB Hot Backup is a single-threaded program.
2009-10-12 14:00:56 +02:00
|
|
|
ENDIF (MSVC AND $(WIN64))
|
2009-05-27 11:45:59 +02:00
|
|
|
|
2009-06-10 10:59:49 +02:00
|
|
|
SET(INNODB_PLUGIN_SOURCES btr/btr0btr.c btr/btr0cur.c btr/btr0pcur.c btr/btr0sea.c
|
2009-05-27 11:45:59 +02:00
|
|
|
buf/buf0buddy.c buf/buf0buf.c buf/buf0flu.c buf/buf0lru.c buf/buf0rea.c
|
|
|
|
data/data0data.c data/data0type.c
|
|
|
|
dict/dict0boot.c dict/dict0crea.c dict/dict0dict.c dict/dict0load.c dict/dict0mem.c
|
|
|
|
dyn/dyn0dyn.c
|
|
|
|
eval/eval0eval.c eval/eval0proc.c
|
|
|
|
fil/fil0fil.c
|
|
|
|
fsp/fsp0fsp.c
|
|
|
|
fut/fut0fut.c fut/fut0lst.c
|
|
|
|
ha/ha0ha.c ha/hash0hash.c ha/ha0storage.c
|
|
|
|
ibuf/ibuf0ibuf.c
|
|
|
|
pars/lexyy.c pars/pars0grm.c pars/pars0opt.c pars/pars0pars.c pars/pars0sym.c
|
|
|
|
lock/lock0lock.c lock/lock0iter.c
|
|
|
|
log/log0log.c log/log0recv.c
|
|
|
|
mach/mach0data.c
|
|
|
|
mem/mem0mem.c mem/mem0pool.c
|
|
|
|
mtr/mtr0log.c mtr/mtr0mtr.c
|
|
|
|
os/os0file.c os/os0proc.c os/os0sync.c os/os0thread.c
|
|
|
|
page/page0cur.c page/page0page.c page/page0zip.c
|
|
|
|
que/que0que.c
|
|
|
|
handler/ha_innodb.cc handler/handler0alter.cc handler/i_s.cc handler/mysql_addons.cc
|
|
|
|
read/read0read.c
|
|
|
|
rem/rem0cmp.c rem/rem0rec.c
|
|
|
|
row/row0ext.c row/row0ins.c row/row0merge.c row/row0mysql.c row/row0purge.c row/row0row.c
|
|
|
|
row/row0sel.c row/row0uins.c row/row0umod.c row/row0undo.c row/row0upd.c row/row0vers.c
|
|
|
|
srv/srv0que.c srv/srv0srv.c srv/srv0start.c
|
|
|
|
sync/sync0arr.c sync/sync0rw.c sync/sync0sync.c
|
|
|
|
thr/thr0loc.c
|
|
|
|
trx/trx0i_s.c trx/trx0purge.c trx/trx0rec.c trx/trx0roll.c trx/trx0rseg.c
|
|
|
|
trx/trx0sys.c trx/trx0trx.c trx/trx0undo.c
|
|
|
|
usr/usr0sess.c
|
|
|
|
ut/ut0byte.c ut/ut0dbg.c ut/ut0mem.c ut/ut0rnd.c ut/ut0ut.c ut/ut0vec.c
|
|
|
|
ut/ut0list.c ut/ut0wqueue.c)
|
2009-10-13 09:11:42 +02:00
|
|
|
ADD_DEFINITIONS(-DHAVE_WINDOWS_ATOMICS -DIB_HAVE_PAUSE_INSTRUCTION)
|
2009-12-14 09:12:26 +01:00
|
|
|
MYSQL_STORAGE_ENGINE(INNODB_PLUGIN)
|