mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
164080e4a8
Changes in the InnoDB codebase required to compile and integrate the MEB codebase with MySQL 5.5. @ storage/innobase/btr/btr0btr.c Excluded buffer pool usage from MEB build. buf_pool_from_bpage calls are in buf0buf.ic, and the buffer pool functions from that file are disabled in MEB. @ storage/innobase/buf/buf0buf.c Disabling more buffer pool functions unused in MEB. @ storage/innobase/dict/dict0dict.c Disabling dict_ind_free that is unused in MEB. @ storage/innobase/dict/dict0mem.c The include #include "ha_prototypes.h" Was causing conflicts with definitions in my_global.h Linking C executable mysqlbackup libinnodb.a(dict0mem.c.o): In function `dict_mem_foreign_table_name_lookup_set': dict0mem.c:(.text+0x91c): undefined reference to `innobase_get_lower_case_table_names' libinnodb.a(dict0mem.c.o): In function `dict_mem_referenced_table_name_lookup_set': dict0mem.c:(.text+0x9fc): undefined reference to `innobase_get_lower_case_table_names' libinnodb.a(dict0mem.c.o): In function `dict_mem_foreign_table_name_lookup_set': dict0mem.c:(.text+0x96e): undefined reference to `innobase_casedn_str' libinnodb.a(dict0mem.c.o): In function `dict_mem_referenced_table_name_lookup_set': dict0mem.c:(.text+0xa4e): undefined reference to `innobase_casedn_str' collect2: ld returned 1 exit status make[2]: *** [mysqlbackup] Error 1 innobase_get_lower_case_table_names innobase_casedn_str are functions that are part of ha_innodb.cc that is not part of the build dict_mem_foreign_table_name_lookup_set function is not there in the current codebase, meaning we do not use it in MEB. @ storage/innobase/fil/fil0fil.c The srv_fast_shutdown variable is declared in srv0srv.c that is not compiled in the mysqlbackup codebase. This throws an undeclared error. From the Manual --------------- innodb_fast_shutdown -------------------- The InnoDB shutdown mode. The default value is 1 as of MySQL 3.23.50, which causes a “fast� shutdown (the normal type of shutdown). If the value is 0, InnoDB does a full purge and an insert buffer merge before a shutdown. These operations can take minutes, or even hours in extreme cases. If the value is 1, InnoDB skips these operations at shutdown. This ideally does not matter from mysqlbackup @ storage/innobase/ha/ha0ha.c In file included from /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/ha/ha0ha.c:34:0: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/btr0sea.h:286:17: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token make[2]: *** [CMakeFiles/innodb.dir/home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/ha/ha0ha.c.o] Error 1 make[1]: *** [CMakeFiles/innodb.dir/all] Error 2 make: *** [all] Error 2 # include "sync0rw.h" is excluded from hotbackup compilation in dict0dict.h This causes extern rw_lock_t* btr_search_latch_temp; to throw a failure because the definition of rw_lock_t is not found. @ storage/innobase/include/buf0buf.h Excluding buffer pool functions that are unused from the MEB codebase. @ storage/innobase/include/buf0buf.ic replicated the exclusion of #include "buf0flu.h" #include "buf0lru.h" #include "buf0rea.h" by looking at the current codebase in <meb-trunk>/src/innodb @ storage/innobase/include/dict0dict.h dict_table_x_lock_indexes, dict_table_x_unlock_indexes, dict_table_is_corrupted, dict_index_is_corrupted, buf_block_buf_fix_inc_func are unused in MEB and was leading to compilation errors and hence excluded. @ storage/innobase/include/dict0dict.ic dict_table_x_lock_indexes, dict_table_x_unlock_indexes, dict_table_is_corrupted, dict_index_is_corrupted, buf_block_buf_fix_inc_func are unused in MEB and was leading to compilation errors and hence excluded. @ storage/innobase/include/log0log.h /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/log0log.h: At top level: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/log0log.h:767:2: error: expected specifier-qualifier-list before â⠂¬Ëœmutex_t’ mutex_t definitions were excluded as seen from ambient code hence excluding definition for log_flush_order_mutex also. @ storage/innobase/include/os0file.h Bug in InnoDB code, create_mode should have been create. @ storage/innobase/include/srv0srv.h In file included from /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/buf/buf0buf.c:50:0: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/srv0srv.h: At top level: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/srv0srv.h:120:16: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘srv_use_native_aio’ srv_use_native_aio - we do not use native aio of the OS anyway from MEB. MEB does not compile InnoDB with this option. Hence disabling it. @ storage/innobase/include/trx0sys.h [ 56%] Building C object CMakeFiles/innodb.dir/home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c.o /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c: In function ‘trx_sys_read_file_format_id’: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c:1499:20: error: ‘TRX_SYS_FILE_FORMAT_TAG_MAGIC_N’ undeclared (first use in this function) /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c:1499:20: note: each undeclared identifier is reported only once for each function it appears in /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c: At top level: /home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/include/buf0buf.h:607:1: warning: ‘buf_block_buf_fix_inc_func’ declared ‘static’ but never defined make[2]: *** [CMakeFiles/innodb.dir/home/narayanan/mysql-server/mysql-5.5-meb-rel3.8-innodb-integration-1/storage/innobase/trx/trx0sys.c.o] Error 1 unused calls excluded to enable compilation @ storage/innobase/mem/mem0dbg.c excluding #include "ha_prototypes.h" that lead to definitions in ha_innodb.cc @ storage/innobase/os/os0file.c InnoDB not compiled with aio support from MEB anyway. Hence excluding this from the compilation. @ storage/innobase/page/page0zip.c page0zip.c:(.text+0x4e9e): undefined reference to `buf_pool_from_block' collect2: ld returned 1 exit status buf_pool_from_block defined in buf0buf.ic, most of the file is excluded for compilation of MEB @ storage/innobase/ut/ut0dbg.c excluding #include "ha_prototypes.h" since it leads to definitions in ha_innodb.cc innobase_basename(file) is defined in ha_innodb.cc. Hence excluding that also. @ storage/innobase/ut/ut0ut.c cal_tm unused from MEB, was leading to earnings, hence disabling for MEB. |
||
---|---|---|
.. | ||
btr0btr.h | ||
btr0btr.ic | ||
btr0cur.h | ||
btr0cur.ic | ||
btr0pcur.h | ||
btr0pcur.ic | ||
btr0sea.h | ||
btr0sea.ic | ||
btr0types.h | ||
buf0buddy.h | ||
buf0buddy.ic | ||
buf0buf.h | ||
buf0buf.ic | ||
buf0flu.h | ||
buf0flu.ic | ||
buf0lru.h | ||
buf0lru.ic | ||
buf0rea.h | ||
buf0types.h | ||
data0data.h | ||
data0data.ic | ||
data0type.h | ||
data0type.ic | ||
data0types.h | ||
db0err.h | ||
dict0boot.h | ||
dict0boot.ic | ||
dict0crea.h | ||
dict0crea.ic | ||
dict0dict.h | ||
dict0dict.ic | ||
dict0load.h | ||
dict0load.ic | ||
dict0mem.h | ||
dict0mem.ic | ||
dict0types.h | ||
dyn0dyn.h | ||
dyn0dyn.ic | ||
eval0eval.h | ||
eval0eval.ic | ||
eval0proc.h | ||
eval0proc.ic | ||
fil0fil.h | ||
fsp0fsp.h | ||
fsp0fsp.ic | ||
fsp0types.h | ||
fut0fut.h | ||
fut0fut.ic | ||
fut0lst.h | ||
fut0lst.ic | ||
ha0ha.h | ||
ha0ha.ic | ||
ha0storage.h | ||
ha0storage.ic | ||
ha_prototypes.h | ||
handler0alter.h | ||
hash0hash.h | ||
hash0hash.ic | ||
ibuf0ibuf.h | ||
ibuf0ibuf.ic | ||
ibuf0types.h | ||
lock0iter.h | ||
lock0lock.h | ||
lock0lock.ic | ||
lock0priv.h | ||
lock0priv.ic | ||
lock0types.h | ||
log0log.h | ||
log0log.ic | ||
log0recv.h | ||
log0recv.ic | ||
mach0data.h | ||
mach0data.ic | ||
mem0dbg.h | ||
mem0dbg.ic | ||
mem0mem.h | ||
mem0mem.ic | ||
mem0pool.h | ||
mem0pool.ic | ||
mtr0log.h | ||
mtr0log.ic | ||
mtr0mtr.h | ||
mtr0mtr.ic | ||
mtr0types.h | ||
os0file.h | ||
os0file.ic | ||
os0proc.h | ||
os0proc.ic | ||
os0sync.h | ||
os0sync.ic | ||
os0thread.h | ||
os0thread.ic | ||
page0cur.h | ||
page0cur.ic | ||
page0page.h | ||
page0page.ic | ||
page0types.h | ||
page0zip.h | ||
page0zip.ic | ||
pars0grm.h | ||
pars0opt.h | ||
pars0opt.ic | ||
pars0pars.h | ||
pars0pars.ic | ||
pars0sym.h | ||
pars0sym.ic | ||
pars0types.h | ||
que0que.h | ||
que0que.ic | ||
que0types.h | ||
read0read.h | ||
read0read.ic | ||
read0types.h | ||
rem0cmp.h | ||
rem0cmp.ic | ||
rem0rec.h | ||
rem0rec.ic | ||
rem0types.h | ||
row0ext.h | ||
row0ext.ic | ||
row0ins.h | ||
row0ins.ic | ||
row0merge.h | ||
row0mysql.h | ||
row0mysql.ic | ||
row0purge.h | ||
row0purge.ic | ||
row0row.h | ||
row0row.ic | ||
row0sel.h | ||
row0sel.ic | ||
row0types.h | ||
row0uins.h | ||
row0uins.ic | ||
row0umod.h | ||
row0umod.ic | ||
row0undo.h | ||
row0undo.ic | ||
row0upd.h | ||
row0upd.ic | ||
row0vers.h | ||
row0vers.ic | ||
srv0srv.h | ||
srv0srv.ic | ||
srv0start.h | ||
sync0arr.h | ||
sync0arr.ic | ||
sync0rw.h | ||
sync0rw.ic | ||
sync0sync.h | ||
sync0sync.ic | ||
sync0types.h | ||
trx0i_s.h | ||
trx0purge.h | ||
trx0purge.ic | ||
trx0rec.h | ||
trx0rec.ic | ||
trx0roll.h | ||
trx0roll.ic | ||
trx0rseg.h | ||
trx0rseg.ic | ||
trx0sys.h | ||
trx0sys.ic | ||
trx0trx.h | ||
trx0trx.ic | ||
trx0types.h | ||
trx0undo.h | ||
trx0undo.ic | ||
trx0xa.h | ||
univ.i | ||
usr0sess.h | ||
usr0sess.ic | ||
usr0types.h | ||
ut0bh.h | ||
ut0bh.ic | ||
ut0byte.h | ||
ut0byte.ic | ||
ut0dbg.h | ||
ut0list.h | ||
ut0list.ic | ||
ut0lst.h | ||
ut0mem.h | ||
ut0mem.ic | ||
ut0rbt.h | ||
ut0rnd.h | ||
ut0rnd.ic | ||
ut0sort.h | ||
ut0ut.h | ||
ut0ut.ic | ||
ut0vec.h | ||
ut0vec.ic | ||
ut0wqueue.h |