1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-12 12:25:37 +03:00
Commit Graph

85455 Commits

Author SHA1 Message Date
Sergey Petrunya
5e4044e92c MDEV-5093, MDEV-5094:
- Make EXPLAIN {PARTITIONS,EXTENDED} {UPDATE,DELETE} work.
2013-10-04 18:50:47 +04:00
Alexander Barkov
43c09c15ff MDEV-4425 Regexp enhancements
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.
2013-10-04 09:57:30 +04:00
unknown
2f4db5348a MDEV-4981: Account for queries handled by query-cache in USER_STATISTICS (and in HOST_STATISTICS)
Added collection statistics for queries resolved via query cache.
2013-10-04 08:33:09 +03:00
Alexander Barkov
c8e6cb9643 MDEV-4425 Regexp enhancements
Clean-up: moving initialization of my_string_stack_guard
and pcre_stack_guard into init_libstrings() and init_pcre().
2013-10-03 16:42:20 +04:00
Alexander Barkov
30ad3354b9 MDEV-4425 Regexp enhancements
Adding tests with 0x00 characters from

Bug#70470 REGEXP fails to find matches after NUL character
2013-10-03 14:28:57 +04:00
Alexander Barkov
01f833569b MDEV-4425 Regexp enhancements
Adding more tests for case sensitivity,
with various collation and (?i) flags combinations.
2013-10-03 14:24:16 +04:00
Alexander Barkov
f37e0a885a MDEV-4425 Regexp enhancements
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.
2013-10-03 10:58:41 +04:00
Igor Babaev
00816a964f Fixed bug mdev-5028.
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.
2013-10-02 17:59:56 -07:00
Alexander Barkov
1a3bb9487d A follow-up for the previous commit:
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.
2013-10-02 15:41:15 +04:00
Alexander Barkov
f71e253914 MDEV-4425
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.
2013-10-02 13:56:57 +04:00
Alexander Barkov
fcf992ba4c MDEV-4425 REGEXP enhancements
Adding pcre_stack_guard to avoid crashes in pcre_compile()
on a long recursive patterns with parenthesizes:

SELECT a RLIKE '((((...((((x)))...))))';
2013-10-02 11:58:29 +04:00
Alexander Barkov
d83648f25a MDEV-4425 Regexp enhancements
Removing pcre.h from the tree, it's generated from pcre.h.in
2013-10-02 10:07:24 +04:00
Alexander Barkov
bf41088491 MDEV-4424 Regexp enhancements
- Commenting out unused instructions in pcre/CMakeLists.txt
- Don't print PCRE configuration status by default.
2013-10-02 09:55:57 +04:00
Sergey Petrunya
6519ca51dd EXPLAIN UPDATE/DELETE
- 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.
2013-10-01 17:49:03 +04:00
Alexander Barkov
59311f3ead Make PCRE use my_malloc() and my_free().
This patch also makes libstrings use my_malloc() and my_free()
in embedded server. Previously, embeddes server used malloc()
and free() in libstrings.
2013-10-01 16:39:29 +04:00
Alexander Barkov
ccb1344fe9 pcre: removing CMake-2.8 requirement.
It seems to compile/work fine with CMake-2.6.
2013-10-01 12:26:34 +04:00
Alexander Barkov
458b4da7f3 MDEV-4425: moving the bundled pcre include directory earlier,
to avoid system *.h files to be included (e.g. like on labrador).
2013-10-01 11:43:39 +04:00
Alexander Barkov
4e433d73af MDEV-4425: Removing the remainders from the old regex library. 2013-09-30 18:48:24 +04:00
Alexander Barkov
6226043425 pcre: fixing a test failure in character_sets_dir_basic in this command:
--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.
2013-09-30 14:59:01 +04:00
Alexander Barkov
038554ec96 Always include the local copy of pcre.h and pcreposix.h instead of the
system installed (if any).
2013-09-30 13:51:05 +04:00
Alexander Barkov
61a1c03694 pcre: fixing linking error one some systems:
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)
2013-09-30 11:29:32 +04:00
Alexander Barkov
d88c752612 Removing configuration switches that are not needed for MariaDB
from pcre/CMakeLists.txt
2013-09-27 18:13:46 +04:00
Alexander Barkov
69a641a500 pcre:
- do not install anything from pcre library
- do not build the c++ library
2013-09-27 17:04:30 +04:00
Alexander Barkov
7fe391adbf Fixing compilation failure on Windows.
"PCRE_STATIC" must be defined before including pcre.h
to avoid linking errors:
- unresolved external symbol __imp_regerror
- unresolved external symbol __imp_pcre_exec
2013-09-27 16:29:05 +04:00
Alexander Barkov
90b8fee692 pcre: Removing config.h from the tree, it's a generated file. 2013-09-27 14:26:52 +04:00
Vladislav Vaintroub
c8693bea40 MDEV-5076 : Build on FreeBSD - when looking for execinfo library, and execinfo.h header,
allow user-defined EXECINFO_ROOT prefix, in case library and header are not placed under /usr/local . This change was requested by FreeBSD maintainer.
2013-09-26 23:48:38 +02:00
Alexander Barkov
285e7aa179 MDEV-4425 REGEXP enhancements 2013-09-26 18:02:17 +04:00
Sergey Petrunya
e8eeb2e7f9 Update test results for the previous cset 2013-09-26 14:47:32 +04:00
Sergey Petrunya
0b69c44e94 MDEV-5067: Valgrind warnings (Invalid read) in QPF_table_access::print_explain
- 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.
2013-09-26 14:42:30 +04:00
unknown
9d83468e78 merge 5.5 -> 10.0-base 2013-09-25 21:07:06 +03:00
Sergey Petrunya
7d60030c02 MDEV-5060 Server crashes on EXPLAIN EXTENDED or EXPLAIN PARTITIONS with explain in slow_log
- If we're running explain with flags, use the same set of flags to make EXPLAIN columns 
  and contents.
2013-09-25 19:18:02 +04:00
unknown
64d6d8334f merge 5.3 -> 5.5 2013-09-25 17:16:13 +03:00
Sergey Petrunya
ac54df04d8 MDEV-5070 - EXPLAIN INSERT ... SELECT crashes on 10.0-base-explain-slowquerylog
- Add EXPLAIN output print out for INSERT/REPLACE ... SELECT
2013-09-25 17:23:22 +04:00
unknown
ec7da1561e MDEV-5039: incorrect Item_func_regex::update_used_tables()
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."
2013-09-25 15:30:13 +03:00
Sergey Petrunya
28734220e7 More code cleanup 2013-09-25 16:27:47 +04:00
Sergey Petrunya
3aaeb7305b Code cleanup 2013-09-25 16:07:37 +04:00
Sergey Petrunya
c0028bd2ac - Fix incorrectly-removed piece of code JOIN::save_qpf
- update mysqld--help.result
2013-09-25 15:51:16 +04:00
Vladislav Vaintroub
72dffd878e MDEV-5062 : disable jemalloc by default everywhere, except Linux and OSX.
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.
2013-09-24 19:52:51 +02:00
Vladislav Vaintroub
11fc6b49d9 MDEV-5053 - fix cyclic dependency when building with Ninja CMake generator 2013-09-23 23:33:18 +02:00
Michael Widenius
b722aae621 Allow unique prefix for command line options, like any GNU program. 2013-09-23 20:17:46 +03:00
Michael Widenius
5f0c91998a TokuDB fixes:
- 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
2013-09-23 20:17:03 +03:00
Sergey Petrunya
ccca339459 MDEV-5047 virtual THD::~THD(): Assertion `status_var.memory_used == 0' fails
- Don't forget to delete the query plan footprint when 
  the query wasn't printed into slow query log for some reason
- ALso removed some garbage code.
2013-09-23 14:17:56 +04:00
Sergey Petrunya
d998a1635f MDEV-5045: Server crashes in QPF_query::print_explain with log_slow_verbosity='explain'
- Don't print a plan when the statement didn't produce it
- Also, add first testcase. We can't check the EXPLAIN from the slow log itself, though.
2013-09-20 17:45:24 +04:00
Sergei Golubchik
2fe0836eed 5.5.33a merge 2013-09-20 11:29:01 +02:00
Sergei Golubchik
28ec372744 5.5.33a 2013-09-19 22:24:59 +02:00
Sergei Golubchik
6e52631065 MDEV-4979 mysqld_safe section in my.cnf doesn't have mariadb equivalent
read also [mariadb_safe] section.
modify the manpage accordingly (and remove a netware-specific option from it)
2013-09-19 22:24:39 +02:00
Sergei Golubchik
93b7d00f00 MDEV-5035 debian package conflict libmariadbclient18 5.5.33+maria-1~wheezy vs. mariadb-server-5.3 5.3.12-mariadb122~wheezy 2013-09-19 20:19:17 +02:00
Sergei Golubchik
43f4e364f0 MDEV-5021 tokudb ft-index libraries are build with -DWITHOUT_TOKUDB=1 2013-09-19 20:19:10 +02:00
Sergei Golubchik
cd077ca839 MDEV-5026 cannot use system jemalloc 2013-09-19 20:19:00 +02:00
Sergei Golubchik
4232874772 fix debian builds. don't use WITH_MAX anymore 2013-09-19 11:58:44 +02:00