This is port of fix for MySQL BUG#17647863.
revno: 5572
revision-id: jon.hauglid@oracle.com-20131030232243-b0pw98oy72uka2sj
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
timestamp: Thu 2013-10-31 00:22:43 +0100
message:
Bug#17647863: MYSQL DOES NOT COMPILE ON OSX 10.9 GM
Rename test() macro to MY_TEST() to avoid conflict with libc++.
- Fix accidental crash when closing domdoc xml table
modified:
storage/connect/domdoc.cpp
- Update table and index flags. Correct version number in maria_declare_plugin.
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mycat.cc
storage/connect/mycat.h
- Fix syntax error when getting columns of a non-select srcdef (discovery)
modified:
storage/connect/myconn.cpp
- Update some tests and result according to new flag setting
modified:
storage/connect/mysql-test/connect/r/alter.result
storage/connect/mysql-test/connect/r/dbf.result
storage/connect/mysql-test/connect/t/dbf.test
- Change some tracing tests to avoid too much test printed
modified:
storage/connect/plgdbutl.cpp
storage/connect/tabutil.cpp
storage/connect/value.cpp
Increase default pointer length for Aria tables to be able to handle big files without having to specify MAX_ROWS
mysql-test/suite/maria/icp.result:
Updated result
mysql-test/suite/maria/maria-preload.result:
More pages are needed with longer pointer length
mysql-test/suite/maria/maria.result:
Added more tests
mysql-test/suite/maria/maria.test:
Added more tests
storage/maria/ma_create.c:
Increase default pointer length for Aria tables to be able to handle big files without having to specify MAX_ROWS
storage/maria/ma_range.c:
Optimize records_in_range() to be more exact
storage/maria/ma_static.c:
Increase default pointer size
storage/maria/ma_test2.c:
Allow a bit larger errors in records_in_range
If yes, the in-place algorithm cannot be used (inward tables)
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
- add a test on ALTER TABLE
added:
storage/connect/mysql-test/connect/r/alter.result
storage/connect/mysql-test/connect/t/alter.test
Patches for server and the Innodb engine.
Server is fixed so it does nothing if no indexes left to alter.
Innodb parser is fixed so it looks for the IF [NOT] EXISTS option in a string.
Another change is that it uses the index name for the internal dictionary.
Prior to that it only used the CONSTRAINT name for it.
mysql-test/r/lowercase_table2.result:
Updated result
(The change happend because we don't try to open the table anymore as part of create table)
mysql-test/suite/rpl/r/create_or_replace_mix.result:
Fixed result file
mysql-test/suite/rpl/r/create_or_replace_row.result:
Fixed result file
mysql-test/suite/rpl/r/create_or_replace_statement.result:
Fixed result file
mysql-test/suite/rpl/t/create_or_replace.inc:
Drop open temporary table
mysys/my_delete.c:
Added missing newline
plugin/metadata_lock_info/mysql-test/metadata_lock_info/r/user_lock.result:
Fixed result
(Lock names was before off by one. Was corrected by my previous patch)
sql/sql_select.cc:
Fixed compiler warnings by adding missing casts
storage/connect/ha_connect.cc:
Fixed compiler warnings
storage/innobase/os/os0file.cc:
Fixed compiler warnings
storage/xtradb/btr/btr0btr.cc:
Fixed compiler warnings
storage/xtradb/handler/ha_innodb.cc:
removed not used function
strings/ctype-uca.c:
Fixed compiler warnings
support-files/compiler_warnings.supp:
Added suppression for warnings that are wrong or are not serious andthat we don't plan to fix.
Unlike MyISAM, InnoDB does not support boolean full-text searches on
nonindexed columns, but this restriction was not enforced, resulting
in queries that returned incorrect results. (Bug #16434374)
===================================================================
- Implement a first support of the ALTER TABLE command. This fixes MDEV-5440
but does much more than only that. See the details of how ALTER is supported
in the new documentation and also in MDEV-5440 comment.
This is done principally by implementing for CONNECT the virtual function
check_if_supported_inplace_alter.
modified:
storage/connect/connect.cc
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mysql-test/connect/r/bin.result
storage/connect/mysql-test/connect/r/csv.result
storage/connect/mysql-test/connect/r/dbf.result
storage/connect/mysql-test/connect/r/dir.result
storage/connect/mysql-test/connect/r/fix.result
storage/connect/mysql-test/connect/r/index.result
storage/connect/mysql-test/connect/r/ini.result
storage/connect/mysql-test/connect/r/occur.result
storage/connect/mysql-test/connect/r/pivot.result
storage/connect/mysql-test/connect/r/vec.result
storage/connect/mysql-test/connect/t/dbf.test
storage/connect/plugutil.c
storage/connect/user_connect.cc
- Fixes the tabname/table_name issue for XML tables. Implement
multiple files XML tables.
modified:
storage/connect/tabxml.cpp
storage/connect/tabxml.h
- Set to varchar(256) the fields of catalog tables stored
as STRBLK's (had length 0 --> CHAR(1))
Add the GetCharString function to the VALBLK class
modified:
storage/connect/ha_connect.cc
storage/connect/valblk.cpp
storage/connect/valblk.h
storage/connect/value.cpp
- Translate CONNECT error messages to system_charset
to avoid truncation on not ASCII characters.
modified:
storage/connect/ha_connect.cc
- Update version number
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/xml.result
- Move the TDBASE::data_charset body from xtable.h to table.cpp.
(dont' remember why)
modified:
storage/connect/table.cpp
storage/connect/xtable.h
- Other modifications are to enhance the support of OEM tables.
In particular, they can now provide column definition in dicovery.
modified:
storage/connect/colblk.h
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/mycat.cc
storage/connect/plgcnx.h
storage/connect/plgdbsem.h
storage/connect/xtable.h
- Or to add or modify tracing.
modified:
storage/connect/filamtxt.cpp
storage/connect/ha_connect.cc
storage/connect/plgdbutl.cpp
storage/connect/tabfix.cpp
storage/connect/tabmysql.cpp
Cleanups:
* remove unused HA_EXTRA_EXPORT (can be added later if needed, e.g. for Aria)
* clarify the meaning of HA_CAN_EXPORT
* make all engines that support EXPORT to announce it
* reduce code duplication
Syntax. Server support. Test cases.
InnoDB bugfixes:
* don't mess around with system sprintf's, always use my_error() for errors.
* don't use InnoDB internal error codes where OS error codes are expected.
* don't say "file not found", when it was.
Update InnoDB to 5.6.14
Apply MySQL-5.6 hack for MySQL Bug#16434374
Move Aria-only HA_RTREE_INDEX from my_base.h to maria_def.h (breaks an assert in InnoDB)
Fix InnoDB memory leak
Made stopping of slave more robust
Fixed tokudb test cases that gave different results between runs
Speed up some slow tokudb tests by adding begin ... commit
mysql-test/extra/rpl_tests/rpl_stop_slave.test:
Ensure that slaves are properly synced before they are stopped.
(Otherwise some tests results will be different between runs)
storage/innobase/buf/buf0buf.cc:
Fixed compiler warning
storage/tokudb/mysql-test/tokudb/r/cluster_filter_unpack_varchar_and_int_hidden.result:
Test case could be solved with index or range scan.
storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar_and_int_hidden.test:
Test case could be solved with index or range scan.
storage/tokudb/mysql-test/tokudb_bugs/r/5733_innodb.result:
Speed up test by adding begin...commit
storage/tokudb/mysql-test/tokudb_bugs/r/5733_tokudb.result:
Speed up test by adding begin...commit
storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test:
Speed up test by adding begin...commit
storage/tokudb/mysql-test/tokudb_bugs/t/5733_tokudb.test:
Speed up test by adding begin...commit
storage/tokudb/mysql-test/tokudb_mariadb/r/compression.result:
Added drop table (safety)
storage/tokudb/mysql-test/tokudb_mariadb/t/compression.test:
Added drop table (safety)
if two threads were calling mi_assign_to_key_cache() for the same table,
one could change share->key_cache while the other was having
share->key_cache->op_lock locked. The other thread would crash then,
trying to unlock share->key_cache->op_lock (because it would be a different mutex).
fixed by caching the value of share->key_cache in a local variable. The thread can still
call flush_key_blocks() for an unassigned keycache, but it's harmless.
Problem was that ALTER TABLE DISABLE KEYS incremented create_trid for the table,
which made the new index entries invisible until the global trid catched up.
Fixed by only updating create_trid if we are rewriting all rows and indexes.
mysql-test/suite/maria/alter.result:
Added test case
mysql-test/suite/maria/alter.test:
Added test case
storage/maria/ha_maria.cc:
Only updating create_trid if we are doing a full repair (and thus rewriting all rows and indexes).
storage/maria/trnman.c:
More DBUG_PRINT
storage/tokudb/mysql-test/tokudb_bugs/r/5733_innodb.result:
Speed up test
storage/tokudb/mysql-test/tokudb_bugs/r/5733_tokudb.result:
Speed up test
Fix results
storage/tokudb/mysql-test/tokudb_bugs/r/xa-6.result:
Ensure that mysql.proc is properly closed
storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test:
Speed up test
storage/tokudb/mysql-test/tokudb_bugs/t/5733_tokudb.test:
Speed up test
Accept both index and range scan for one query
storage/tokudb/mysql-test/tokudb_bugs/t/xa-6.test:
Ensure that mysql.proc is properly closed
mysql_upgrade --help now also prints out --default options and variable values.
mysql_upgrade now prints permission errors.
mysql_upgrade doesn't print some non essential info if --silent is used.
Added handler error message about incompatible versions
Fixed that mysqlbug and mysql_install_db have the executable flag set.
Removed executable flag for some non executable files.
Changed in mysql_install_db askmonty.org to mariadb.com.
Ensured that all client executables prints --default options the same way.
Allow REPAIR ... USE_FRM for old .frm files if the are still compatible.
Extended shown error for storage engine messages.
client/mysql.cc:
print_defaults() should be first (as in all other programs)
client/mysql_upgrade.c:
--help now also prints out --default options and variable values
Print out error if wrong permissions
Don't print info if --silent
client/mysqladmin.cc:
print_defaults() should be first (as in all other programs)
client/mysqlbinlog.cc:
Added print_defaults() to --help
client/mysqlcheck.c:
Added empty line in --help
client/mysqlimport.c:
Added empty line in --help
client/mysqlshow.c:
Made --help compatible
client/mysqlslap.c:
Made --help compatible
client/mysqltest.cc:
Added print_defaults() to --help
include/handler_ername.h:
Added handler error message
include/my_base.h:
Added handler error message
mysql-test/r/mysql_upgrade.result:
Updated results
mysql-test/r/repair.result:
Added test case for better error messages
mysql-test/std_data/host_old.MYD:
Added test case for better error messages
mysql-test/std_data/host_old.MYI:
Added test case for better error messages
mysql-test/std_data/host_old.frm:
Added test case for better error messages
mysql-test/t/repair.test:
Added test case for better error messages
mysys/my_handler_errors.h:
Added handler error message
scripts/CMakeLists.txt:
Fixed that mysqlbug and mysql_install_db have the executable flag set
scripts/mysql_install_db.sh:
askmonty.org -> mariadb.com
sql/ha_partition.cc:
Sometimes table_type() can be called for errors even if partition didn't manage to open any files
sql/handler.cc:
Write clear text for not handled, but defined error messages.
sql/share/errmsg-utf8.txt:
Extended shown error for storage engine messages
sql/sql_admin.cc:
Allow REPAIR ... USE_FRM for old .frm files if the are still compatible
storage/myisam/ha_myisam.cc:
Use new error message
- the problem was caused by EXPLAIN INSERT SELECT. For that statement,
the code would call select_insert::prepare2(), which would call
handler->ha_start_bulk_insert(). The corresponding handler->end_bulk_insert()
call is made from select_insert::send_eof or select_insert::abort_result_set
which are never called for EXPLAIN INSERT SELECT.
- Fixed by re-using approach of mysql-5.6: don't call ha_start_bulk_insert() if
we are in EXPLAIN.
- Updated help for mysql-test-run
- Added OQGraph to all cmake error output regarding OQGraph to make it easier to spot problems
- Suppressed warning messages from OQGraph
- Added test for version_malloc_library variable
mysql-test/mysql-test-run.pl:
Updated help
mysql-test/suite/sys_vars/r/version_malloc_library_basic.result:
Added test for version_malloc_library variable
mysql-test/suite/sys_vars/t/version_malloc_library_basic.test:
Added test for version_malloc_library variable
storage/oqgraph/CMakeLists.txt:
Added OQGraph to all cmake error output regarding OQGraph to make it easier to spot problems
storage/oqgraph/mysql-test/oqgraph/boundary_conditions.result:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/boundary_conditions.test:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/invalid_operations.result:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/invalid_operations.test:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/isnull.result:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/isnull.test:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/regression_1233113.result:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/regression_1233113.test:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/regression_drop_after.result:
Suppressed warning messages
storage/oqgraph/mysql-test/oqgraph/regression_drop_after.test:
Suppressed warning messages
- Added MALLOC_LIBRARY variable to hold name of malloc library
- Back ported valgrind related fixes from jemalloc 3.4.1 to the included jemalloc 3.3.1
- Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1
- Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc
- Show version related variables in mysqld --help
-- Added SHOW_VALUE_IN_HELP marker
Increased back_log to 150 as the original value was a bit too small
CMakeLists.txt:
Added MALLOC_LIBRARY variable to hold name of malloc library
cmake/jemalloc.cmake:
Added MALLOC_LIBRARY variable to hold name of malloc library
config.h.cmake:
Added MALLOC_LIBRARY variable to hold name of malloc library
extra/jemalloc/ChangeLog:
Updates changelog
extra/jemalloc/include/jemalloc/internal/arena.h:
Backported valgrind fixes from jemalloc 3.4.1
extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in:
Backported valgrind fixes from jemalloc 3.4.1
extra/jemalloc/include/jemalloc/internal/private_namespace.h:
Backported valgrind fixes from jemalloc 3.4.1
extra/jemalloc/include/jemalloc/internal/tcache.h:
Backported valgrind fixes from jemalloc 3.4.1
extra/jemalloc/src/arena.c:
Backported valgrind fixes from jemalloc 3.4.1
include/my_bitmap.h:
Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1
mysql-test/mysql-test-run.pl:
Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc
mysql-test/valgrind.supp:
Supression of memory leak in OpenSuse 12.3
mysys/my_bitmap.c:
Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free()
sql/ha_ndbcluster_binlog.cc:
Renames
sql/ha_ndbcluster_cond.h:
Renames
sql/ha_partition.cc:
Renames
sql/handler.cc:
Renames
sql/item_subselect.cc:
Renames
sql/log_event.cc:
Renames
sql/log_event_old.cc:
Renames
sql/mysqld.cc:
Renames
Show version related variables in mysqld --help
sql/opt_range.cc:
Renames
sql/opt_table_elimination.cc:
Renames
sql/partition_info.cc:
Renames
sql/rpl_injector.h:
Renames
sql/set_var.h:
Renames
sql/slave.cc:
Renames
sql/sql_bitmap.h:
Renames
sql/sql_insert.cc:
Renames
sql/sql_lex.h:
Renames
sql/sql_parse.cc:
Renames
sql/sql_partition.cc:
Renames
sql/sql_select.cc:
Renames
sql/sql_show.cc:
Renames
sql/sql_update.cc:
Renames
sql/sys_vars.cc:
Show version related variables in mysqld --help
sql/sys_vars.h:
Added SHOW_VALUE_IN_HELP marker for variables that should be shown in --help
sql/table.cc:
Renames
sql/table.h:
Removed not used bitmap_init_value
storage/connect/ha_connect.cc:
Removed compiler warning
storage/maria/ma_open.c:
Renames
unittest/mysys/bitmap-t.c:
Renames
LOCAL TABLE WHEN ONLY 1 LOCAL ROW
Description: When updating a federated table with UPDATE...
JOIN, the server consistently crashes with Signal 11 when
only 1 row exists in the local table involved in the join
and that 1 row can be joined with a row in the federated
table.
Analysis: Interaction between the federated engine and the
optimizer results in the crash. In our scenario, ie, local
table having only one row, the program is following a
different path because the table is treated as a constant
table by the join optimizer. So in this scenario
"index_read()" is happening in the prepare phase,
since optimizer plan is different for constant table joins.
In this case, "index_read_idx_map()" (inside handler.cc) is
calling "index_read()" and inside "index_read()", matching
rows are fetched and "stored_result" gets populated by
calling "store_result()". And just after "index_read()",
"index_end()" function is called. And in the "index_end()",
its freeing the "stored_result" by calling "free_result()".
So when it reaches the execution phase, in "position()"
function, we are getting assertion at
"DBUG_ASSERT(stored_result);". In all other scenarios (ie,
table with more than 1 row), optimizer plan is different
and "index_read()" is happening in the execution phase.
Fix: So my fix is to have a separate ha_federated member
function for "index_read_idx_map()" which will handle
federated engine separately. So that position() will be
called before index_end() call in constant table scenario.
ERRORS IN THE FK SECTION
ANALYSIS
--------
Any error during the renaming of the table was
incorrectly logged in the dict_foreign_err_file
and it showed up in foreign key section when
we give the query "show engine innodb status".
FIX
---
Prevent renaming error from being logged in
dict_foreign_err_file section.
[Aprooved by marko #rb 2501 ]
support ha_innodb.so as a dynamic plugin.
* remove obsolete *,innodb_plugin.rdiff files
* s/--plugin-load=/--plugin-load-add=/
* MYSQL_PLUGIN_IMPORT glob_hostname[]
* use my_error instead of push_warning_printf(ER_DEFAULT)
* don't use tdc_size and tc_size in a module
update test cases (XtraDB is 5.6.14, InnoDB is 5.6.10)
* copy new tests over
* disable some tests for (old) InnoDB
* delete XtraDB tests that no longer apply
small compatibility changes:
* s/HTON_EXTENDED_KEYS/HTON_SUPPORTS_EXTENDED_KEYS/
* revert unnecessary InnoDB changes to make it a bit closer to the upstream
fix XtraDB to compile on Windows (both as a static and a dynamic plugin)
disable XtraDB on Windows (deadlocks) and where no atomic ops are available (e.g. CentOS 5)
storage/innobase/handler/ha_innodb.cc:
revert few unnecessary changes to make it a bit closer to the original InnoDB
storage/innobase/include/univ.i:
correct the version to match what it was merged from
Also known as MySQL#70047 and BUG#17316314 (srv_buf_size not declared).
The workaround is taken from MySQL 5.6 tree:
BUG#17316314 - SRV_BUF_SIZE NOT DECLARED
Temporary fix. Disabling FALLOC_FL_PUNCH_HOLE for now
storage/oqgraph into 10.0
- fixed sys_vars.all_vars (added oqgraph_allow_create_integer_latch_basic.test)
- since oqgraph depends on Judy, move it to a separate package
processing that takes care of:
- Drastically reduce the amount of storge needed to process them.
- Handle longjmp's.
- Makes the line limit an opion (MAXRES)
- Schema can also be specified with the DBNAME option.
- Issue warnings on fetch errors or when result lines have been limited.
- Change some column names to reflect ODBC version 3 standard.
The documentation have been updated accordingly
modified:
storage/connect/filamdbf.cpp
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/mysql-test/connect/r/odbc.result
storage/connect/mysql-test/connect/r/odbc_postgresql.result
storage/connect/mysql-test/connect/r/odbc_sqlite3.result
storage/connect/mysql-test/connect/r/odbc_xls.result
storage/connect/mysql-test/connect/r/xml.result
storage/connect/mysql-test/connect/t/odbc_postgresql.test
storage/connect/odbccat.h
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/plgdbsem.h
storage/connect/plgdbutl.cpp
storage/connect/rcmsg.c
storage/connect/tabfmt.cpp
storage/connect/table.cpp
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
storage/connect/tabutil.cpp
storage/connect/tabwmi.cpp
storage/connect/user_connect.cc
storage/connect/valblk.cpp
storage/connect/valblk.h
storage/connect/value.cpp
This test needs at least 320M for tokudb-max-lock-memory.
Normally tokudb-max-lock-memory is auto-sized to be 1/16th
of the available RAM size, and many our test VMs have 4G of RAM.
modified:
storage/connect/plgdbutl.cpp
- Update type translation to take care of type_modifiers
modified:
storage/connect/ha_connect.cc
storage/connect/myutil.cpp
storage/connect/myutil.h
storage/connect/odbconn.cpp
with the same names present in multiple schemas
The "TABNAME" option now supports qualified table names,
to connect to tables residing in a particular schema and catalog.
Qualified table names have the following format:
[[CatalogName.]SchemaName.]TableName
Qualified table names can be used:
1. In "normal" tables:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=ConnectEng;UID=mtr;PWD=mtr'
TABNAME='schema1.t1';
2. In catalog tables (CATFUNC=Tables and CATFUNC=Columns)
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.t1';
Note, the % and _ wildcards are supported in
the schema name and the table name parts:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='%.t1';
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.%';
DESTRUCTED THD OBJ
Prior to fix, function check_performance_schema() could leave
behind stale pointers in thread local storage, for the following keys:
- THR_THD (used by _current_thd)
- THR_MALLOC (used for memory allocation)
This is an unsafe practice, which can potentially cause crashes,
and that can cause other bugs when code is modified during maintenance.
With this fix, thread local storage keys used temporarily within
function check_performance_schema() are cleaned up after use.
modified:
storage/connect/tabutil.cpp
- Fix test results to reflect the fact that in discovery, column defaults
are now retrieved for the MYSQL table type.
modified:
storage/connect/mysql-test/connect/r/mysql_discovery.result
storage/connect/mysql-test/connect/r/mysql_new.result
- Restore Unix line endings
modified:
storage/connect/value.cpp
Fix ha_myisammrg::update_create_info() to do what ha_myisammrg::append_create_info() does -
take sub-table names from TABLE_LIST, not reverse engineer tablefile names.
Backport praveenkumar.hulakund@oracle.com-20120127081643-u7dxy23i8yyqarm7 from mysql-5.6
fix the code to compile with clang. fix warnings too.
include/probes_mysql_nodtrace.h:
clang++ doesn't like numeric _constants_ being used in ||
(it suspects that the intention was | ). Boolean constants are ok.
sql/hostname.cc:
only used in DBUG_ASSERT
sql/item.cc:
str_to_time and str_to_datetime return bool, not MYSQL_TIMESTAMP_xxx
sql/item_func.cc:
str_to_datetime_with_warn() returns bool, not MYSQL_TIMESTAMP_xxx
storage/cassandra/CMakeLists.txt:
CMAKE_CXX_FLAGS can be empty
storage/connect/odbconn.cpp:
HWND is void*
storage/connect/user_connect.h:
deprecated on FreeBSD and unused anyway
storage/connect/value.cpp:
bad characters inside. unused.
storage/spider/spd_trx.cc:
clang++ warns that memset will also overwrite vtbl. it might be as well a good idea,
as it asserts that the object will only be used as a storage.
silence the warning.
merged from 5.6:
Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING
Bug#16589511: MYSQL_UPGRADE FAILS TO WRITE OUT ENTIRE ALTER TABLE ... ALGORITHM= ... STATEMENT
Bug#16274455: CAN NOT ACESS PARTITIONED TABLES WHEN DOWNGRADED FROM 5.6.11 TO 5.6.10
plus minor changes from 5.6, mainly comments
modified:
storage/connect/ha_connect.cc
storage/connect/value.cpp
- Fix the way GetPlug works (was not updating xp)
modified:
storage/connect/ha_connect.cc
Analysis: When filespace is extended there is first prepare for IO. But if
posix_fallocate is used there was no complete IO causing assertion
at shutdown indicating that all IO is not finished.
Fix: If posix_fallocate is used to extend the filespace, there
is no need to wait for IO to complete, thus we treat this
operation as a read operation. We need to mark IO as
completed or there would be assertion on shutdown at
fil_node_close_file() because all pending IO is not finished.
Fixed the following compilation errors and test failures:
- maria SE: "stage_waiting_for_a_resource" wasn't declared w/o PFS
- sql_repl.h: PSI_mutex_key is not available in non-PFS builds
- mysqld.cc: pfs_param is not available in non-PFS builds
- mysqld.cc: init_show_explain_psi_keys() is not available in non-PFS builds
- mysqld.cc: call net_before_header_psi, net_after_header_psi even if PFS
is not available so that thread enters stage_init at proper time. Fixes
sp-threads and a few tests in funcs_1.
- myisam_file_io.opt: added missing loose prefix
restore old innodb get_innobase_type_from_mysql_type() function,
record all mysql_type->innodb_type mapping
(as generated by mysql-5.6).
add safety code to disable online alter when internal types don't match
storage/innobase/dict/dict0stats.cc:
revert to 5.6 state
and MYSQL CONNECT tables to take care of kewords such as IGNORE.
modified:
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h