- 14 Oct, 2019 17 commits
-
-
Sergei Golubchik authored
post-review fixes: * test for dependent subqueries * test for triggers and routines * disallow INSERT...RETURNING in triggers and stored functions * don't return anything if INSERT IGNORE ignored an error
-
Sergei Golubchik authored
when there are nested subqueries, and a field in a subquery is resolved as an outer reference to a table few levels up, all subqueries the subquery with a reference and all subqueries up to subquery with the table must be marked as dependent. in the text protocol and PS-prepare step it happens in Item_field::fix_outer_field in a loop that walks contexts using context->outer_context. in PS-execute step Item_field->cached_table is set and subqueries are walked in a PS-only mark_select_range_as_dependent(), which inconsistently walks SELECT_LEX'es using select_lex->outer_select(). Fix mark_select_range_as_dependent() to walk contexts, not SELECT_LEX'es, to have the same logic both in prepare and execute steps. This fixes a crash in main.insert_returning in --ps-protocol
-
Rucha Deodhar authored
Closes #1384
-
Sergei Golubchik authored
-
Sergei Golubchik authored
comments, whitespaces
-
Sergei Golubchik authored
-
Sergei Golubchik authored
because internally setup_wild() adjusts select_lex->with_wild directly anyway, so there is no reason to pretend that the number of '*' may be anything else but select_lex->with_wild And don't update select_lex->item_list, because fields can come from anywhere and don't necessarily have to be copied into select_lex.
-
Sergei Golubchik authored
remove inconsistent limitation
-
Sergei Golubchik authored
Show the config file in I_S.SYSTEM_VARIABLES But only if the user has FILE privilege
-
Sergei Golubchik authored
change get_one_option() prototype to pass the filename and not to pass the redundant optid.
-
Sergei Golubchik authored
make load_defaults() store the file name in the generated option list using a special marker ---file-marker--- option. Pick up this filename in handle_options(). Remove ---args-separator---, use ---file-marker--- with an empty file name instead - this simplifies checks on the caller, only one special option to recognize.
-
Sergei Golubchik authored
only my_getopt should use it, because it changes my_getopt's behavior. If one simply wants to skip the separator - don't ask it to be added in the first place
-
Sergei Golubchik authored
process all --defaults* options uniformly, get rid of special case for --no-defaults and --print-defaults use realpath instead of blindly concatenating pwd and relative path.
-
Sergei Golubchik authored
it turns out that practically every single user of handle_options() used the get_one_option callback. Simplify the code, make it mandatory, adjust unit tests.
-
Sergei Golubchik authored
almost all my_getopt settings and callbacks are global variables, directly assignable to configure my_getopt. Only getopt_get_addr was using a setter function. Get rid of it, make it a global directly assignable variable like all other settings. Also make getopt_compare_strings() static.
-
Sergei Golubchik authored
This is a remnant of "MySQL Instance Manager", which was removed in MySQL-5.5.0 and never existed in MariaDB Remove callback, simplify and optimize the code accordingly.
-
Alexander Barkov authored
MDEV-20818 ER_CRASHED_ON_USAGE or Assertion `length <= column->length' failed in write_block_record on temporary table The patch for `MDEV-20795 CAST(inet6 AS BINARY) returns wrong result` unintentionally changed what Item_char_typecast::type_handler() returns. This broke UNIONs with the BINARY() function, as the Aria engine started to get columns of unexpected data types. Restoring previous behaviour, to return Type_handler::string_type_handler(max_length). The prototype for Item_handed_func::return_type_handler() has changed from: const Type_handler *return_type_handler() const to: const Type_handler *return_type_handler(const Item_handled_func *) const
-
- 13 Oct, 2019 8 commits
-
-
Alexander Barkov authored
Putting "#ifndef NO_EMBEDDED_ACCESS_CHECKS" around these constant declarations: const uint max_hostname_length= 60; const uint max_dbname_length= 64;
-
Alexander Barkov authored
Suppress warnings when Field_inet6::store() is called from read_statistics_for_table() and other optimizer related routines. This patch does for Field_inet6 the same thing with what Monty's patch previously did for other Field_xxx: > commit 1bbe8c5e > Author: Michael Widenius <monty@mariadb.org> > Date: Sun Sep 22 04:08:48 2019 +0300 > > Proper fix for disabling warnings in read_statistics_for_table(). > MDEV-20589: Server still crashes in Field::set_warning_truncated_wrong_value Alas, some meaningful warnings disappeared.
-
Alexander Barkov authored
These tests use only HEAP and MyISAM tables.
-
Alexander Barkov authored
Adding the "override" keyword to Item_char_typecast_func_handler_inet6_to_binary::type_handler_for_create_select() Clang fails to compile without it.
-
Oleksandr Byelkin authored
Engine get LIMIT/OFFSET info an can it use/reset.
-
Oleksandr Byelkin authored
Kill check moved from send_data() methids in its wrapper: send_data_with_check().
-
Oleksandr Byelkin authored
Now both offset and limit are stored and do not chenged during execution (offset is decreased during processing in versions before 10.5). (Big part of this changes made by Monty)
-
Oleksandr Byelkin authored
-
- 12 Oct, 2019 12 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
rec_init_offsets(): Relax the assertion that was added in commit 01f45bec to catch ROW_FORMAT=REDUNDANT records that have fewer fields than expected. This assertion would fail when accessing the records of the built-in InnoDB table SYS_INDEXES. The column MERGE_THRESHOLD had been effectively instantly added in MariaDB Server 10.2 (and MySQL 5.7), but is_instant() does not hold for that index. Relax the assertion, so that it will not fail in this case.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MDEV-20813 Assertion failure in buf_flush_init_for_writing() for innodb_immediate_scrub_data_uncompressed=ON The assertion that was added in commit c0c003be to augment the fix of MDEV-20805 turns out to be invalid when innodb_immediate_scrub_data_uncompressed is enabled. In this mode, fsp_init_file_page() will be invoked on data pages that have been freed, causing writes of almost-all-zero pages. btr_page_free(): Adjust the comment. buf_flush_init_for_writing(): Disable the assertion with a note that it should be re-enabled in MDEV-15528.
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
- 11 Oct, 2019 3 commits
-
-
Julius Goryavsky authored
When the mysqld_multi script passes the --defaults-group-suffix option to mysqld, it must remove the initial substring with the group name ("mysqld") from option value, because otherwise substring "mysqld" will be added to the group name and then the group name will contain the word "mysqld" twice, which is wrong, because mysqld itself adds the suffix received to the group name.
-
Julius Goryavsky authored
When the mysqld_multi script passes the --defaults-group-suffix option to mysqld, it must remove the initial substring with the group name ("mysqld") from option value, because otherwise substring "mysqld" will be added to the group name and then the group name will contain the word "mysqld" twice, which is wrong, because mysqld itself adds the suffix received to the group name.
-
Julius Goryavsky authored
When the mysqld_multi script passes the --defaults-group-suffix option to mysqld, it must remove the initial substring with the group name ("mysqld") from option value, because otherwise substring "mysqld" will be added to the group name and then the group name will contain the word "mysqld" twice, which is wrong, because mysqld itself adds the suffix received to the group name.
-