Fixing compilation failure on Solaris.
The int64_t type was not defined because stdint.h was not included
due to a missing definition in pcre/config-cmake.h.in.
PCRE unit tests failed on Ubuntu Precise, because "source"
is not a known command in "dash" (the default shell in Precise).
Changing "source" to ".", which should be understood in all shells.
Apparently in a general case a short-cut for the distinct optimization
is invalid if join buffers are used to join tables after the tables whose
values are to selected.
MDEV-4425 Regexp enhancements
Adding ${CMAKE_BINARY_DIR}/pcre into search path for *.h files.
Needed for find pcre.h (which is generated from pcre.h.in) when
build directory != source directory.
Adding ${CMAKE_BINARY_DIR}/pcre into search path for *.h files.
Needed for find pcre.h (which is generated from pcre.h.in) when
build directory != source directory.
- Make EXPLAIN UPDATE/DELETE work inside SPs
- Return correct error code from mysql_delete()
- EXPLAIN <multi-DELETE> will create a multi_delete object (as it
affects the optimization). select_result will be only used for
producing EXPLAIN output.
--replace_regex /.prefix.sql.share.charsets[/\]/MYSQL_CHARSETSDIR/
select @@global.character_sets_dir;
The intention of the '[/\]' part was to replace both slash
'/' and backslash '\\', so it does not depend on the OS.
The pattern '[/\]' was actually wrong, because ']' is escaped
and should be considered as a part of the class, instead of
being a closing bracket for the class. However, due to some bug
in the old REGEX library it worked fine.
After switching to PCRE, mysqltest correctly complains about unbalaced '[]'.
The expected correct pattern should be '[/\\]'.
However, due to some bug in mysqltest, it eats consequetive baskslashes
in a strange way, so there is no a way to have to consequetive
backslashes after unescaping.
Workaround:
using [[:punct:]] as a pattern that matches both slash and backslash,
which should be fine for this test purposes.
libmysqld.a(pcre_exec.c.o): relocation R_X86_64_32S against
`_pcre_ucd_stage1' can not be used when making a shared object;
make[2]: Leaving directory `/mnt/buildbot/build/mariadb-10.0.3'
recompile with -fPIC
Changing ADD_LIBRARY(pcre) to ADD_CONVENIENCE_LIBRARY(pcre)
"PCRE_STATIC" must be defined before including pcre.h
to avoid linking errors:
- unresolved external symbol __imp_regerror
- unresolved external symbol __imp_pcre_exec
- Query plan footprint (in new terms, "EXPLAIN structure") should always keep
a copy of key_name. This is because the table might be a temporary table which
may be already freed by the time we use query plan footprint.
Other fix of maybe_null problem and revert of revno: 3608 "MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery from a MERGE view."
Bundled jemalloc can only be on Linux and OSX without problems.
On BSDs, build fails because make does not understand GNU extensions (also BSDs do not need jemalloc, it is already system malloc).
On Solaris, build fails with compile error.
- Better error message when using huge pages
- Fixed link error
- Test suite should run even on system with huge pages
storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
Fixed that linking works on systems that uses lib64
storage/tokudb/ft-index/portability/huge_page_detection.cc:
Better error message
storage/tokudb/mysql-test/rpl/suite.pm:
Test suite should run even on system with huge pages
storage/tokudb/mysql-test/tokudb/suite.pm:
Test suite should run even on system with huge pages