Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
Alexander Barkov
MDEV-34981 Functions missing from INFORMATION_SCHEMA.SQL_FUNCTIONS

Plugin functions are now displayed in I_S.SQL_FUNCTIONS
Alexander Barkov
MDEV-31366 Assertion `thd->start_time' failed in bool LOGGER::slow_log_print(THD*, const char*, size_t, ulonglong)

Fixing a wrong DBUG_ASSERT.

thd->start_time and thd->start_time_sec_part cannot be 0 at the same time.

But thd->start_time can be 0 when thd->start_time_sec_part is not 0,
e.g. after:

SET timestamp=0.99;
Vladislav Vaintroub
wip
Daniel Black
std::mem_fun and std::bind2nd are deprecated

mem_fun -> mem_fn is a straight replacement.

bind2nd required and additional argument in
the transition to std::bind
Julius Goryavsky
MDEV-29775 addendum: correct initialization of wsrep for the wsrep_replicate_myisam_basic test
Andrei Elkin
rpl_gtid_strict asserted about lack of stmt rollback in errored-out binlog_commit..

.. of the general case N-statement.

The fixes makes sure ha_rollback_trans() is invoked sim to the
T-statement.
Vladislav Vaintroub
WIP
Marko Mäkelä
fixup! 37b2652a325a1f44195d6a632a83b6cba1ea3e0c

Adjust for 47619ea78fe8482d88ce474aa627a11b9be9d737
Vladislav Vaintroub
wip
Alexander Barkov
MDEV-34922 Assertion `value.length() == FbtImpl::binary_length()' failed in Type_handler_fbt<FbtImpl, TypeCollectionImpl>::Field_fbt::store_native, Assertion `item->null_value' failed in Type_handler::Item_send_str

This patch is a workaround to avoid crashes on DBUG_ASSERT.
The core problem is reported in:

MDEV-35238 Wrong results from a MyISAM/HEAP/ARIA tables with a single record and an aggregate

which is not trivial to fix.

The code relevant to MDEV-35238 erroneously reads a value of Item_copy_xxx when
there is no a value.
This patch initializes Item_copy_fbt to keep a zero value by default
instead of "no value".

This makes the reported statemenents return a zero UUID instead of the crash.
When MDEV-35238 is fixed, they should return a non-zero generated UUID.
Marko Mäkelä
squash! 427df2a0c8cf2e66c0d900414cee52e602b9b8ca

Do not enable page_cur_search_with_match_bytes() for the change buffer.
Let us see if this avoids some corruption.
Alexander Barkov
MDEV-34981 Functions missing from INFORMATION_SCHEMA.SQL_FUNCTIONS

Plugin functions are now displayed in I_S.SQL_FUNCTIONS
Jan Lindström
MDEV-29775 : Assertion `0' failed in void Protocol::end_statement() when adding data to the MyISAM table after setting wsrep_mode=replicate_myisam

Firstly, variables wsrep_forced_binlog_format, wsrep_replicate_myisam
should not be able to set if wsrep_on=OFF.

Secondly, if wsrep_replicate_myisam=ON we allow wsrep_forced_binlog_format
to be [DEFAULT|ROW].

Signed-off-by: Julius Goryavsky <[email protected]>
Vlad Lesin
MDEV-35457 Remove btr_cur_t::path_arr

After MDEV-21136 fix, the btr_cur_t::path_arr field stayed declared, but
not used, wasting space in each btr_cur_t and btr_pcur_t. Remove it.
Vladislav Vaintroub
WIP
Alexander Barkov
MDEV-33472 Assertion `0' failed in Item_row::illegal_method_call on CREATE EVENT

Do not accept rows as event parameters.
Alexander Barkov
MDEV-31366 Assertion `thd->start_time' failed in bool LOGGER::slow_log_print(THD*, const char*, size_t, ulonglong)

Fixing a wrong DBUG_ASSERT.

thd->start_time and thd->start_time_sec_part cannot be 0 at the same time.

But thd->start_time can be 0 when thd->start_time_sec_part is not 0,
e.g. after:

SET timestamp=0.99;
Alexander Barkov
MDEV-31881 ASAN: unknown-crash in check_ulonglong (sql/sql_analyse.cc) on SELECT ... FROM ... PROCEDURE ANALYSE()

Fixing a wrong condition which made the code read 1 byte behind the buffer.
Monty
Removed not used ha_drop_table()

This was done after changing call in sql_select.cc from
ha_drop_table() to drop_table(), like in 11.5
Vladislav Vaintroub
WIP
Julius Goryavsky
MDEV-29755 correction: running wsrep_replicate_myisam_basic test with wsrep enabled
Marko Mäkelä
fixup! dc7ab942658993f7f1a82f8b97313e0479d034b4
Oleg Smirnov
MDEV-34888 Implement SEMIJOIN() and SUBQUERY() hints
Monty
Fixed that internal temporary Aria tables are not flushed to disk

This bug was caused by
MDEV-17070 Table corruption or Assertion `table->file->stats.records > 0
Jan Lindström
MDEV-27861: Creating partitioned tables should not be allowed with wsrep_osu_method=TOI and wsrep_strict_ddl=ON

Problem was incorrect handling of partitioned tables,
because db_type == DB_TYPE_PARTITION_DB
wsrep_should_replicate_ddl incorrectly marked
DDL as not replicatable. However, in partitioned
tables we should check implementing storage engine
from table->file->partition_ht() if available because
if partition handler is InnoDB all DDL should be allowed
even with wsrep_strict_ddl. For other storage engines
DDL should not be allowed and error should be issued.

This is 10.5 version of the fix.

Signed-off-by: Julius Goryavsky <[email protected]>
Alexander Barkov
MDEV-34090 Client allows to set character set to utf32 and crashes on the next command

Disallowing character sets with mbminlen>1 in the client.
Marko Mäkelä
fixup! 37b2652a325a1f44195d6a632a83b6cba1ea3e0c
Julius Goryavsky
MDEV-26516: WSREP: Record locking is disabled in this thread, but the table being modified

We periodically observe assertion failures in the mtr tests,
specifically in the /storage/innobase/row/row0ins.cc file,
following a WSREP error. The error message is: 'WSREP: record
locking is disabled in this thread, but the table being modified
is not mysql/wsrep_streaming_log: mysql/innodb_table_stats.'"
This issue seems to occur because, upon opening the table,
innodb_stats_auto_recalc may trigger, which Galera does not
anticipate. This commit should fix this bug.
Alexander Barkov
MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL

Item_func_equal erroneously derived is_null() from the parent class.
Overriding it to return false because <=> can never return NULL.
Daniel Black
Merge pull request #30 from grooverdan/deprecated_gcc

std::mem_fun and std::bind2nd are deprecated
Marko Mäkelä
MDEV-35049: Avoid building AHI on non-unique columns

During a workload, an adaptive hash index had been built on
UNIQUE INDEX(ID) on SYS_TABLES, and during a DROP TABLE
operation the adaptive hash index would be widened to cover
2 fields (ID,NAME). Such an adaptive hash index is unlikely
to satisfy (m)any queries. Let us limit the AHI to the unique
fields also in secondary indexes.
Jan Lindström
MDEV-27861: Creating partitioned tables should not be allowed with wsrep_osu_method=TOI and wsrep_strict_ddl=ON

Problem was incorrect handling of partitioned tables,
because db_type == DB_TYPE_PARTITION_DB
wsrep_should_replicate_ddl incorrectly marked
DDL as not replicatable. However, in partitioned
tables we should check implementing storage engine
from table->file->partition_ht() if available because
if partition handler is InnoDB all DDL should be allowed
even with wsrep_strict_ddl. For other storage engines
DDL should not be allowed and error should be issued.

This is 10.6 version of the fix.

Signed-off-by: Julius Goryavsky <[email protected]>
Vladislav Vaintroub
wip
Monty
Do not read aria bitmap page for internal temporary tables

Instead create the bitmap page from scratch
Yuchen Pei
MDEV-35452 Disable view protocol for four spider tests

About half (i.e. ~110) spider tests fail mtr --view-protocol. The plan
is to disable view protocol for these tests, fix them, then enable
them.

Adding the disable/enable lines to all these tests requires a bit of
scripting. Therefore, we first fix 4 tests known to the mandatory
builder amd64-last-N-failed to unblock pushes.
Jan Lindström
MDEV-29775 : Assertion `0' failed in void Protocol::end_statement() when adding data to the MyISAM table after setting wsrep_mode=replicate_myisam

Firstly, variables wsrep_mode, wsrep_forced_binlog_format, wsrep_replicate_myisam
should not be able to set if wsrep_on=OFF.

Secondly, if wsrep_mode=BINLOG_ROW_FORMAT_ONLY wsrep_forced_binlog_format
can be DEFAULT (UNSPECIFIED) or ROW.

Finally, if wsrep_mode=[REPLICATE_MYISAM|REPLICATE_ARIA] or
wsrep_replicate_myisam=ON we allow wsrep_forced_binlog_format
to be [DEFAULT|ROW].

Signed-off-by: Julius Goryavsky <[email protected]>
Rex
MDEV-32294 2nd execution problem with inconsistent outer context paths

WORK IN PROGRESS

context {select_lex, outer_context} elements made private, accessor
function will now skip merged selects.

When calculating the Item_subselect::used_tables_cache the current code
relies on upper_refs, this is populated by Item_subselect::mark_as_dependent()
which gets called during fix_fields on a Field/Reference that is an
outer reference.
This list contains an item contained within the Item_subselect somewhere
and a select_lex where that item is resolved.
For each item in this list, Item_subselect::update_used_tables() searches
outwards until it encounters 'new_parent'.  If it does encounter this
select_lex, then the tables used in this item are records as being used
in this Item_subselect.  If it doesn't encounter this select_lex, then
it sets OUTER_BIT_TABLE_REF indicating that the somewhere within lies
and item resolved above our new parent.

This new code code turns this upside down by directly referencing items
resolved in a SELECT_LEX, in that SELECT_LEX.  Later, when recalculating
Item_subselect::used_tables_cache, rather than looking though all items
below that might be resolved within the SELECT_LEX of interest
(new_parent), we can iterate through the items resolved in 'new_parent'
and decide if they are relevant to our Item_subquery.  We do this by
starting in the select_lex where the item is defined, walking outwards
on outer_select() and seeing if the master_unit() is the same as
Item_subselect::unit.  If it is, this item 'belongs' to our
Item_subselect.

Changes:

We add SELECT_LEX::resolved_here    List<Item>
Item because we can gather Item_field or Item_direct_view_ref
We add to this list on statement memory only during prepare or first execution.

When looking at items in 'new_parent' we can determine where this item is
used in this Item_subselect by walking outwards from where the item is
defined up to 'new_parent' looking to see if the enclosing unit is the
unit attached to out Item_subselect.
If we have a match then we know that we add the bit
field_item->field->table->map into our bitmap (used_tables_cache).

Test to see if this Item belongs to our unit implemented in
Item_belongs_to()

When we merge 2 queries together (either a derived table merge or a
subquery to semijoin merge), we need to manage the resolved_here list
for both SELECT_LEXs.
The SELECT_LEX that is uppermost must have it's resolved_here list
pruned of items that are belong to the SELECT_LEX to be merged.  These
pruned items will no longer be outer references.
Alexander Barkov
MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL

Item_func_equal erroneously derived is_null() from the parent class.
Overriding it to return false because <=> can never return NULL.
Monty
Added status variable "stack_usable" to be able to check stack usage