- 26 Oct, 2023 2 commits
-
-
Yuchen Pei authored
Adding a global/session var `redirect_url' of string type. The initial value is empty. Can be supplied in mysqld with --redirect-url or set in --init-connect. A valid redirect_url should be of the format {mysql,mariadb}://host[:port] where <host> is an arbitrary string not containing colons, and <port> is a number between 0 and 65535 inclusive. The variable will be used by the server to notify clients that they should connect to another server, specified by the value of the variable, if not empty. The notification is done by the inclusion of the variable in session_track_system_variable.
-
Yuchen Pei authored
Merge sys_var_charptr with sys_var_charptr_base, as well as merge Sys_var_session_lexstring into Sys_var_lexstring. Also refactored update methods of sys_var_charptr accordingly. Because the class is more generic, session_update() calls sys_var_charptr::session_update() which does not assume a buffer field associated with THD, but instead call strdup/free, we get rid of THD::default_master_connection_buff accordingly. This also makes THD smaller by ~192 bytes, and there can be many thousands of concurrent THDs.
-
- 25 Oct, 2023 1 commit
-
-
Sergei Golubchik authored
-
- 23 Oct, 2023 1 commit
-
-
Brandon Nesterenko authored
New Feature: ============ This patch extends the START SLAVE UNTIL command with options SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS to allow user control of whether the replica stops before or after a provided GTID state. Its syntax is: START SLAVE UNTIL (SQL_BEFORE_GTIDS|SQL_AFTER_GTIDS)=”<gtid_list>” When providing SQL_BEFORE_GTIDS=”<gtid_list>”, for each domain specified in the gtid_list, the replica will execute transactions up to the GTID found, and immediately stop processing events in that domain (without executing the transaction of the specified GTID). Once all domains have stopped, the replica will stop. Events originating from domains that are not specified in the list are not replicated. START SLAVE UNTIL SQL_AFTER_GTIDS=”<gtid_list>” is an alias to the default behavior of START SLAVE UNTIL master_gtid_pos=”<gtid_list>”. That is, the replica will only execute transactions originating from domain ids provided in the list, and will stop once all transactions provided in the UNTIL list have all been executed. Example: ========= If a primary server has a binary log consisting of the following GTIDs: 0-1-1 1-1-1 0-1-2 1-1-2 0-1-3 1-1-3 If a fresh replica (i.e. one with an empty GTID position, @@gtid_slave_pos='') is started with SQL_BEFORE_GTIDS, i.e. START SLAVE UNTIL SQL_BEFORE_GTIDS=”1-1-2” The resulting gtid_slave_pos of the replica will be “1-1-1”. This is because the replica will execute only events from domain 1 until it sees the transaction with sequence number 2, and immediately stop without executing it. If the replica is started with SQL_AFTER_GTIDS, i.e. START SLAVE UNTIL SQL_AFTER_GTIDS=”1-1-2” then the resulting gtid_slave_pos of the replica will be “1-1-2”. This is because it will only execute events from domain 1 until it has executed the provided GTID. Reviewed By: ============ Kristian Nielson <knielsen@knielsen-hq.org>
-
- 19 Oct, 2023 1 commit
-
-
Daniel Black authored
utf8mb4_general_ci has been outdated for a while and contained loosely standardized collations. UCA-14.0.0 has a more defined collation with multiple benefit that new users may not immediately consider, or may assume to be default. By defining default collation for utf8mb4 to be uc1400_ai_ci newly created tables will have a modern standard collation.
-
- 17 Oct, 2023 2 commits
-
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
-
- 12 Oct, 2023 1 commit
-
-
Rucha Deodhar authored
-
- 11 Oct, 2023 2 commits
-
-
Sergei Golubchik authored
-
Rucha Deodhar authored
Before starting to go over the format string, prepare the current time zone information incase '%z' or '%Z' is encountered. This information can be obtained as given below: A) If timezone is not set ( meaning we are working with system timezone): Get the MYSQL_TIME representation for current time and GMT time using current thread variable for timezone and timezone variable for UTC respectively. This MYSQL_TIME variable will be used to calculate time difference. Also convert current time in second to tm structure to get system timezone information. B) If timezone is set as offset: Get timezone information using current timezone information and store in appropriate variable. C) If timezone is set as some place (example: Europe/Berlin) Get timezone information by searching the timezone. During internal timezone search, information like timeoffset from UTC and abbrevation is stored in another relevant structure. Hence use the same information.
-
- 04 Oct, 2023 2 commits
-
-
Vladislav Vaintroub authored
Refactor CPackWixConfig.cmake so that it complains about unknown CPack components. This would prevent missing components,or discrepancy between MSI and ZIP content, whenever new components are added or renamed. Also, remove some old stuff, and use macros add_component_group() and add_component() to reduce the verbosity.
-
Otto Kekalainen authored
Move files to the mariadb-test package that are created during the build but were not included in the package yet.
-
- 30 Sep, 2023 13 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
remove old deprecation helpers that were not used anywhere. create new deprecation helpers and enforce their usage this also removes inconsistencies in reporting deprecation: sometimes it was ER_WARN_DEPRECATED_SYNTAX (1287), sometimes ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT (1681), sometimes a warning, sometimes a note. it should always be * ER_WARN_DEPRECATED_SYNTAX * a warning (because it's something actionable, not purely informational)
-
Sergei Golubchik authored
after fb175a1b
-
Sergei Golubchik authored
it was introduced in ff8651c4 to suppress deprecated warnings for CALL under the flawed logic that "It's doesn't make sense to print out deprecated syntax warnings when the routine is being executed because this kind of warning only matters when the routine is being created". Which is incorrect, a feature might become deprecated after the routine was created and a user has to know that to be able to update the procedure before it stops working when a deprecated feature is removed.
-
Sergei Golubchik authored
mark non-default values of old_mode as deprecated. print a warning when they're set from the command line and in SQL.
-
Sergei Golubchik authored
In particular: * @@debug deprecated since 5.5.37 * sr_YU locale deprecated since 10.0.11 * "engine_condition_pushdown" in the @@optimizer_switch deprecated since 10.1.1 * @@date_format, @@datetime_format, @@time_format, @@max_tmp_tables deprecated since 10.1.2 * @@wsrep_causal_reads deprecated since 10.1.3 * "parser" in mroonga table comment deprecated since 10.2.11
-
Sergei Golubchik authored
KDF(key_str, salt [, {info | iterations} [, kdf_name [, width ]]]) kdf_name is "hkdf" or "pbkdf2_hmac" (default). width (in bits) can be any number divisible by 8, by default it's taken from @@block_encryption_mode iterations must be positive, and is 1000 by default OpenSSL 1.0 doesn't support HKDF, so it'll return NULL. This OpenSSL version is still used in SLES 12 and CentOS 7
-
Sergei Golubchik authored
like ErrConvString, but puts the string in 'single quotes'
-
Sergei Golubchik authored
followup for 7ba9c7fb
-
Sergei Golubchik authored
* don't introduce random four-space-gaps into the middle of description (meaning, nicely aligned wrapped string in the code gets ugly in the rpm) * remove obsolete comment * MariaDB-connect-engine is a required package for MariaDB-connect-engine-jdbc not "recommended" * don't recommend both mariadb-java-client and mysql-connector-java * in fact, don't recommend anything, it works badly for old rpm < 4.13, installs something that user may not want, and install redundand deps. Let's rethink how to do it meaningfully. And not break tests. followup for 7ba9c7fb
-
Sergei Golubchik authored
Not ready yet, it fails its own test suite This reverts commit 485c9b1f
-
Sergei Golubchik authored
-
Sergei Golubchik authored
first seen in daca468c
-
- 29 Sep, 2023 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 27 Sep, 2023 1 commit
-
-
Vladislav Vaintroub authored
Commit 738d4604 changed component name from "backup" to "Backup". Use the new name now.
-
- 25 Sep, 2023 1 commit
-
-
Alexey Botchkov authored
Fix the Cache_flip_event_log constructor.
-
- 24 Sep, 2023 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Vladislav Vaintroub authored
- optimize atomic store64/load64 implementation. - allow CRC32 optimization. Do not allow pmull yet, as this fails like in https://stackoverflow.com/questions/54048837/how-to-perform-polynomial-multiplication-using-arm64
-
Sergei Golubchik authored
-
- 23 Sep, 2023 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 21 Sep, 2023 4 commits
-
-
Nikita Malyavin authored
-
Nikita Malyavin authored
-
Alexander Barkov authored
- Removing two copies of the drop_routine. Adding a shared and much simplified version. - Removing LEX metods: bool stmt_drop_function(const DDL_options_st &options, const Lex_ident_sys_st &db, const Lex_ident_sys_st &name); bool stmt_drop_function(const DDL_options_st &options, const Lex_ident_sys_st &name); bool stmt_drop_procedure(const DDL_options_st &options, sp_name *name); The code inside the methods was very similar. Adding one method instead: bool stmt_drop_routine(const Sp_handler *sph, const DDL_options_st &options, const Lex_ident_sys_st &db, const Lex_ident_sys_st &name); - Adding a new virtual method Sp_handler:sqlcom_drop(). It helped to unify the code inside the new stmt_drop_routine().
-
Alexander Barkov authored
Resolving the shift/reduce conflict conflict in: GRANT .. ON /*ambiguity*/ FUNCTION f1 TO foo@localhost; GRANT ... ON /*ambiguity*/ [TABLE] function TO foo@localhost; and in REVOKE .. ON /*ambiguity*/ FUNCTION f1 TO foo@localhost; REVOKE ... ON /*ambiguity*/ [TABLE] function TO foo@localhost; using a new %prec directive.
-