- 17 Feb, 2024 1 commit
-
-
Daniel Bartholomew authored
-
- 15 Feb, 2024 1 commit
-
-
Oleksandr Byelkin authored
-
- 14 Feb, 2024 9 commits
-
-
Sergei Golubchik authored
-
Yuchen Pei authored
After MDEV-31400, plugins are allowed to ask for retries when failing initialisation. However, such failures also cause plugin system variables to be deleted (plugin_variables_deinit()) before retrying and are not re-added during retry. We fix this by checking that if the plugin has requested a retry the variables are not deleted. Because plugin_deinitialize() also calls plugin_variables_deinit(), if the retry fails, the variables will still be deleted. Alternatives considered: - remove the plugin_variables_deinit() from plugin_initialize() error handling altogether. We decide to take a more conservative approach here. - re-add the system variables during retry. It is more complicated than simply iterating over plugin->system_vars and call my_hash_insert(). For example we will need to assign values to the test_load field and extract more code from test_plugin_options(), if that is possible.
-
Sergei Golubchik authored
followup for abcd23ad
-
Sergei Golubchik authored
it was able to enable --ssl-verify-server-cert if explicily requested, now it can also disable it, if explicitly requested.
-
Monty authored
In case of failure, the something like the following is now printed: Slave position: file: binary.000004 position: 3647 Master position: file: binary.000004 position: 3647
-
Monty authored
binlog_space_limit is a variable in Percona server used to limit the total size of all binary logs. This implementation is based on code from Percona server 5.7. In MariaDB we decided to call the variable max-binlog-total-size to be similar to max-binlog-size. This makes it easier to find in the output from 'mariadbd --help --verbose'). MariaDB will also support binlog_space_limit for compatibility with Percona. Some internal notes to explain implementation notes: - When running MariaDB does not delete binary logs that are either used by slaves or have active xid that are not yet committed. Some implementation notes: - max-binlog-total-size is by default 0 (no limit). - max-binlog-total-size can be changed without server restart. - Binlog file sizes are checked on startup, or if max-binlog-total-size is set to a value > 0, not for every log write. The total size of all binary logs is cached and dynamically updated when updating the binary log on binary log rotation. - max-binlog-total-size is checked against existing log files during serverstart, binlog rotation, FLUSH LOGS, when writing to binary log or when max-binlog-total-size changes value. - Option --slave-connections-needed-for-purge with 1 as default added. This allows one to ensure that we do not delete binary logs if there is less than 'slave-connections-needed-for-purge' connected. Without this option max-binlog-total-size would potentially delete binlogs needed by slaves on server startup or when a slave disconnects as there are then no connected slaves to protect active binlogs. - PURGE BINARY LOGS TO ... will be executed as if slave-connectitons-needed-for-purge would be zero. In other words it will do the purge even if there is no slaves connected. If there are connected slaves working on the logs, these will be protected. - If binary log is on and max-binlog-total_size <> 0 then the status variable 'Binlog_disk_use' shows the current size of all old binary logs + the state of the current one. - Removed test of strcmp(log_file_name, log_info.log_file_name) in purge_logs_before_date() as this is tested in can_purge_logs() - To avoid expensive calls of log_in_use() we cache the result for the last log that is in use by a slave. Future calls to can_purge_logs() for this binary log will be quickly detected and false will be returned until a slave starts working on a new log. - Note that after a binary log rotation caused by max_binlog_size, the last log will not be purged directly as it is still in use internally. The next binary log write will purge binlogs if needed. Reviewer:Kristian Nielsen <knielsen@knielsen-hq.org>
-
Sergei Golubchik authored
-
Sergei Golubchik authored
libnet-ssleay-perl wasn't auto-detected
-
Sergei Golubchik authored
Revert "Deb: Stop shipping mariadb-plugin-spider separately, include in server" This reverts commit 9945d482.
-
- 13 Feb, 2024 1 commit
-
-
Otto Kekäläinen authored
Instead of having a separate plugin, simply include Spider in the main MariaDB Server package and let users manually enable on server installs where they want to run it.
-
- 12 Feb, 2024 12 commits
-
-
Nikita Malyavin authored
Restrict access to KEY_PERIOD_USAGE: show the constraint record iff any non-select privilege on any table column is granted. Also drop the unprivileged user in the end of test and add merge anchor.
-
Nikita Malyavin authored
Set the correct values for idx_field1, idx_field2 (i.e. db and table name fields) of ST_SCHEMA_TABLE instance.
-
Nikita Malyavin authored
-
Nikita Malyavin authored
Move table open result processing to the caller * st_schema_table::process_table doesn't have to check whether the table was opened successfully * It also doesn't have to check for a thd error and convert it to a warning * This simplifies adding new tables into information_schema * A callback still can output some info to a user in case of error. In order to do this, I_S_EXTENDED_ERROR_HANDLING should be specified in i_s_requested_object.
-
Nikita Malyavin authored
Now one can call thd->sql_command_flags() instead of sql_command_flags[thd->lex->sql_command].
-
Nikita Malyavin authored
Two new information_schema views are added: * PERIOD table -- columns TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, PERIOD_NAME, START_COLUMN_NAME, END_COLUMN_NAME. * KEY_PERIOD_USAGE -- works similar to KEY_COLUMN_USAGE, but for periods. Columns CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, PERIOD_NAME Two new columns are added to the COLUMNS view: IS_SYSTEM_TIME_PERIOD_START, IS_SYSTEM_TIME_PERIOD_END - contain YES/NO.
-
Nikita Malyavin authored
Embedded server has an option to opt out grant checks. sql_show.cc: reduce ifdefs by using embedded acl stub calls sql_acl.cc: add stub for embedded get_column_grant
-
Nikita Malyavin authored
-
Nikita Malyavin authored
-
Nikita Malyavin authored
-
Nikita Malyavin authored
-
Daniel Black authored
-
- 09 Feb, 2024 1 commit
-
-
Vladislav Vaintroub authored
Adjust test after fixing the C/C. On Windows, use --host=127.0.0.2 to fake "insecure" transport with TCP connection for test purposes. 127.0.0.2 is loopback address, that can be used instead of usual 127.0.0.1 Unfortunately, this technique does not work on all *nixes the same, notably neither on BSDs nor Solaris. Thus default --host=localhost remains "insecure" transport,when TCP is used. but it is not that critical, the "self-signed" is not nearly as annoying on *nixes as it is on Windows.
-
- 08 Feb, 2024 1 commit
-
-
Alexander Barkov authored
Changing the format in error messages: - ER_PACKAGE_ROUTINE_IN_SPEC_NOT_DEFINED_IN_BODY - ER_PACKAGE_ROUTINE_FORWARD_DECLARATION_NOT_DEFINED from "Subroutine 'db.pkg.f1' ..." to a more clear: "FUNCTION `db.pkg.f1` ..." "PROCEDURE `db.pkg.p1` ..."
-
- 05 Feb, 2024 2 commits
-
-
Brandon Nesterenko authored
This reverts commit c37b2087. In c37b20887, when re-binlogging a GTID event on a replica, it will overwrite the thread_id from the primary to be the value of the slave applier (SQL thread or parallel worker). This should be the value of the original thread_id on the master connection though, to both help track temporary tables, and be consistent with Query_log_event. Reverting the commit to re-target 11.5, so we can re-test with the corrected thread_id.
-
Alexander Barkov authored
When displaying the ER_SP_DOES_NOT_EXIST error, use Sp_handler::type_lex_cstring() to the the underlying object type: - PROCEDURE - FUNCTION - PACKAGE - PACKAGE BODY instead of hard-coded "FUNCTION or PROCEDURE".
-
- 04 Feb, 2024 12 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* --ssl-verify-server-cert was not enabled explicitly, and * CA was not specified, and * fingerprint was not specified, and * protocol is TCP, and * no password was provided insecure passwordless logins are common in test environment, let's not break them. practically, it hardly makes sense to have strong MitM protection if an attacker can simply login without a password. Covers mariadb, mariadb-admin, mariadb-binlog, mariadb-dump
-
Sergei Golubchik authored
enable ssl + ssl_verify_server_cert in the internal client too * fix replication tests to disable master_ssl_verify_server_cert because accounts are passwordless - except rpl.rpl_ssl1 * fix federated/federatedx/connect to disable SSL_VERIFY_SERVER_CERT because they cannot configure an ssl connection * fix spider to disable ssl_verify_server_cert, if configuration says so, as spider _can_ configure an ssl connection * memory leak in embedded test-connect
-
Sergei Golubchik authored
port the client-side implementation from C/C to the internal client. add the test.
-
Sergei Golubchik authored
because it doesn't work. CONC-635.
-
Sergei Golubchik authored
it's not an ssl option, so shouldn't be in mysql_ssl_free(), which frees ssl options, and only unless CLIENT_REMEMBER_OPTIONS is set. mysql->connector_fd must be freed when mysql->net.vio is closed and fd becomes no longer valid
-
Sergei Golubchik authored
use SSL_VERIFY_PEER with the "always ok" callback, instead of SSL_VERIFY_NONE with no callback. The latter doesn't work correctly in wolfSSL, it accepts self-signed certificates just fine (as in OpenSSL), but after that SSL_get_verify_result() returns X509_V_OK, while it returns an error (e.g. X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN) in OpenSSL.
-
Sergei Golubchik authored
X509_check_host() and X509_check_ip_asc() exist in all supported SSL libraries in OpenSSL >= 1.0.2 and in the bundled WolfSSL And X509_free() handles NULL pointers all right.
-
Sergei Golubchik authored
* type of mi->ssl_verify_server_cert must be my_bool, because it's passed by address to mysql_options(), and the latter expects my_bool * explicitly disable ssl in MYSQL if mi->ssl is 0 * remove dead code (`#ifdef NOT_USED`) * remove useless casts and checks replacing empty strings with NULL (new_VioSSLFd() does that internally)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
except in bootstrap
-