Removed compiler warnings
extra/libevent/epoll.c:
Removed compiler warnings
extra/libevent/evbuffer.c:
Removed compiler warnings
extra/libevent/event.c:
Removed compiler warnings
extra/libevent/select.c:
Removed compiler warnings
extra/libevent/signal.c:
Removed compiler warnings
include/m_ctype.h:
Define CHARSET_INFO, MY_CHARSET_HANDLER, MY_COLLATION_HANDLER, MY_UNICASE_INFO, MY_UNI_CTYPE and MY_UNI_IDX as const structures.
Declare that pointers point to const data
include/m_string.h:
Declare that pointers point to const data
include/my_sys.h:
Redefine variables and function prototypes
include/mysql.h:
Declare charset as const
include/mysql.h.pp:
Declare charset as const
include/mysql/plugin.h:
Declare charset as const
include/mysql/plugin.h.pp:
Declare charset as const
mysys/charset-def.c:
Charset can't be of type CHARSET_INFO as they are changed when they are initialized.
mysys/charset.c:
Functions that change CHARSET_INFO must use 'struct charset_info_st'
Add temporary variables to not have to change all_charsets[] (Which now is const)
sql-common/client.c:
Added cast to const
sql/item_cmpfunc.h:
Added cast to avoid compiler error.
sql/sql_class.cc:
Added cast to const
sql/sql_lex.cc:
Added cast to const
storage/maria/ma_ft_boolean_search.c:
Added cast to avoid compiler error.
storage/maria/ma_ft_parser.c:
Added cast to avoid compiler error.
storage/maria/ma_search.c:
Added cast to const
storage/myisam/ft_boolean_search.c:
Added cast to avoid compiler error
storage/myisam/ft_parser.c:
Added cast to avoid compiler error
storage/myisam/mi_search.c:
Added cast to const
storage/pbxt/src/datadic_xt.cc:
Added cast to const
storage/pbxt/src/ha_pbxt.cc:
Added cast to const
Removed compiler warning by changing prototype of XTThreadPtr()
storage/pbxt/src/myxt_xt.h:
Character sets should be const
storage/pbxt/src/xt_defs.h:
Character sets should be const
storage/xtradb/btr/btr0cur.c:
Removed compiler warning
strings/conf_to_src.c:
Added const
Functions that change CHARSET_INFO must use 'struct charset_info_st'
strings/ctype-big5.c:
Made arrays const
strings/ctype-bin.c:
Made arrays const
strings/ctype-cp932.c:
Made arrays const
strings/ctype-czech.c:
Made arrays const
strings/ctype-euc_kr.c:
Made arrays const
strings/ctype-eucjpms.c:
Made arrays const
strings/ctype-extra.c:
Made arrays const
strings/ctype-gb2312.c:
Made arrays const
strings/ctype-gbk.c:
Made arrays const
strings/ctype-latin1.c:
Made arrays const
strings/ctype-mb.c:
Made arrays const
strings/ctype-simple.c:
Made arrays const
strings/ctype-sjis.c:
Made arrays const
strings/ctype-tis620.c:
Made arrays const
strings/ctype-uca.c:
Made arrays const
strings/ctype-ucs2.c:
Made arrays const
strings/ctype-ujis.c:
Made arrays const
strings/ctype-utf8.c:
Made arrays const
strings/ctype-win1250ch.c:
Made arrays const
strings/ctype.c:
Made arrays const
Added cast to const
Functions that change CHARSET_INFO must use 'struct charset_info_st'
strings/int2str.c:
Added cast to const
Don't use static link by default (in compile-pentium) as some new systems doesn't have all static libraries available
Change type for functions in plugin.h:str_mysql_ftparser_param() to const unsigned char and string lengths to size_t.
One effect of the above change is that one needs to include mysql_global.h or define size_t before including plugin.h
This fixes a case where mysql_client_test failed with newer gcc that enables strict-aliasing by default
BUILD/compile-pentium:
Don't use static link by default as some new systems doesn't have all static libraries available
client/mysql_upgrade.c:
Remove not used variable
cmd-line-utils/readline/config_readline.h:
Define some constants to get rid of compiler warnings on Linux
cmd-line-utils/readline/display.c:
Get rid of compiler warnings
cmd-line-utils/readline/history.c:
Got rid of compiler warnings:
- Defining some strings as const
- Added cast
cmd-line-utils/readline/rlmbutil.h:
Added cast to get rid of compiler warnings
cmd-line-utils/readline/text.c:
Remove not needed initialization to get rid of compiler warnings
cmd-line-utils/readline/xmalloc.c:
Changed types to 'const char* to get rid of compiler warnings
configure.in:
Ensure that we use MariaDB as suffix
include/mysql/plugin.h:
Changed types to 'const unsigned char* to get rid of compiler warnings (in other parts of the code)
Change length for not \0 terminated string to size_t
include/mysql/plugin.h.pp:
Update related to plugin.h
libmysql/libmysql.c:
Fixed bug that caused core dump with newer gcc when strict aliasing is not turned off
mysql-test/t/information_schema.test:
Test is depending on innodb
mysql-test/t/not_partition.test:
Fixed wrong directory name
(Not noticed before as we don't ususally run this test)
mysys/lf_hash.c:
Got rid of compiler warnings from -Wstrict-aliasing
mysys/my_redel.c:
Removed not used variable
regex/engine.c:
Changed types to 'const char* to get rid of compiler warnings
regex/engine.ih:
Changed types to 'const char* to get rid of compiler warnings
sql/sp_head.cc:
Got rid of compiler warning from -Wstrict-aliasing
sql/sql_base.cc:
Got rid of compiler warnings from -Wstrict-aliasing
(The original code was probably wrong as nj_col->table_field was
sql/sql_builtin.cc.in:
plugin.h needs to have size_t defined
sql/sql_parse.cc:
Remove used variable
sql/sql_select.cc:
Got rid of compiler warnings from -Wstrict-aliasing
sql/sql_show.cc:
Added #ifdef to get rid of compiler warning when not using partition engine
sql/table.cc:
Got rid of compiler warning from -Wstrict-aliasing
storage/maria/ha_maria.cc:
Got rid of compiler warnings from -Wstrict-aliasing:
- Use the thd_killed() API function
storage/maria/lockman.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/maria/ma_check.c:
Got rid of compiler warnings from -Wstrict-aliasing
Change to use new version of _ma_killed_ptr; Don't call it as often as before
storage/maria/ma_check_standalone.h:
Update to compatible _ma_killed_ptr() from ha_maria.cc
storage/maria/ma_ft_boolean_search.c:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/maria/ma_ft_nlq_search.c:
Got rid of compiler warnings from -Wstrict-aliasing
Ensure that 'subkeys' is 32 bit
storage/maria/ma_ft_parser.c:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/maria/ma_ftdefs.h:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/maria/ma_sort.c:
Change to use new version of _ma_killed_ptr; Don't call it as often as before
storage/maria/ma_state.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/maria/maria_def.h:
Redefine ma_killed_ptr()
storage/maria/maria_ftdump.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/maria/trnman.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/myisam/ft_boolean_search.c:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/myisam/ft_nlq_search.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/myisam/ft_parser.c:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/myisam/ft_stopwords.c:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/myisam/ftdefs.h:
Changed pointers from char -> const char* and length to size_t (to get rid of compiler warnings and casts)
storage/myisam/ha_myisam.cc:
Got rid of compiler warnings from -Wstrict-aliasing:
- Use the thd_killed() API function
storage/myisam/mi_check.c:
Use new killed_ptr() function
storage/myisam/myisam_ftdump.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/myisam/myisamchk.c:
Update to compatible killed_ptr() from ha_myisam.cc
storage/myisam/myisamdef.h:
Redefine killed_ptr()
storage/myisam/myisamlog.c:
Got rid of compiler warnings from -Wstrict-aliasing
storage/myisam/sort.c:
Change to use new version of killed_ptr; Don't call it as often as before
storage/xtradb/fil/fil0fil.c:
Fixedc ompiler warning
storage/xtradb/trx/trx0i_s.c:
Include mysql_plugin.h later to ensure that size_t is defined
- Moved some code from innodb_plugin to xtradb, to ensure that all tests runs
- Did changes in pbxt and maria storage engines becasue of changes in thd->query
- Reverted wrong code in sql_table.cc for how ROW_FORMAT is used.
This is a re-commit of Monty's merge to eliminate an extra commit from
MySQL-5.1.42 that was accidentally included in the merge.
This is a merge of the MySQL 5.1.41 clone-off (clone-5.1.41-build). In
case there are any extra changes done before final MySQL 5.1.41
release, these will need to be merged later before MariaDB 5.1.41
release.
sql/mysqld.cc:
Explicit type casting required by windows x64 compiler.
storage/xtradb/include/srv0srv.h:
Parameters should be declared as ulong.
storage/xtradb/srv/srv0srv.c:
Parameters should be declared as ulong.
- Fix XtraDB to be built as a static library.
storage/xtradb/buf/buf0flu.c:
Fix previous merge error (was harmless except for on win32)
storage/xtradb/plug.in:
Make it sync with innobase/plug.in.disabled
mysql-test/t/mysqldump.test:
Make test case work when build directory is not world readable
(this is the case for Buildbot checkouts).
mysys/my_getopt.c:
Restore bugfix which was lost in previous merge.
storage/xtradb/buf/buf0flu.c:
Fix extranous line caused by bad merge.
Add suppressions for a few warnings that cannot be meaningfully fixed by
MariaDB developers.
Changes for XtraDB, PBXT, and YaSSL also submitted upstream.
Also add a `ccfilter` wrapper that can be used to filter out suppressed warnings in a
local build (to check that new warnings are not introduced).
client/mysqlbinlog.cc:
Fix compiler warnings.
config/ac-macros/misc.m4:
Fix wrong naming, autoconfig requires _cv_ in cached names.
extra/yassl/include/yassl_int.hpp:
Fix compiler warnings.
extra/yassl/src/handshake.cpp:
Fix compiler warnings.
extra/yassl/src/yassl_imp.cpp:
Fix compiler warnings.
extra/yassl/src/yassl_int.cpp:
Fix compiler warnings.
extra/yassl/taocrypt/include/modes.hpp:
Fix compiler warnings.
extra/yassl/taocrypt/src/asn.cpp:
Fix compiler warnings.
mysys/my_compress.c:
Fix compiler warnings.
sql/mysqld.cc:
Fix compiler warnings.
sql/strfunc.cc:
Fix compiler warnings.
storage/pbxt/src/discover_xt.cc:
Fix compiler warnings.
storage/xtradb/fil/fil0fil.c:
Fix compiler warnings.
storage/xtradb/mtr/mtr0mtr.c:
Fix compiler warnings.
storage/xtradb/srv/srv0srv.c:
Fix compiler warnings.
storage/xtradb/srv/srv0start.c:
Fix compiler warnings.
strings/decimal.c:
Fix compiler warnings.
support-files/ccfilter:
Add helper for suppressing compiler warnings in local developer source tree.
Allows to check for not introducing new warnings into Buildbot without having to actually
run the build through Buildbot.
support-files/compiler_warnings.supp:
Suppress a few warnings that cannot be meaningfully fixed in source code.
- Add strmov_overlapp.c where it's needed
- Add libevent where it is required
- Fix typo in unittest/mysys/waiting_threads-t.c
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
libmysql/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
sql/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
- Add libevent where it is required
storage/xtradb/btr/btr0cur.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/buf/buf0buddy.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/buf/buf0flu.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/fil/fil0fil.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/handler/i_s.cc:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
storage/xtradb/srv/srv0srv.c:
- fix xtradb C language source so that they have variable declarations before
any operators, as it is (or was?) required in C.
strings/CMakeLists.txt:
- Add strmov_overlapp.c where it's needed
unittest/mysys/waiting_threads-t.c:
- Fix typo in unittest/mysys/waiting_threads-t.c
- Better fix for --innodb-use-sys-malloc causing Valgrind warnings.
- Different fix for INNODB_IBUF_MAX_SIZE variable changing default value.
- Fix some problems with the safe mutex lazy init patch.
mysql-test/include/mtr_check.sql:
Do not check INNODB_IBUF_MAX_SIZE for changes. It is not a dynamic variable, so cannot
be changed by a test case anyway, and the value may vary slightly from one start of the
server to the next.
mysql-test/lib/mtr_cases.pm:
Even just starting and stopping the server with --innodb-use-sys-malloc to check for
disabled test case under valgrind will cause valgrind leak warnings. So add not_valgrind
to the list of conditions also tested for directly in mysql-test-run.pl.
mysql-test/mysql-test-run.pl:
Even just starting and stopping the server with --innodb-use-sys-malloc to check for
disabled test case under valgrind will cause valgrind leak warnings. So add not_valgrind
to the list of conditions also tested for directly in mysql-test-run.pl.
mysys/thr_mutex.c:
Fix a few problems found during review of the lazy init safe mutex patch.
storage/xtradb/ibuf/ibuf0ibuf.c:
Revert previous fix of INNODB_IBUF_MAX_SIZE default varying slightly between server starts.
(Fixed instead by ignoring that variable in the test suite).
Manually merge some InnoDB changes into XtraDB.
Fix ALTER TABLE bug in XtraDB with wrong comparison of row type.
mysql-test/include/varchar.inc:
Fix in test case that which of several duplicate keys triggers an error is not
deterministic.
mysql-test/mysql-test-run.pl:
InnoDB does not bother to free resources individually during shutdown, but due to using
its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
option, on by default, to skip this extra tracking. This causes lots of Valgrind
warnings, so needs to be disabled for Valgrind testing.
mysql-test/r/innodb.result:
Fix in test case that which of several duplicate keys triggers an error is not
deterministic.
mysql-test/t/innodb-use-sys-malloc.test:
InnoDB does not bother to free resources individually during shutdown, but due to using
its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
option, on by default, to skip this extra tracking. This causes lots of Valgrind
warnings, so needs to be disabled for Valgrind testing.
sql/sql_table.cc:
Add some useful DBUG while debugging alter table.
storage/xtradb/handler/ha_innodb.cc:
Fix that check_if_incompatible_data did not realise that ROW_TYPE_DEFAULT is identical
to the default row format ROW_TYPE_COMPACT, causing excessive table copying in
ALTER TABLE
Add some useful DBUG while debugging alter table.
Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
storage/xtradb/include/pars0pars.h:
Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
storage/xtradb/include/univ.i:
Manually merge a MariaDB fix in InnoDB into XtraDB.
include/my_sys.h:
Move generic file parsing functions out to shared code, as they are used in several places.
mysys/mf_iocache2.c:
Move generic file parsing functions out to shared code, as they are used in several places.
sql/log_event.cc:
Fix XtraDB build with embedded server.
XtraDB needs access to replication stuff, which is missing in embedded server.
Solved by defining wrapper function for this which is compiled differently for normal and
embedded case.
sql/log_event.h:
Fix XtraDB build with embedded server.
XtraDB needs access to replication stuff, which is missing in embedded server.
Solved by defining wrapper function for this which is compiled differently for normal and
embedded case.
sql/slave.cc:
Move generic file parsing functions out to shared code, as they are used in several places.
Fixes to get the test suite to run without failures.
mysql-test/r/information_schema.result:
Additional variables available now.
Sort output to avoid depending on engine order.
mysql-test/r/information_schema_all_engines.result:
More variables now.
mysql-test/r/innodb-autoinc.result:
Avoid picking up pbxt variables in result
mysql-test/r/innodb-index.result:
Save state to not corrupt following testcases.
Suppress an expected warning.
mysql-test/r/innodb-zip.result:
Work around a problem with dependency on zlib version
mysql-test/r/innodb.result:
Checksums have changed in Maria.
Save and restore server state to not corrupt following testcases.
mysql-test/r/innodb_bug36169.result:
Save and restore server state to not corrupt following testcases.
mysql-test/r/innodb_xtradb_bug317074.result:
Save and restore server state to not corrupt following testcases.
mysql-test/r/row-checksum-old.result:
Update result file
mysql-test/r/row-checksum.result:
Update result file
mysql-test/t/information_schema.test:
Sort output to avoid depending on engine order.
mysql-test/t/innodb-analyze.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb-autoinc.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb-index.test:
Save state to not corrupt following testcases.
Suppress an expected warning.
mysql-test/t/innodb-zip.test:
Work around a problem with dependency on zlib version
mysql-test/t/innodb.test:
Save and restore server state to not corrupt following testcases.
Update --replace statements for new mysql-test-run
mysql-test/t/innodb_bug34300.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_bug36169.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_bug36172.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/innodb_xtradb_bug317074.test:
Save and restore server state to not corrupt following testcases.
mysql-test/t/partition_innodb.test:
Fix regexps to work with new SHOW INNODB STATUS output.
mysys/thr_mutex.c:
Initialize mutex deadlock detection lazily.
This allows to test XtraDB, which initializes huge amounts of mutexes without using any but a few of them.
storage/xtradb/ibuf/ibuf0ibuf.c:
Fix problem where value of INNODB_IBUF_MAX_SIZE would depend on the alignment of memory
allocated by the buffer pool.
storage/xtradb/include/sync0rw.h:
Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
when they are not available though).
storage/xtradb/include/sync0rw.ic:
Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
when they are not available though).
storage/xtradb/include/univ.i:
Fix for MariaDB
storage/xtradb/setup.sh:
Remove no longer needed file from XtraDB.
storage/xtradb/srv/srv0start.c:
Fix for MariaDB
The original XtraDB (and InnoDB plugin) is shipped as a separate source tree which is copied
into the MySQL source, after which a setup.sh script must be run to move things into place.
Now that XtraDB is part of the MariaDB source tree, this commit fixes these things up once
and for all:
- New innodb build scripts.
- Test suite fixes (new tests and patches to existing).
- Remove files no longer needed due to this.
.bzrignore:
XtraDB compiles innodb in storage/xtradb instead of storage/innobase
CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
libmysqld/CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/innobase/plug.in.disabled:
Disable building old InnoDB from storage/innobase/ directory.
We will keep the files around to avoid getting merge conflicts for every MySQL upstream
change to InnoDB.
storage/xtradb/CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/COPYING:
Remove not needed file from XtraDB.
storage/xtradb/Makefile.am:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/Makefile.in:
Remove not needed file from XtraDB.
storage/xtradb/handler/ha_innodb.cc:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/plug.in:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/row/row0ins.c:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/