1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00
Commit Graph

134 Commits

Author SHA1 Message Date
f6e16bdc62 Merge 10.2 into 10.3 2018-12-13 21:58:35 +02:00
2e5aea4bab Merge 10.1 into 10.2 2018-12-13 15:47:38 +02:00
621041b676 Merge 10.0 into 10.1
Also, apply the MDEV-17957 changes to encrypted page checksums,
and remove error message output from the checksum function,
because these messages would be useless noise when mariabackup
is retrying reads of corrupted-looking pages, and not that
useful during normal server operation either.

The error messages in fil_space_verify_crypt_checksum()
should be refactored separately.
2018-12-13 13:37:21 +02:00
5ab91f5914 Remove space before #ifdef 2018-12-13 12:15:27 +02:00
ce1669af12 Fix compile error when building without the partition engine 2018-12-13 10:03:09 +05:30
839cf16bb2 Merge 10.2 into 10.3 2018-12-12 13:46:06 +02:00
db1210f939 Merge 10.1 into 10.2 2018-12-12 12:13:43 +02:00
f77f8f6d1a Merge 10.0 into 10.1 2018-12-12 10:48:53 +02:00
4886d14827 MDEV-17032: Estimates are higher for partitions of a table with @@use_stat_tables= PREFERABLY
The problem here is EITS statistics does not calculate statistics for the partitions of the table.
So a temporary solution would be to not read EITS statistics for partitioned tables.

Also disabling reading of EITS for columns that participate in the partition list of a table.
2018-12-07 19:59:45 +05:30
57e0da50bb Merge branch '10.2' into 10.3 2018-09-28 16:37:06 +02:00
28f08d3753 Merge branch '10.1' into 10.2 2018-09-14 08:47:22 +02:00
31081593aa Merge branch '11.0' into 10.1 2018-09-06 22:45:19 +02:00
69d7bfd970 MDEV-17023: Crash during read_histogram_for_table with optimizer_use_condition_selectivity set to 4
No need to read statistics for tables that are not USER tables.
We allocate memory for structures to collect statistics only for USER TABLES.
2018-08-27 12:21:26 +03:00
05459706f2 Merge 10.2 into 10.3 2018-08-03 15:57:23 +03:00
ef3070e997 Merge 10.1 into 10.2 2018-08-02 08:19:57 +03:00
095dc81158 MDEV-16757 Memory leak after adding manually min/max statistical data
for blob column

ANALYZE TABLE <table> does not collect statistical data on min/max values
for BLOB columns of <table>. However these values can be added into
mysql.column_stats manually by executing proper statements.
Unfortunately this led to a memory leak because the memory allocated
for these values was never freed.
This patch provides the server with a function to free memory allocated
for min/max statistical values of BLOB types.

Temporarily changed the test case until MDEV-16711 is fixed as without
this fix the test case for MDEV-16757 did not fail only for 10.0.
2018-07-15 16:24:24 -07:00
c89bb15c31 MDEV-16757 Memory leak after adding manually min/max statistical data
for blob column

ANALYZE TABLE <table> does not collect statistical data on min/max values
for BLOB columns of <table>. However these values can be added into
mysql.column_stats manually by executing proper statements.
Unfortunately this led to a memory leak because the memory allocated
for these values was never freed.
This patch provides the server with a function to free memory allocated
for min/max statistical values of BLOB types.
2018-07-13 17:48:45 -07:00
ad9d1e8c3f MDEV-16552: [10.0] ASAN global-buffer-overflow in is_stat_table / statistics_for_tables_is_needed
Backport the fix f214d36512 to 10.0

   Author: Sergei Golubchik <serg@mariadb.org>
   Date:   Tue Apr 17 00:44:34 2018 +0200

    ASAN error in is_stat_table()

    don't memcmp beyond the first argument's end

    Also: use my_strcasecmp(table_alias_charset), like elsewhere, not memcmp
2018-07-11 15:22:04 +05:30
36e59752e7 Merge branch '10.2' into 10.3 2018-06-30 16:39:20 +02:00
31c950cca8 Merge 10.1 into 10.2 2018-06-26 18:16:49 +03:00
c6392d52ee Merge 10.0 into 10.1 2018-06-26 17:34:44 +03:00
364a20fe0b MDEV-16507 SIGSEGV when use_stat_tables = preferably and
optimizer_use_condition_selectivity = 4

It does not makes sense to try to read statistics for temporary tables
because it's not collected.
2018-06-23 19:36:26 -07:00
a3539bbb2a Merge 10.2 into 10.3 2018-05-29 17:34:49 +03:00
494c981d23 Merge remote-tracking branch 'origin/10.1' into 10.2 2018-05-24 18:57:52 +03:00
e744c687ca Merge remote-tracking branch 'origin/10.0' into 10.1 2018-05-24 11:08:02 +03:00
a816aa066e Fixed ASAN heap-use-after-free handler::ha_index_or_rnd_end
MDEV-16123 ASAN heap-use-after-free handler::ha_index_or_rnd_end
MDEV-13828 Segmentation fault on RENAME TABLE

Problem was that destructor called methods for closed table.
Fixed by removing code in destructor.
2018-05-23 11:26:49 +03:00
4ec8598c1d Merge branch 'github/10.2' into 10.3 2018-05-22 11:47:09 +02:00
dd51082eca MDEV-12465: Server crashes in my_scan_weight_utf8_bin upon collecting stats for RocksDB table
Apply patch by Oleksandr Byelkin:
Do not use "only index read" in analyzing indices if there is a field which present in the index only partially.
2018-05-19 00:26:35 +03:00
0f956a0676 cleanup: hide HA_ERR_RECORD_DELETED in ha_rnd_next()
it's internal storage engine error, don't let it leak
into the upper layer.
2018-05-12 10:16:45 +02:00
c9717dc019 Merge branch '10.2' into 10.3 2018-05-11 13:15:10 +02:00
9b1824dcd2 Merge branch '10.1' into 10.2 2018-05-10 13:01:42 +02:00
f214d36512 ASAN error in is_stat_table()
don't memcmp beyond the first argument's end

Also:
  use my_strcasecmp(table_alias_charset), like elsewhere, not memcmp
2018-05-05 14:02:33 +02:00
7396dfcca7 Merge 10.2 into 10.3 2018-04-24 20:59:57 +03:00
4cd7979c56 Merge 10.1 into 10.2 2018-04-24 09:39:45 +03:00
9c34a4124d Merge 10.0 into 10.1 2018-04-24 09:26:40 +03:00
4f5dd1d40e ASAN error in main.statistics_index_crash-7362
one cannot do keyread on spatial indexes.
2018-04-17 10:13:20 +02:00
65eefcdc60 Merge remote-tracking branch '10.2' into 10.3 2018-04-12 12:41:19 +03:00
45e6d0aebf Merge branch '10.1' into 10.2 2018-04-10 17:43:18 +03:00
4c89cff558 Merge branch '10.0' into 10.1 2018-04-07 17:11:22 +03:00
10f6b7001b MDEV-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
Encountered illegal value '' when converting to DECIMAL

The issue was that EITS data was allocated but then not read for some reason (one being to avoid a deadlock),
then the optimizer was using these bzero'ed buffers as EITS statistics.
This should not be allowed, we should use statistcs for a table only when we have successfully loaded/read
the stats from the statistical tables.
2018-04-02 13:14:30 +03:00
f55dc7f733 Change C_STRING_WITH_LEN to STRING_WITH_LEN
This preserves const str for constant strings

Other things
- A few variables where changed from LEX_STRING to LEX_CSTRING
- Incident_log_event::Incident_log_event and record_incident where
  changed to take LEX_CSTRING* as an argument instead of LEX_STRING
2018-01-30 21:33:56 +02:00
a7e352b54d Changed database, tablename and alias to be LEX_CSTRING
This was done in, among other things:
- thd->db and thd->db_length
- TABLE_LIST tablename, db, alias and schema_name
- Audit plugin database name
- lex->db
- All db and table names in Alter_table_ctx
- st_select_lex db

Other things:
- Changed a lot of functions to take const LEX_CSTRING* as argument
  for db, table_name and alias. See init_one_table() as an example.
- Changed some function arguments from LEX_CSTRING to const LEX_CSTRING
- Changed some lists from LEX_STRING to LEX_CSTRING
- threads_mysql.result changed because process list_db wasn't always
  correctly updated
- New append_identifier() function that takes LEX_CSTRING* as arguments
- Added new element tmp_buff to Alter_table_ctx to separate temp name
  handling from temporary space
- Ensure we store the length after my_casedn_str() of table/db names
- Removed not used version of rename_table_in_stat_tables()
- Changed Natural_join_column::table_name and db_name() to never return
  NULL (used for print)
- thd->get_db() now returns db as a printable string (thd->db.str or "")
2018-01-30 21:33:55 +02:00
835cbbcc7b Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
TODO: enable MDEV-13049 optimization for 10.3
2017-10-30 20:47:39 +04:00
30e7d6709f Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2017-10-18 14:11:55 +04:00
dc93ce8dea Windows : Fix truncation warnings in sql/ 2017-10-10 06:19:50 +00:00
2c1067166d Merge bb-10.2-ext into 10.3 2017-10-04 08:24:06 +03:00
1641879387 Merge 10.2 into bb-10.2-ext 2017-10-03 17:02:18 +03:00
ebc2f0dad3 Avoid using HA_POS_ERROR constant when passing around values of type double.
This is error-prone and causes warnings on Windows
2017-10-03 16:23:39 +03:00
4cb1a4fe7d Give asserts if update_stats() fails.
This is done to help find where the error is if stat_tables_par.test fails
2017-09-08 13:24:42 +03:00
cc77f9882d Changed KEY names to use LEX_CSTRING 2017-08-24 01:05:53 +02:00