- 12 Oct, 2021 15 commits
-
-
Vladislav Vaintroub authored
libfmt must be built before sql or sql_embedded target, since compilation of item_strfunc.cc depends on it. Previously, GenServerSource depended on libfmt,yet this GenServerSource is not a direct or indirect dependency of sql, if -DPLUGIN_PERFSCHEMA=NO is used in cmake configuration step.
-
Sergei Golubchik authored
1. it is against sql way, auto-detection should use metadata, not data, consider: create table t1 (qwe varchar(10)) as values ('qwe'),('qw'),('q'),('werty'); select sformat('{:*>5s}', qwe) from t1; this will auto-break on the third row. 2. using max_char_length() instead of length() fixes that, but there's a second big issue, fmt < 8.0 doesn't natively support unicode, so {:c} would only work for one-byte strings, for 'a', not for 'я' because of all that let's always format strings as strings. {:c} will only now work for numbers and still only in the ascii range.
-
Sergei Golubchik authored
libfmt 6.1 is in Ubuntu focal repositories. it's easy to compile with 6.1 by doing #define detail internal but 6.1 also produces different results in main.func_sformat and we want MariaDB to behave identically everywhere.
-
Sergei Golubchik authored
String inherits from Sql_alloc, so it's allocated on the thd's memroot, this cannot be done per row. Moved String[] allocation into the Item_func_sformat constructor (not fix_fields(), because we want it on the same memroot where the item is).
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
by printing a String as an std::string_view, not as a char*
-
Sergei Golubchik authored
* comment - use the standard style * no need to reimplement for with while * TODO comments for not implemented types * rename the error not to refer to the underlying library, it's the implementation detail * use res->length(0) to set length to 0, but preserve the already allocated buffer * rename main.sformat -> main.func_sformat * removed a duplicated part of the test
-
Alan Cueva authored
SFORMAT() SQL function that uses fmtlib (https://fmt.dev/) for python-like (also Rust, C++20, etc) string formatting Only fmtlib 7.0.0+ is supported, older fmtlib produces different results in the test. No native support for temporal and decimal values, * TIME_RESULT is handled as STRING_RESULT * DECIMAL_RESULT as REAL_RESULT
-
Oleksandr Byelkin authored
Explicitly devide two function of 0 length in the hash keys comparing.
-
Oleksandr Byelkin authored
No empty name roles exists (no sens to look for). The problem already present in our test cases.
-
Oleksandr Byelkin authored
Prohibit user variables without name
-
Oleksandr Byelkin authored
Get rid of locking "empty" plugin. This problem present in our tests in case of malformed frm-file, for example.
-
Oleksandr Byelkin authored
MDEV-26637: (explicit length) ASAN: main.metadata and user_variables.basic MTR failures after MDEV-26572 Use explicit length for hash record length
-
- 11 Oct, 2021 1 commit
-
-
Otto Kekäläinen authored
- Add libconfig-inifiles-perl to mariadb-client depends as mytop uses it https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/7a748da87a23eb874d0bddb64114a795e9d07e6d http://bugs.debian.org/875708 - Make libzstd dependency versioned as RocksDB need at least 1.3.3 https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/da4eb54fc0c2ded0e10243fe1d81bf7e105a25c3 However, https://github.com/facebook/rocksdb/blob/master/INSTALL.md implies that zstandard 1.1.3 would suffice. Version 1.3.x is available from Debian Stretch-backports and Ubuntu Xenial onwards.
-
- 06 Oct, 2021 8 commits
-
-
Rucha Deodhar authored
Fixed after patch MDEV-26606 because root cause was same. Analysis: m_current_row_for_warning is reset to 1 during cleanup phase of stored procedure. When we perform a copy because some statement of procedure created warning, this reset value is passed to push _warning(). Fix: Add a parameter in relevant functions to pass correct value of error index and don't use m_current_row_for_warning directly.
-
Rucha Deodhar authored
statement Not repeatable after MDEV-26606. Test case added.
-
Rucha Deodhar authored
procedure Analysis: m_current_row_for_warning is reset to 1 during cleanup phase of stored procedure. When we perform a copy because some statement of procedure created warning, this reset value is passed to push_warning(). Hence the output is always 1. Fix: Add a parameter in relevant functions to pass correct value of row_number and don't use m_current_row_for_warning directly.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
mkaruza authored
MDEV-22708 Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed in Delayed_insert::handle_inserts and in Diagnostics_area::set_eof_status Function `upgrade_lock_type` should check global binlog_format variable instead of thread one. Reviewed-by:
Jan Lindström <jan.lindstrom@mariadb.com>
-
Marko Mäkelä authored
-
- 05 Oct, 2021 8 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Updated libmariadb and enable the test.
-
Marko Mäkelä authored
-
Rucha Deodhar authored
Fixup for MDEV-10075 Analysis: ERROR_INDEX implemented in MDEV-10075 was not intuitively clear. Fix: changed parser to use ROW_NUMBER instead of ERROR_INDEX. Removed ERROR_INDEX and ERROR_INDEX_SYM from related files. Changed m_error_index to m_row_number.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
GCC 4.8.5 would crash when compiling trx_purge_truncate_history(). Let us try to avoid that by disabling optimizations for the function.
-
- 04 Oct, 2021 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The test was passing some uninitialized data to libmariadb. Mostly, the MemorySanitizer wrapper of send() detected that some bytes were uninitialized. The test_mdev19838() is for now disabled under MemorySanitizer, to be fixed in MDEV-26761.
-
Daniel Black authored
Fixes: 5c5ea59b
-
Daniel Black authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 03 Oct, 2021 1 commit
-
-
Vladislav Vaintroub authored
-