1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Commit Graph

178274 Commits

Author SHA1 Message Date
Olivier Bertrand
13b26f84bd -- Fix wrong setting of Pipe
modified:   storage/connect/tabcmg.cpp

-- Fix declaration of drv in MGOColumns
  modified:   storage/connect/mongo.cpp

-- Add jmongo3 test (disabled)
  modified:   storage/connect/mysql-test/connect/disabled.def
  added:      storage/connect/mysql-test/connect/std_data/Mongo3.jar
  added:      storage/connect/mysql-test/connect/t/jmongo3.test
2017-07-28 15:39:31 +02:00
Sergei Petrunia
488f46f3de MDEV-13153: Assertion ... failed on partitioned RocksDB table
ha_partition creates temporary ha_XXX objects for its partitions when
performing DDL operations. The objects were created on a MEM_ROOT and
never deleted.
This works as long as ha_XXX objects free all data ha_XXX::close() and
don't rely on a proper destructor invocation. Unfortunately, ha_rocksdb
includes String members which need to be delete'd properly.

Fixed the bug by having ha_partition::~ha_partition delete these temporary
objects.
2017-07-28 13:22:28 +00:00
Alexander Barkov
8c0129dc32 MDEV-13396 Unexpected "alter routine comand defined" during CREATE OR REPLACE PROCEDURE 2017-07-28 12:30:30 +04:00
Vicențiu Ciorbaru
af40426fcd Fix purge_relay_logs post merge
slave_skip_counter must not be reset to 0 during purge_relay_logs. See
MDEV-4937 as to when this change happened.
2017-07-27 16:22:37 +03:00
Sergei Golubchik
7134afa22e MYSQL_BIN_LOG::open/close must be under LOCK_log 2017-07-27 12:43:45 +02:00
Sergei Golubchik
c784277590 move the error message where it belongs 2017-07-27 12:43:03 +02:00
Sergei Golubchik
496cea45e2 update error messages for 10.0 2017-07-27 12:42:40 +02:00
Sergei Golubchik
2804a3fac4 memory leak: add a missing end_relay_log_info() 2017-07-27 12:42:21 +02:00
Olivier Bertrand
c51b1a1f60 Update storage/connect/JavaWrappers.jar 2017-07-25 00:40:42 +02:00
Olivier Bertrand
f5cd810629 Update storage/connect/JavaWrappers.jar 2017-07-25 00:21:45 +02:00
Vicențiu Ciorbaru
786ad0a158 Merge remote-tracking branch 'origin/5.5' into 10.0 2017-07-25 00:41:54 +03:00
Olivier Bertrand
376d1c433c Update storage/connect/JavaWrappers.jar 2017-07-24 00:05:07 +02:00
Olivier Bertrand
510e67c6fd Fix discovery crash for Java Mongo tables. Modified: storage/connect/tabjmg.cpp 2017-07-23 12:41:44 +02:00
Olivier Bertrand
7388f95319 -- Last wrappers version with support of Java Mongo discovery.
modified:   storage/connect/JavaWrappers.jar

-- Typo
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/plgdbutl.cpp
2017-07-23 11:58:20 +02:00
Olivier Bertrand
cfe3252afe -- No suppressing of the GetPlug function. It is GetUser that can cause memory leak
when xp is modified. The old xp must be poped or is never freed.
  modified:   storage/connect/ha_connect.cc
2017-07-22 17:23:26 +02:00
Sergei Golubchik
2ce3f95151 Connect engine is Gamma 2017-07-22 13:10:10 +02:00
Olivier Bertrand
3329fbae19 -- Suppress the GetPlug function causing memory leak
modified:   storage/connect/ha_connect.h
  modified:   storage/connect/ha_connect.cc

-- Trace work storage allocation and freeing in DEVELOPMENT mode
   (Fix a compile error)
  modified:   storage/connect/plugutil.cpp
2017-07-22 00:21:59 +02:00
Sergei Petrunia
2a1035b004 MDEV-13351: Server crashes in st_select_lex::set_explain_type upon UNION with window function
Make st_select_lex::set_explain_type() take into account that JOIN_TABs
it is traversing may be also post-join aggregation JOIN_TABs (which
have pos_in_table_list=NULL, etc).
2017-07-21 20:09:19 +03:00
Sergei Petrunia
e2afdb1ee4 MDEV-13344: Server crashes in in AGGR_OP::put_record on subquery
Add a testcase
2017-07-21 19:06:01 +03:00
Olivier Bertrand
6fdd5cda6a Fix compile error. Modified user_connect.cc ha_connect.cc 2017-07-21 16:26:08 +02:00
Olivier Bertrand
8476d3052a -- Add mutex for user_connect handling
modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/user_connect.cc
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/user_connect.cc

-- Trace work storage allocation and freeing in DEVELOPMENT mode
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/plugutil.cpp
2017-07-21 15:24:13 +02:00
Jan Lindström
92cbe388b6 MDEV-13325: InnoDB assert dict_sys->size > 0 during ALTER TABLE
Problem was that dict_sys->size tries to maintain used memory
occupied by the data dictionary table and index objects.
However at least on table objects table->heap size can increase
between when table object is inserted to dict_sys and when
it is removed from dict_sys causing inconsistency on amount
of memory added to and removed from dict_sys->size variable.

Removed unnecessary dict_sys:size variable as it is really
used only for status output.

Introduced dict_sys_get_size function to calculate memory
occupied by the data dictionary table and index objects
that is then used on show engine innodb output.

dict_table_add_to_cache(),
dict_table_rename_in_cache(),
dict_table_remove_from_cache_low(),
dict_index_remove_from_cache_low(),
	Remove size calculation.

srv_printf_innodb_monitor(): Use dict_sys_get_size function to
get dictionary memory allocated.

xtradb_internal_hash_tables_fill_table(): Use dict_sys_get_size
function to get dictionary memory allocated.
2017-07-21 16:05:20 +03:00
Sergei Petrunia
17fc288b30 MDEV-13352: Server crashes in st_join_table::remove_duplicates
Do not run the window function computation step when the select
produces no rows (zero_result_cause!=NULL).
This may cause reads from uninitialized memory.

We still need to run the window function computation step when
the output includes just one row  (for example
SELECT MAX(col), RANK() OVER (...) FROM t1 WHERE 1=0).

This fix also resolves an issue with queries with window functions
producing an output row where should be none, like in
SELECT ROW_NUMBER() FROM t1 WHERE 1=0.

Updated a few test results in the existing tests to reflect this.
2017-07-21 13:53:58 +03:00
Sergei Golubchik
0ec147b617 fix main.func_regexp_pcre on jessie-ppc64le
apparently it uses a smaller per-thread stack
2017-07-20 22:26:08 +02:00
Sergei Golubchik
3ef5596505 MDEV-13175 Adding a new enum value at the end of a list triggers a table rebuild
Backport of 7e29f2d64f from 10.1.

Create_field does not set BINARY_FLAG, so the check didn't work at all.
Also, character sets were already compared, so this check would've been
redundant (if it would've worked).
2017-07-20 20:13:28 +02:00
Sergei Golubchik
7e507f262a MDEV-13274 mysql_upgrade fails if dbname+tablename+partioname > 64 chars
InnoDB fix will come in MDEV-13360.
Here I just fix upgrades from old unfixed InnoDBs - bad data
makes the following copying ALTER TABLE to fail.
2017-07-20 20:13:28 +02:00
Sergei Golubchik
2fcd8c1252 MDEV-13173 An RLIKE that previously worked on 10.0 now returns "Got error 'pcre_exec: recursion limit of 100 exceeded' from regexp"
1. use Regexp_processor_pcre::set_recursion_limit() to set the
   recursion limit depending on the current available stack size
2. make pcre stack frame to be estimated no less than 500 bytes.
   sometimes pcre estimates it too low, even though the manual
   says 500+16 bytes (it was estimated only 188 for me, actual
   frame size was 512).
3. do it for embedded too
2017-07-20 20:13:28 +02:00
Sergei Golubchik
dc8b2fb03a MDEV-11896 thd_get_error_context_description race condition
Change the semantics of thd_get_error_context_description().
It no longer expects the caller to lock LOCK_thread_count
(no caller ever did that anyway), but takes care of it internally.
2017-07-20 20:13:28 +02:00
Sergei Golubchik
da2a838628 MDEV-12824 GCC 7 warning: this statement may fall through [-Wimplicit-fallthrough=] 2017-07-20 20:13:28 +02:00
Jan Lindström
d1b3e428d4 MDEV-13227: Assertion failure len < 16384 in file rem0rec.cc line 1285
Crashes with innodb_page_size=64K. Does not crash at <= 32K.

Problem was that when blob record that was earlier < 16k is
enlarged at update wo that length > 16K it should be stored
externally. However, that was not enforced when page-size = 64K
(note that 16K+1 < 64K/2 i.e. half of the btree leaf page).

btr_cur_optimistic_update: limit max record size to 16K
or in REDUNDANT row format to 16K-1.
2017-07-20 13:18:30 +03:00
Olivier Bertrand
df091237a8 Modified /storage/connect/value.cpp line 668 2017-07-20 11:19:44 +02:00
Olivier Bertrand
e99af2a3fa -- Fix warnings from the new GCC 7
modified:   storage/connect/ha_connect.cc

-- Set NULL false in SetJsonValue
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/tabjson.cpp
2017-07-19 23:30:40 +02:00
Olivier Bertrand
ad2a4c42b6 Parenthesize set null in SetValue_pval. Modified /storage/connect/value.cpp 2017-07-19 18:31:40 +02:00
Daniel Bartholomew
c8a0244e95 bump the VERSION 2017-07-19 11:47:59 -04:00
Sachin Setiya
76f7aac8e0 MDEV-13065 rpl.rpl_mdev-11092 fails sporadically in buildbot
Problem
rpl.rpl_mdev-11092 fails in buildbot because after starting slave in
wait_for_slave_sql_error_and_skip.inc slave is started but there may be
chances that we have not skipped the last error and Last_SQL_Errno is
still not zero untill the end of rpl_end.inc , which will compare
Last_SQL_Errno to 0. So in this this case rpl_mdev-11092 fails.

Solution
After starting slave in wait_for_slave_sql_error_and_skip.inc we will wait for
Last_SQL_Errno to become 0.
2017-07-19 16:42:01 +05:30
Olivier Bertrand
e05920f783 -- Check whether USERBLK still exists in PlugExit
modified:   storage/connect/connect.cc
  modified:   storage/connect/plugutil.cpp
  modified:   storage/connect/jsonudf.cpp

-- Update result from json_udf test
  modified:   storage/connect/mysql-test/connect/r/json_udf.result
2017-07-19 00:16:58 +02:00
Sergei Golubchik
59fca5806a Merge branch 'merge-xtradb-5.5' into 5.5 mariadb-5.5.57 2017-07-18 19:50:11 +02:00
Sergei Golubchik
46977e0a01 5.5.55-38.8 2017-07-18 19:47:01 +02:00
Sergei Golubchik
58aaae6f2a ensure that filename in COM_BINLOG_DUMP isn't too long 2017-07-18 16:42:40 +02:00
Olivier Bertrand
38c9c0d22b Fix compile warnings and errors for nullptr. Modified /storage/connect/tabjmg (cpp and h) 2017-07-18 16:12:32 +02:00
Daniel Black
172e3a1bc6 MDEV-12646: Apply fixes found by Coverity static analysis tool
Inspired by: https://github.com/devexp-db/mariadb/blob/f27/mariadb-covscan-stroverflow.patch
2017-07-18 15:53:31 +02:00
Daniel Black
f9dbfa58a5 MDEV-658: debian debug symbols require compat 9
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2017-07-18 15:41:22 +02:00
Sergei Golubchik
7c9d00e0bb Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND GROUP BY
test case
2017-07-18 14:59:34 +02:00
Sergei Golubchik
9b3360ea44 BUG#25250768: WRITING ON A READ_ONLY=ON SERVER WITHOUT SUPER PRIVILEGE
simplify.
add a test case.
2017-07-18 14:59:33 +02:00
Sergei Golubchik
f6bcdb9e3c test case for loadxml and spaces 2017-07-18 14:59:33 +02:00
Sergei Golubchik
9a5fe1f4ea Merge remote-tracking branch 'mysql/5.5' into 5.5 2017-07-18 14:59:10 +02:00
Oleksandr Byelkin
e7fd6ed387 MDEV-11240: Server crashes in check_view_single_update or Assertion `derived->table' failed in mysql_derived_merge_for_insert
Move table pointer for single table view (even if it is view over other view) to make the access universal.
2017-07-18 13:49:58 +02:00
Olivier Bertrand
f590296c28 -- Finalize work on MongoDB access
Implement discovery for the MongoDB Java Driver
   Create classes to minimize code and avoid dupicates
   Rearrange and rename implied files
  modified:   storage/connect/CMakeLists.txt
  renamed:    storage/connect/mongofam.cpp -> storage/connect/cmgfam.cpp
  renamed:    storage/connect/mongofam.h -> storage/connect/cmgfam.h
  modified:   storage/connect/cmgoconn.h
  modified:   storage/connect/javaconn.h
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/jmgoconn.cpp
  modified:   storage/connect/jmgoconn.h
  modified:   storage/connect/mongo.cpp
  modified:   storage/connect/mongo.h
  renamed:    storage/connect/tabmgo.cpp -> storage/connect/tabcmg.cpp
  renamed:    storage/connect/tabmgo.h -> storage/connect/tabcmg.h
  modified:   storage/connect/tabjmg.cpp
  modified:   storage/connect/tabjmg.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h

-- Trace Sarea allocation and freeing
  modified:   storage/connect/connect.cc
  modified:   storage/connect/plugutil.cpp
  modified:   storage/connect/user_connect.cc

-- Null Json values where not mark as null in JSNX::SetJsonValue
   This was added in TYPE_NULL (declared as TYPE_VOID)
  modified:   storage/connect/json.cpp
  modified:   storage/connect/json.h
  modified:   storage/connect/jsonudf.cpp

-- Null JValues are ignored in JSNX::CalculateArray
   Also done in tabjson.cpp for JSONCOL::CalculateArray
  modified:   storage/connect/json.h
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/tabjson.cpp

-- Null JSON values now represented by connect_json_null session variable
  modified:   storage/connect/json.cpp
  modified:   storage/connect/json.h
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/tabjson.cpp

-- JVALUE has size = 1
  modified:   storage/connect/json.h

-- Fix by vuvova because Debian compilation failure.
  modified:   storage/connect/value.cpp
2017-07-18 13:16:55 +02:00
Alexey Botchkov
7e44eabdad MDEV-11205 UDF_ARGS "attribute_lengths" incorrect value.
Set name_length properly in Item_idnet constructors.
2017-07-18 13:19:34 +04:00
Daniel Black
c9883b7591 ma_check/mi_check: maria_repair_parallel initialization for !quick
end_io_call uses uninitialized values from the new_data_cache

As such we the buffer 0 and check this before calling end_io_cache on it.

Thanks Sergey Vojtovich for the review and for this solution.

Found by Coverity (ref 972481).
2017-07-18 10:09:16 +04:00