aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-07-27 10:05:23 +0200
commit5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch)
tree39a1a4629749056191c05dfd899f931701b7acf3 /srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test
parent5afd237bbd22028b85532b8c0b3fcead49a00764 (diff)
downloadft_server-master.tar.gz
ft_server-master.tar.bz2
ft_server-master.zip
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test')
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php74
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/RefProvider.php50
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SearchTest.php178
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SlimDataTest.php59
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/cleaner.js193
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_1.html235
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_2.html1211
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_3.html339
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/ultraSlimDataTestWithVariables.json51
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/index.js12
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/parser.js129
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/phpunit.xml27
-rw-r--r--srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/templates.js218
13 files changed, 0 insertions, 2776 deletions
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
deleted file mode 100644
index c12f576..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-declare(strict_types = 1);
-namespace Williamdes\MariaDBMySQLKBS\Test;
-
-use \PHPUnit\Framework\TestCase;
-use \Swaggest\JsonSchema\Schema;
-use \Swaggest\JsonSchema\Context;
-use \stdClass;
-
-class DataTest extends TestCase
-{
-
- /**
- * Validate json data
- *
- * @param stdClass $contents The file contents
- * @param string $id The schema id
- * @example validate($slimData, "urn:williamdes:mariadb-mysql-kbs:slimdata");
- * @return bool
- */
- public static function validate(stdClass $contents, string $id): bool
- {
- $options = new Context();
- $options->setRemoteRefProvider(new RefProvider());
- $schema = Schema::import($id, $options);
- $schema->in($contents);
- return true;// No exception occured
- }
-
- /**
- * test files
- *
- * @return void
- */
- public function testFileSample(): void
- {
- $slimDataTestData = json_decode((string) file_get_contents(__DIR__."/data/ultraSlimDataTestWithVariables.json"));
- $this->assertTrue(self::validate($slimDataTestData, "urn:williamdes:mariadb-mysql-kbs:ultraslimdata"));
- }
-
- /**
- * test slim data
- *
- * @return void
- */
- public function testFileSlim(): void
- {
- $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-slim.json"));
- $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:slimdata"));
- }
-
- /**
- * test ultra slim data
- *
- * @return void
- */
- public function testFileUltraSlim(): void
- {
- $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-ultraslim.json"));
- $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:ultraslimdata"));
- }
-
- /**
- * test ultra slim data
- *
- * @return void
- */
- public function testFileRaw(): void
- {
- $slimData = json_decode((string) file_get_contents(__DIR__."/../dist/merged-raw.json"));
- $this->assertTrue(self::validate($slimData, "urn:williamdes:mariadb-mysql-kbs:rawdata"));
- }
-
-}
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/RefProvider.php b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/RefProvider.php
deleted file mode 100644
index 50b25cc..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/RefProvider.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-declare(strict_types = 1);
-namespace Williamdes\MariaDBMySQLKBS\Test;
-
-use \Swaggest\JsonSchema\RemoteRefProvider;
-
-class RefProvider implements RemoteRefProvider
-{
-
- /**
- * Preloaded urn schemas
- *
- * @var \stdClass[]
- */
- private $urnSchemas = [];
-
- /**
- * Create a new RefProvider instance
- */
- public function __construct()
- {
- $files = glob(__DIR__ . "/../schemas/*.json");
- if ($files === false) {
- return;
- } else {
- foreach ($files as $filename) {
- $schema = json_decode((string) file_get_contents($filename));
- if (isset($schema) && isset($schema->{'$id'}) && $schema !== null) {
- $this->urnSchemas[$schema->{'$id'}] = $schema;
- }
- }
- }
- }
-
- /**
- * @param string $url The file url
- * @return \stdClass|false json_decode of $url resource content
- */
- public function getSchemaData($url)
- {
- if (isset($this->urnSchemas[$url])) {// Handle urn: urls
- return $this->urnSchemas[$url];
- } elseif (is_file($url)) {// Handle file
- return json_decode((string) file_get_contents($url));
- } else {// Handle URL
- return json_decode((string) file_get_contents(rawurldecode($url)));
- }
- }
-
-}
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SearchTest.php b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SearchTest.php
deleted file mode 100644
index cc15ac9..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SearchTest.php
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-declare(strict_types = 1);
-namespace Williamdes\MariaDBMySQLKBS\Test;
-
-use \PHPUnit\Framework\TestCase;
-use \Williamdes\MariaDBMySQLKBS\SlimData;
-use \Williamdes\MariaDBMySQLKBS\Search;
-use \Williamdes\MariaDBMySQLKBS\KBException;
-
-class SearchTest extends TestCase
-{
-
- /**
- * Load slim data
- *
- * @return void
- */
- public static function setUpBeforeClass(): void
- {
- $sd = new SlimData();
- $sd->addVariable("variable-1", "boolean", true);
- $sd->addVariable("variable-2", null, null);
- $sd->addVariable("variable-3", null, true);
- $variable4 = $sd->addVariable("variable-4", null, false);
- $variable4->addDocumentation("https://mariadb.com/testurl/for/variable/4", "myanchor");
- $variable4->addDocumentation("https://dev.mysql.com/testurl_for-variable/4", "my_anchor");
- Search::loadTestData($sd);
- }
-
- /**
- * test get by name
- *
- * @return void
- */
- public function testGetByName(): void
- {
- $found = Search::getByName("variable-4");
- $this->assertEquals("https://mariadb.com/testurl/for/variable/4#myanchor", $found);
- }
-
- /**
- * test get by name for MySQL
- *
- * @return void
- */
- public function testGetByNameMYSQL(): void
- {
- $found = Search::getByName("variable-4", Search::MYSQL);
- $this->assertEquals("https://dev.mysql.com/testurl_for-variable/4#my_anchor", $found);
- }
-
- /**
- * test get by name for MARIADB
- *
- * @return void
- */
- public function testGetByNameMARIADB(): void
- {
- $found = Search::getByName("variable-4", Search::MARIADB);
- $this->assertEquals("https://mariadb.com/testurl/for/variable/4#myanchor", $found);
- }
-
- /**
- * test get by name
- *
- *
- * @return void
- */
- public function testException(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does not exist for this type of documentation !/');
- Search::getByName("variable-3", Search::MARIADB);
- }
-
- /**
- * test get by name not found variable
- *
- *
- * @return void
- */
- public function testExceptionNoFoundGetVariableType(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does not exist !/');
- Search::getVariableType("acbdefghi0202");
- }
-
- /**
- * test get by name not found variable
- *
- *
- * @return void
- */
- public function testExceptionNoFound(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does not exist !/');
- Search::getByName("acbdefghi0202", Search::MARIADB);
- }
-
- /**
- * test get by name not found variable
- *
- *
- * @return void
- */
- public function testExceptionNoFoundGetVariable(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does not exist !/');
- Search::getVariable("acbdefghi0202");
- }
-
- /**
- * test load data fail
- *
- * @runInSeparateProcess
- *
- * @return void
- */
- public function testExceptionLoadData(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does not exist !/');
- Search::$DATA_DIR = ".";
- Search::$loaded = false;
- Search::loadData();
- }
-
- /**
- * test get variables with dynamic status
- *
- * @return void
- */
- public function testGetVariablesWithDynamic(): void
- {
- $dynamic = Search::getVariablesWithDynamic(true);
- $this->assertEquals($dynamic, Search::getDynamicVariables());
- $static = Search::getVariablesWithDynamic(false);
- $this->assertEquals($static, Search::getStaticVariables());
- $this->assertEquals(2, count($dynamic));
- $this->assertEquals(1, count($static));
- $common = \array_intersect($dynamic, $static);
- $this->assertEquals(0, count($common));// Impossible to be dynamic and not
- }
-
- /**
- * test Exception get variable type has no type
- *
- *
- * @return void
- */
- public function testExceptionGetVariableType(): void
- {
- $this->expectException(KBException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessageRegExp('/(.+) does have a known type !/');
- Search::getVariableType("variable-2");
- }
-
- /**
- * test get variable type
- *
- * @return void
- */
- public function testGetVariableType(): void
- {
- $type = Search::getVariableType("variable-1");
- $this->assertEquals("boolean", $type);
- }
-
-}
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SlimDataTest.php b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SlimDataTest.php
deleted file mode 100644
index 30a1d18..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SlimDataTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-declare(strict_types = 1);
-namespace Williamdes\MariaDBMySQLKBS\Test;
-
-use \PHPUnit\Framework\TestCase;
-use \Williamdes\MariaDBMySQLKBS\SlimData;
-
-class SlimDataTest extends TestCase
-{
-
- /**
- * Create an instance of SlimData
- *
- * @return SlimData
- */
- public function testCreateInstance(): SlimData
- {
- $slimData = new SlimData();
- $this->assertInstanceOf(SlimData::class, $slimData);
- return $slimData;
- }
-
- /**
- * Test json_encode empty object
- *
- * @param SlimData $slimData SlimData instance
- * @depends testCreateInstance
- * @return void
- */
- public function testToJsonEmpty(SlimData $slimData): void
- {
- $this->assertEquals('{"version":1}', json_encode($slimData));
- }
-
- /**
- * Test json_encode with variables
- *
- * @param SlimData $slimData SlimData instance
- * @depends testCreateInstance
- * @return void
- */
- public function testToJsonWithVariables(SlimData $slimData): void
- {
- $slimData->addVariable("Test_var", "boolean", true);
- $slimData->addVariable("another-variable", "string", false);
- $kbe = $slimData->addVariable("doc-variable_ok", "integer", true);
- $kbe->addDocumentation("https://example.org/williamdes/mariadb-mysql-kbs", "a_doc-variable_ok");
- $kbe->addDocumentation("https://example.org/williamdes/mariadb-mysql-kbs", "a_href_ok");
- $kbe->addDocumentation("https://example.org/williamdes/mariadb-mysql-kbs/_doc-variable_ok");
- $kbe->addDocumentation("https://dev.mysql.com/");
- $kbe->addDocumentation("https://mariadb.com/");
- $kbe->addDocumentation("https://mariadb.com/", "anchorname");
- $this->assertEquals(
- file_get_contents(__DIR__."/data/ultraSlimDataTestWithVariables.json"),
- json_encode($slimData, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)
- );
- }
-
-}
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/cleaner.js b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/cleaner.js
deleted file mode 100644
index 007207e..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/cleaner.js
+++ /dev/null
@@ -1,193 +0,0 @@
-'use strict';
-
-const expect = require('chai').expect;
-const cleaner = require(__dirname + '/../src/cleaner');
-
-module.exports = function() {
- suite('cleaner', function() {
- test('clean cli html code', function(done) {
- const cli = cleaner.cleanCli('<code>--test-argument</code>');
- expect(cli).to.equal('--test-argument');
- done();
- });
- test('clean cli html code not closed', function(done) {
- const cli = cleaner.cleanCli('<code>--test-argument');
- expect(cli).to.equal('--test-argument');
- done();
- });
- test('clean cli nothing to clean', function(done) {
- const cli = cleaner.cleanCli('--test-argument');
- expect(cli).to.equal('--test-argument');
- done();
- });
- test('clean cli undefined', function(done) {
- const cli = cleaner.cleanCli(undefined);
- expect(cli).to.equal(undefined);
- done();
- });
- test('clean range undefined', function(done) {
- const range = cleaner.cleanRange(undefined);
- expect(range).to.deep.equal(undefined);
- done();
- });
- test('clean range.from typeof object (dataset-1)', function(done) {
- const range = cleaner.cleanRange({
- from: null,
- to: null,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-2)', function(done) {
- const range = cleaner.cleanRange({
- to: null,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-3)', function(done) {
- const range = cleaner.cleanRange({
- from: null,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-4)', function(done) {
- const range = cleaner.cleanRange({
- from: undefined,
- to: undefined,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-5)', function(done) {
- const range = cleaner.cleanRange({
- to: undefined,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-6)', function(done) {
- const range = cleaner.cleanRange({
- from: undefined,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof object (dataset-7)', function(done) {
- const range = cleaner.cleanRange({
- from: NaN,
- to: NaN,
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.from typeof int', function(done) {
- const range = cleaner.cleanRange({
- from: 1024,
- });
- expect(range).to.deep.equal({
- from: 1024,
- });
- done();
- });
- test('clean range.from typeof string', function(done) {
- const range = cleaner.cleanRange({
- from: '1024',
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.to typeof int', function(done) {
- const range = cleaner.cleanRange({
- to: 1024,
- });
- expect(range).to.deep.equal({
- to: 1024,
- });
- done();
- });
- test('clean range.to typeof string', function(done) {
- const range = cleaner.cleanRange({
- to: '1024',
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range.to typeof object', function(done) {
- const range = cleaner.cleanRange({
- to: {},
- });
- expect(range).to.deep.equal({});
- done();
- });
- test('clean range to upwards', function(done) {
- const range = cleaner.cleanRange({
- to: 'upwards',
- });
- expect(range).to.deep.equal({
- to: 'upwards',
- });
- done();
- });
- test('clean range to upwards match', function(done) {
- const range = cleaner.cleanRange({
- to: '(128KB) upwards',
- });
- expect(range).to.deep.equal({
- to: 'upwards',
- });
- done();
- });
- test('clean binary types in bytes', function(done) {
- const type = cleaner.cleanType('in bytes');
- expect(type).to.deep.equal('byte');
- done();
- });
- test('clean binary types size in mb', function(done) {
- const type = cleaner.cleanType('size in mb');
- expect(type).to.deep.equal('byte');
- done();
- });
- test('clean binary types number of bytes', function(done) {
- const type = cleaner.cleanType('number of bytes');
- expect(type).to.deep.equal('byte');
- done();
- });
- test('clean binary types number of', function(done) {
- const type = cleaner.cleanType('number of');
- expect(type).to.deep.equal('integer');
- done();
- });
- test('clean binary types size of', function(done) {
- const type = cleaner.cleanType('size of');
- expect(type).to.deep.equal('integer');
- done();
- });
- test('clean binary types in microseconds', function(done) {
- const type = cleaner.cleanType('in microseconds');
- expect(type).to.deep.equal('integer');
- done();
- });
- test('clean binary types in seconds', function(done) {
- const type = cleaner.cleanType('in seconds');
- expect(type).to.deep.equal('integer');
- done();
- });
- test('clean wtf type', function(done) {
- const type = cleaner.cleanType('wtf');
- expect(type).to.deep.equal(undefined);
- done();
- });
- test('clean enumeration type', function(done) {
- const type = cleaner.cleanType('enumeration');
- expect(type).to.deep.equal('enumeration');
- done();
- });
- test('clean undefined type', function(done) {
- const type = cleaner.cleanType(undefined);
- expect(type).to.deep.equal(undefined);
- done();
- });
- });
-};
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_1.html b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_1.html
deleted file mode 100644
index 5855c10..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_1.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<html>
-
-<div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: disc; ">
- <li class="listitem">
- <p><a name="option_mysqld_ndbcluster"></a>
- <a class="indexterm" name="idm139716308207376"></a>
-
- <a class="indexterm" name="idm139716308205888"></a>
-
- <a class="link" href="mysql-cluster-options-variables.html#option_mysqld_ndbcluster"><code
- class="option">--ndbcluster</code></a>
- </p>
- <div class="table">
- <a name="ndbcluster-detailtable"></a>
- <p class="title"><b>Table&nbsp;21.207
- Type and value information for ndbcluster</b></p>
- <div class="table-contents">
- <table>
- <colgroup>
- <col width="35%">
- <col width="65%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row">Name</td>
- <td><code
- class="literal"><a class="link" href="mysql-cluster-options-variables.html#option_mysqld_ndbcluster">ndbcluster</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row">Command Line</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">System Variable</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Status Variable</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Option File</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Scope</td>
- <td></td>
- </tr>
- <tr>
- <td scope="row">Dynamic</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Type</td>
- <td></td>
- </tr>
- <tr>
- <td scope="row">Default, Range</td>
- <td>FALSE (Version: NDB 7.5-7.6)</td>
- </tr>
- <tr>
- <td scope="row">Notes</td>
- <td>
- <p>
- DESCRIPTION: Enable NDB Cluster (if this version
- of MySQL supports it)
- </p>
- <p>
- Disabled by
- <a class="link"
- href="mysql-cluster-options-variables.html#option_mysqld_skip-ndbcluster"><code
- class="option">--skip-ndbcluster</code></a>.
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="table-contents">
- <table cellpadding="0" cellspacing="0"
- style="position: fixed; top: 0px; display: none; left: 431px; width: 705px;">
- <thead>
- <tr>
- <th scope="col" style="width: 247px;">Property</th>
- <th scope="col" style="width: 457px;">Value</th>
- </tr>
- </thead>
- </table>
- </div>
-
- </div>
- <br class="table-break">
- <p>
- The <a class="link" href="mysql-cluster.html"
- title="Chapter&nbsp;21&nbsp;MySQL NDB Cluster 7.5 and NDB Cluster 7.6"><code
- class="literal">NDBCLUSTER</code></a> storage engine
- is necessary for using NDB Cluster. If a
- <a class="link" href="mysqld.html" title="4.3.1&nbsp;mysqld β€” The MySQL Server"><span
- class="command"><strong>mysqld</strong></span></a> binary includes support for the
- <a class="link" href="mysql-cluster.html"
- title="Chapter&nbsp;21&nbsp;MySQL NDB Cluster 7.5 and NDB Cluster 7.6"><code
- class="literal">NDBCLUSTER</code></a> storage engine,
- the engine is disabled by default. Use the
- <a class="link" href="mysql-cluster-options-variables.html#option_mysqld_ndbcluster"><code
- class="option">--ndbcluster</code></a> option to
- enable it. Use <code class="option">--skip-ndbcluster</code> to
- explicitly disable the engine.
- </p>
- <p>
- It is not necessary or desirable to use this option
- together with <a class="link" href="server-options.html#option_mysqld_initialize"><code
- class="option">--initialize</code></a>.
- Beginning with NDB 7.5.4, <code class="option">--ndbcluster</code> is
- ignored (and the <code class="literal">NDB</code> storage engine is
- <span class="emphasis"><em>not</em></span> enabled) if
- <code class="option">--initialize</code> is also used. (Bug #81689,
- Bug #23518923)
- </p>
- </li>
- <li class="listitem">
- <p><a name="option_mysqld_ndb-allow-copying-alter-table"></a>
- <a class="indexterm" name="idm139716308160304"></a>
-
- <a class="indexterm" name="idm139716308158800"></a>
-
- <code class="option">--ndb-allow-copying-alter-table=[ON|OFF]</code>
- </p>
- <div class="table">
- <a name="ndb-allow-copying-alter-table-detailtable"></a>
- <p class="title"><b>Table&nbsp;21.208
- Type and value information for ndb-allow-copying-alter-table</b></p>
- <div class="table-contents">
- <table>
- <colgroup>
- <col width="35%">
- <col width="65%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row">Name</td>
- <td><code
- class="literal"><a class="link" href="mysql-cluster-options-variables.html#option_mysqld_ndb-allow-copying-alter-table">ndb-allow-copying-alter-table</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row">Command Line</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">System Variable</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Status Variable</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Option File</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Scope</td>
- <td>Both</td>
- </tr>
- <tr>
- <td scope="row">Dynamic</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Type</td>
- <td></td>
- </tr>
- <tr>
- <td scope="row">Default, Range</td>
- <td>ON (Version: NDB 7.5-7.6)</td>
- </tr>
- <tr>
- <td scope="row">Notes</td>
- <td>
- <p>
- DESCRIPTION: Set to OFF to keep ALTER TABLE from
- using copying operations on NDB tables
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="table-contents">
- <table cellpadding="0" cellspacing="0"
- style="position: fixed; top: 0px; display: none; left: 431px; width: 911px;">
- <thead>
- <tr>
- <th scope="col" style="width: 319px;">Property</th>
- <th scope="col" style="width: 591px;">Value</th>
- </tr>
- </thead>
- </table>
- </div>
-
- </div>
- <br class="table-break">
- <p>
- Let <a class="link" href="alter-table.html" title="13.1.8&nbsp;ALTER TABLE Syntax"><code
- class="literal">ALTER TABLE</code></a> and other
- DDL statements use copying operations on
- <code class="literal">NDB</code> tables. Set to
- <code class="literal">OFF</code> to keep this from happening; doing
- so may improve performance of critical applications.
- </p>
- </li>
- <li class="listitem">
- <p><a name="option_mysqld_ndb-batch-size"></a>
- <a class="indexterm" name="idm139716308121008"></a>
-
- <a class="indexterm" name="idm139716308119520"></a>
-
- <code class="option">--ndb-batch-size=<em class="replaceable"><code>#</code></em></code>
- </p>
-
-</html>
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_2.html b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_2.html
deleted file mode 100644
index 2c3c1c5..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_2.html
+++ /dev/null
@@ -1,1211 +0,0 @@
-<html>
-<div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: disc; ">
- <li class="listitem">
- <p><a name="sysvar_binlog_gtid_simple_recovery"></a>
- <a class="indexterm" name="idm140532554077552"></a>
-
- <a class="indexterm" name="idm140532554076512"></a>
-
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery</code></a>
- </p>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for binlog_gtid_simple_recovery">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>Command-Line Format</strong></span></td>
- <td><code class="literal">--binlog-gtid-simple-recovery[={OFF|ON}]</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery">binlog_gtid_simple_recovery</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>Boolean</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Default Value</strong></span></td>
- <td><code class="literal">ON</code></td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- This variable controls how binary log files are iterated
- during the search for GTIDs when MySQL starts or restarts.
- </p>
- <p>
- When
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=TRUE</code></a>,
- which is the default in MySQL 8.0, the values of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> and
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> are computed at
- startup based on the values of
- <code class="literal">Previous_gtids_log_event</code> in the most recent
- and oldest binary log files. For a description of the
- computation, see
- <a class="xref" href="replication-gtids-lifecycle.html#replication-gtids-gtid-purged"
- title="The gtid_purged System Variable">The <code class="literal">gtid_purged</code> System
- Variable</a>. This setting
- accesses only two binary log files during server restart. If
- all binary logs on the server were generated using MySQL 5.7.8
- or later,
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=TRUE</code></a>
- can always safely be used.
-
-
- </p>
- <p>
- If any binary logs from MySQL 5.7.7 or older are present on
- the server (for example, following an upgrade of an older
- server to MySQL 8.0), with
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=TRUE</code></a>,
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> and
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> might be
- initialized incorrectly in the following two situations:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- The newest binary log was generated by MySQL 5.7.5 or
- earlier, and <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a>
- was <code class="literal">ON</code> for some binary logs but
- <code class="literal">OFF</code> for the newest binary log.
- </p>
- </li>
- <li class="listitem">
- <p>
- A <code class="literal">SET @@GLOBAL.gtid_purged</code> statement
- was issued on MySQL 5.7.7 or earlier, and the binary log
- that was active at the time of the <code class="literal">SET
- @@GLOBAL.gtid_purged</code> statement has not yet been
- purged.
-
-
- </p>
- </li>
- </ul>
- </div>
- <p>
- If an incorrect GTID set is computed in either situation, it
- will remain incorrect even if the server is later restarted
- with
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=FALSE</code></a>.
- If either of these situations apply or might apply on the
- server, set
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=FALSE</code></a>
- before starting or restarting the server.
- </p>
- <p>
- When
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=FALSE</code></a>
- is set, the method of computing
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> and
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> as described in
- <a class="xref" href="replication-gtids-lifecycle.html#replication-gtids-gtid-purged"
- title="The gtid_purged System Variable">The <code class="literal">gtid_purged</code> System
- Variable</a> is changed to
- iterate the binary log files as follows:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- Instead of using the value of
- <code class="literal">Previous_gtids_log_event</code> and GTID log
- events from the newest binary log file, the computation
- for <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>
- iterates from the newest binary log file, and uses the
- value of <code class="literal">Previous_gtids_log_event</code> and
- any GTID log events from the first binary log file where
- it finds a <code class="literal">Previous_gtids_log_event</code>
- value. If the server's most recent binary log files do not
- have GTID log events, for example if
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode=ON</code></a> was used but
- the server was later changed to
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode=OFF</code></a>, this
- process can take a long time.
- </p>
- </li>
- <li class="listitem">
- <p>
- Instead of using the value of
- <code class="literal">Previous_gtids_log_event</code> from the
- oldest binary log file, the computation for
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> iterates from
- the oldest binary log file, and uses the value of
- <code class="literal">Previous_gtids_log_event</code> from the first
- binary log file where it finds either a nonempty
- <code class="literal">Previous_gtids_log_event</code> value, or at
- least one GTID log event (indicating that the use of GTIDs
- starts at that point). If the server's older binary log
- files do not have GTID log events, for example if
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode=ON</code></a> was only set
- recently on the server, this process can take a long time.
- </p>
- </li>
- </ul>
- </div>
- </li>
- <li class="listitem">
- <p><a name="sysvar_enforce_gtid_consistency"></a>
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="literal">enforce_gtid_consistency</code></a>
- </p><a class="indexterm" name="idm140532554003024"></a><a class="indexterm" name="idm140532554001920"></a>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for enforce_gtid_consistency">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>Command-Line Format</strong></span></td>
- <td><code class="literal">--enforce-gtid-consistency[=value]</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency">enforce_gtid_consistency</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>Enumeration</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Default Value</strong></span></td>
- <td><code class="literal">OFF</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Valid Values</strong></span></td>
- <td>
- <p class="valid-value"><code class="literal">OFF</code></p>
- <p class="valid-value"><code class="literal">ON</code></p>
- <p class="valid-value"><code class="literal">WARN</code></p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- Depending on the value of this variable, the server enforces
- GTID consistency by allowing execution of only statements that
- can be safely logged using a GTID. You
- <span class="emphasis"><em>must</em></span> set this variable to
- <code class="literal">ON</code> before enabling GTID based replication.
- </p>
- <p>
- The values that
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="literal">enforce_gtid_consistency</code></a> can
- be configured to are:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- <code class="literal">OFF</code>: all transactions are allowed to
- violate GTID consistency.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">ON</code>: no transaction is allowed to
- violate GTID consistency.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">WARN</code>: all transactions are allowed to
- violate GTID consistency, but a warning is generated in
- this case.
- </p>
- </li>
- </ul>
- </div>
- <p>
- Only statements that can be logged using GTID safe statements
- can be logged when
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="literal">enforce_gtid_consistency</code></a> is
- set to <code class="literal">ON</code>, so the operations listed here
- cannot be used with this option:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- <a class="link" href="create-table-select.html"
- title="13.1.20.5&nbsp;CREATE TABLE ... SELECT Syntax"><code class="literal">CREATE
- TABLE ... SELECT</code></a> statements
- </p>
- </li>
- <li class="listitem">
- <p>
- <a class="link" href="create-table.html" title="13.1.20&nbsp;CREATE TABLE Syntax"><code
- class="literal">CREATE
- TEMPORARY TABLE</code></a> or
- <a class="link" href="drop-table.html" title="13.1.32&nbsp;DROP TABLE Syntax"><code
- class="literal">DROP TEMPORARY
- TABLE</code></a> statements inside transactions
- </p>
- </li>
- <li class="listitem">
- <p>
- Transactions or statements that update both transactional
- and nontransactional tables. There is an exception that
- nontransactional DML is allowed in the same transaction or
- in the same statement as transactional DML, if all
- <span class="emphasis"><em>nontransactional</em></span> tables are
- temporary.
- </p>
- </li>
- </ul>
- </div>
- <p>
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="option">--enforce-gtid-consistency</code></a> only
- takes effect if binary logging takes place for a statement. If
- binary logging is disabled on the server, or if statements are
- not written to the binary log because they are removed by a
- filter, GTID consistency is not checked or enforced for the
- statements that are not logged.
- </p>
- <p>
- For more information, see
- <a class="xref" href="replication-gtids-restrictions.html"
- title="17.1.3.6&nbsp;Restrictions on Replication with GTIDs">Section&nbsp;17.1.3.6, β€œRestrictions on
- Replication with GTIDs”</a>.
- </p>
- <p>
- Prior to MySQL 5.7 and in early releases in that release
- series, the boolean
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="literal">enforce_gtid_consistency</code></a>
- defaulted to <code class="literal">OFF</code>. To maintain compatibility
- with these earlier releases, the enumeration defaults to
- <code class="literal">OFF</code>, and setting
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="option">--enforce-gtid-consistency</code></a>
- without a value is interpreted as setting the value to
- <code class="literal">ON</code>. The variable also has multiple textual
- aliases for the values: <code class="literal">0=OFF=FALSE</code>,
- <code class="literal">1=ON=TRUE</code>,<code class="literal">2=WARN</code>. This
- differs from other enumeration types but maintains
- compatibility with the boolean type used in previous releases.
- These changes impact on what is returned by the variable.
- Using <code class="literal">SELECT @@ENFORCE_GTID_CONSISTENCY</code>,
- <code class="literal">SHOW VARIABLES LIKE
- 'ENFORCE_GTID_CONSISTENCY'</code>, and <code class="literal">SELECT *
- FROM INFORMATION_SCHEMA.VARIABLES WHERE 'VARIABLE_NAME' =
- 'ENFORCE_GTID_CONSISTENCY'</code>, all return the textual
- form, not the numeric form. This is an incompatible change,
- since <code class="literal">@@ENFORCE_GTID_CONSISTENCY</code> returns
- the numeric form for booleans but returns the textual form for
- <code class="literal">SHOW</code> and the Information Schema.
- </p>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_executed"></a>
- <a class="indexterm" name="idm140532553933872"></a>
-
- <a class="indexterm" name="idm140532553932816"></a>
-
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>
- </p>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_executed">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_executed">gtid_executed</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_executed">gtid_executed</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global, Session</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>String</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- When used with global scope, this variable contains a
- representation of the set of all transactions executed on the
- server and GTIDs that have been set by a
- <a class="link" href="set-variable.html" title="13.7.6.1&nbsp;SET Syntax for Variable Assignment"><code
- class="literal">SET</code></a>
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> statement. This
- is the same as the value of the
- <code class="literal">Executed_Gtid_Set</code> column in the output of
- <a class="link" href="show-master-status.html" title="13.7.7.23&nbsp;SHOW MASTER STATUS Syntax"><code
- class="literal">SHOW MASTER STATUS</code></a> and
- <a class="link" href="show-slave-status.html" title="13.7.7.34&nbsp;SHOW SLAVE STATUS Syntax"><code
- class="literal">SHOW SLAVE STATUS</code></a>. The value of
- this variable is a GTID set, see
- <a class="xref" href="replication-gtids-concepts.html#replication-gtids-concepts-gtid-sets"
- title="GTID Sets">GTID Sets</a> for
- more information.
- </p>
- <p>
- When the server starts,
- <code class="literal">@@GLOBAL.gtid_executed</code> is initialized. See
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery</code></a>
- for more information on how binary logs are iterated to
- populate <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>. GTIDs
- are then added to the set as transactions are executed, or if
- any
- <a class="link" href="set-variable.html" title="13.7.6.1&nbsp;SET Syntax for Variable Assignment"><code
- class="literal">SET</code></a>
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> statement is
- executed.
- </p>
- <p>
- The set of transactions that can be found in the binary logs
- at any given time is equal to
- <a class="link" href="gtid-functions.html#function_gtid-subtract"><code class="literal">GTID_SUBTRACT(@@GLOBAL.gtid_executed,
- @@GLOBAL.gtid_purged)</code></a>; that is, to all transactions
- in the binary log that have not yet been purged.
- </p>
- <p>
- Issuing <a class="link" href="reset-master.html" title="13.4.1.2&nbsp;RESET MASTER Syntax"><code
- class="literal">RESET MASTER</code></a> causes the
- global value (but not the session value) of this variable to
- be reset to an empty string. GTIDs are not otherwise removed
- from this set other than when the set is cleared due to
- <code class="literal">RESET MASTER</code>.
- </p>
- <p>
- In some older releases, this variable could also be used with
- session scope, where it contained a representation of the set
- of transactions that are written to the cache in the current
- session. The session scope is now deprecated.
- </p>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_executed_compression_period"></a>
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed_compression_period"><code
- class="literal">gtid_executed_compression_period</code></a>
- </p><a class="indexterm" name="idm140532553874368"></a><a class="indexterm" name="idm140532553873280"></a>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_executed_compression_period">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>Command-Line Format</strong></span></td>
- <td><code class="literal">--gtid-executed-compression-period=#</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_executed_compression_period">gtid_executed_compression_period</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>Integer</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Default Value</strong></span></td>
- <td><code class="literal">1000</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Minimum Value</strong></span></td>
- <td><code class="literal">0</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Maximum Value</strong></span></td>
- <td><code class="literal">4294967295</code></td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- Compress the <code class="literal">mysql.gtid_executed</code> table each
- time this many transactions have been processed. A setting of
- 0 means that this table is not compressed. Since no
- compression of the table occurs when using the binary log,
- setting the value of the variable has no effect unless binary
- logging is disabled.
- </p>
- <p>
- See
- <a class="xref" href="replication-gtids-concepts.html#replication-gtids-gtid-executed-table-compression"
- title="mysql.gtid_executed Table Compression">mysql.gtid_executed Table Compression</a>,
- for more information.
- </p>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_mode"></a>
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a>
- </p><a class="indexterm" name="idm140532553833104"></a><a class="indexterm" name="idm140532553832016"></a>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_mode">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>Command-Line Format</strong></span></td>
- <td><code class="literal">--gtid-mode=MODE</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_mode">gtid_mode</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>Enumeration</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Default Value</strong></span></td>
- <td><code class="literal">OFF</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Valid Values</strong></span></td>
- <td>
- <p class="valid-value"><code class="literal">OFF</code></p>
- <p class="valid-value"><code class="literal">OFF_PERMISSIVE</code></p>
- <p class="valid-value"><code class="literal">ON_PERMISSIVE</code></p>
- <p class="valid-value"><code class="literal">ON</code></p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- Controls whether GTID based logging is enabled and what type
- of transactions the logs can contain. You must have privileges
- sufficient to set global system variables. See
- <a class="xref" href="system-variable-privileges.html"
- title="5.1.9.1&nbsp;System Variable Privileges">Section&nbsp;5.1.9.1, β€œSystem Variable
- Privileges”</a>.
- <a class="link" href="replication-options-gtids.html#sysvar_enforce_gtid_consistency"><code
- class="literal">enforce_gtid_consistency</code></a> must
- be true before you can set
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode=ON</code></a>. Before
- modifying this variable, see
- <a class="xref" href="replication-mode-change-online.html"
- title="17.1.5&nbsp;Changing Replication Modes on Online Servers">Section&nbsp;17.1.5, β€œChanging
- Replication Modes on Online Servers”</a>.
- </p>
- <p>
- Logged transactions can be either anonymous or use GTIDs.
- Anonymous transactions rely on binary log file and position to
- identify specific transactions. GTID transactions have a
- unique identifier that is used to refer to transactions. The
- different modes are:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- <code class="literal">OFF</code>: Both new and replicated
- transactions must be anonymous.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">OFF_PERMISSIVE</code>: New transactions are
- anonymous. Replicated transactions can be either anonymous
- or GTID transactions.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">ON_PERMISSIVE</code>: New transactions are
- GTID transactions. Replicated transactions can be either
- anonymous or GTID transactions.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">ON</code>: Both new and replicated
- transactions must be GTID transactions.
- </p>
- </li>
- </ul>
- </div>
- <p>
- Changes from one value to another can only be one step at a
- time. For example, if
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a> is currently set to
- <code class="literal">OFF_PERMISSIVE</code>, it is possible to change to
- <code class="literal">OFF</code> or <code class="literal">ON_PERMISSIVE</code> but
- not to <code class="literal">ON</code>.
- </p>
- <p>
- The values of <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> and
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> are persistent
- regardless of the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a>. Therefore even
- after changing the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a>, these variables
- contain the correct values.
- </p>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_next"></a>
- <a class="indexterm" name="idm140532553773568"></a>
-
- <a class="indexterm" name="idm140532553772512"></a>
-
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_next"><code
- class="literal">gtid_next</code></a>
- </p>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_next">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_next">gtid_next</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Session</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>Enumeration</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Default Value</strong></span></td>
- <td><code class="literal">AUTOMATIC</code></td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Valid Values</strong></span></td>
- <td>
- <p class="valid-value"><code class="literal">AUTOMATIC</code></p>
- <p class="valid-value"><code class="literal">ANONYMOUS</code></p>
- <p class="valid-value"><code class="literal">UUID:NUMBER</code></p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- This variable is used to specify whether and how the next GTID
- is obtained.
- </p>
- <p>
- Setting the session value of this system variable is a
- restricted operation. The session user must have either the
- <a class="link" href="privileges-provided.html#priv_replication-applier"><code
- class="literal">REPLICATION_APPLIER</code></a> privilege
- (see <a class="xref" href="replication-privilege-checks.html"
- title="17.3.3&nbsp;Replication Privilege Checks">Section&nbsp;17.3.3, β€œReplication Privilege
- Checks”</a>), or
- privileges sufficient to set restricted session variables (see
- <a class="xref" href="system-variable-privileges.html"
- title="5.1.9.1&nbsp;System Variable Privileges">Section&nbsp;5.1.9.1, β€œSystem Variable
- Privileges”</a>).
- </p>
- <p>
- <code class="literal">gtid_next</code> can take any of the following
- values:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- <code class="literal">AUTOMATIC</code>: Use the next
- automatically-generated global transaction ID.
- </p>
- </li>
- <li class="listitem">
- <p>
- <code class="literal">ANONYMOUS</code>: Transactions do not have
- global identifiers, and are identified by file and
- position only.
- </p>
- </li>
- <li class="listitem">
- <p>
- A global transaction ID in
- <em class="replaceable"><code>UUID</code></em>:<em
- class="replaceable"><code>NUMBER</code></em>
- format.
- </p>
- </li>
- </ul>
- </div>
- <p>
- Exactly which of the above options are valid depends on the
- setting of <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a>, see
- <a class="xref" href="replication-mode-change-online-concepts.html"
- title="17.1.5.1&nbsp;Replication Mode Concepts">Section&nbsp;17.1.5.1, β€œReplication Mode
- Concepts”</a> for
- more information. Setting this variable has no effect if
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_mode"><code
- class="literal">gtid_mode</code></a> is
- <code class="literal">OFF</code>.
- </p>
- <p>
- After this variable has been set to
- <em class="replaceable"><code>UUID</code></em>:<em class="replaceable"><code>NUMBER</code></em>,
- and a transaction has been committed or rolled back, an
- explicit <code class="literal">SET GTID_NEXT</code> statement must again
- be issued before any other statement.
- </p>
- <p>
- <a class="link" href="drop-table.html" title="13.1.32&nbsp;DROP TABLE Syntax"><code
- class="literal">DROP TABLE</code></a> or
- <a class="link" href="drop-table.html" title="13.1.32&nbsp;DROP TABLE Syntax"><code class="literal">DROP TEMPORARY
- TABLE</code></a> fails with an explicit error when used on a
- combination of nontemporary tables with temporary tables, or
- of temporary tables using transactional storage engines with
- temporary tables using nontransactional storage engines.
- </p>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_owned"></a>
- <a class="indexterm" name="idm140532553718736"></a>
-
- <a class="indexterm" name="idm140532553717680"></a>
-
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_owned"><code
- class="literal">gtid_owned</code></a>
- </p>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_owned">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_owned">gtid_owned</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global, Session</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>String</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- This read-only variable is primarily for internal use. Its
- contents depend on its scope.
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- When used with global scope,
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_owned"><code
- class="literal">gtid_owned</code></a> holds a list
- of all the GTIDs that are currently in use on the server,
- with the IDs of the threads that own them. This variable
- is mainly useful for a multi-threaded replication slave to
- check whether a transaction is already being applied on
- another thread. An applier thread takes ownership of a
- transaction's GTID all the time it is processing the
- transaction, so <code class="literal">@@global.gtid_owned</code>
- shows the GTID and owner for the duration of processing.
- When a transaction has been committed (or rolled back),
- the applier thread releases ownership of the GTID.
- </p>
- </li>
- <li class="listitem">
- <p>
- When used with session scope,
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_owned"><code
- class="literal">gtid_owned</code></a> holds a single
- GTID that is currently in use by and owned by this
- session. This variable is mainly useful for testing and
- debugging the use of GTIDs when the client has explicitly
- assigned a GTID for the transaction by setting
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_next"><code
- class="literal">gtid_next</code></a>. In this case,
- <code class="literal">@@session.gtid_owned</code> displays the GTID
- all the time the client is processing the transaction,
- until the transaction has been committed (or rolled back).
- When the client has finished processing the transaction,
- the variable is cleared. If
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_next"><code
- class="literal">gtid_next=AUTOMATIC</code></a> is
- used for the session,
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_owned"><code
- class="literal">gtid_owned</code></a> is only
- populated briefly during the execution of the commit
- statement for the transaction, so it cannot be observed
- from the session concerned, although it will be listed if
- <code class="literal">@@global.gtid_owned</code> is read at the
- right point. If you have a requirement to track the GTIDs
- that are handled by a client in a session, you can enable
- the session state tracker controlled by the
- <a class="link" href="server-system-variables.html#sysvar_session_track_gtids"><code
- class="literal">session_track_gtids</code></a>
- system variable.
- </p>
- </li>
- </ul>
- </div>
- </li>
- <li class="listitem">
- <p><a name="sysvar_gtid_purged"></a>
- <a class="indexterm" name="idm140532553678512"></a>
-
- <a class="indexterm" name="idm140532553677504"></a>
-
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>
- </p>
- <div class="informaltable">
- <table frame="box" rules="all" summary="Properties for gtid_purged">
- <colgroup>
- <col width="30%">
- <col width="70%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row"><span class="bold"><strong>System Variable</strong></span></td>
- <td><code
- class="literal"><a class="link" href="replication-options-gtids.html#sysvar_gtid_purged">gtid_purged</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Scope</strong></span></td>
- <td>Global</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Dynamic</strong></span></td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong><a class="link"
- href="optimizer-hints.html#optimizer-hints-set-var"
- title="Variable-Setting Hint Syntax"><code
- class="literal">SET_VAR</code></a> Hint Applies</strong></span></td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row"><span class="bold"><strong>Type</strong></span></td>
- <td>String</td>
- </tr>
- </tbody>
- </table>
- </div>
- <p>
- The global value of the
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> system variable
- (<code class="literal">@@GLOBAL.gtid_purged</code>) is a GTID set
- consisting of the GTIDs of all the transactions that have been
- committed on the server, but do not exist in any binary log
- file on the server.
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> is a subset of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>. The following
- categories of GTIDs are in
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>:
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- GTIDs of replicated transactions that were committed with
- binary logging disabled on the slave.
- </p>
- </li>
- <li class="listitem">
- <p>
- GTIDs of transactions that were written to a binary log
- file that has now been purged.
- </p>
- </li>
- <li class="listitem">
- <p>
- GTIDs that were added explicitly to the set by the
- statement <code class="literal">SET @@GLOBAL.gtid_purged</code>.
- </p>
- </li>
- </ul>
- </div>
- <p>
- When the server starts, the global value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> is initialized to
- a set of GTIDs. For information on how this GTID set is
- computed, see <a class="xref" href="replication-gtids-lifecycle.html#replication-gtids-gtid-purged"
- title="The gtid_purged System Variable">The <code class="literal">gtid_purged</code> System
- Variable</a>.
- If binary logs from MySQL 5.7.7 or older are present on the
- server, you might need to set
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery=FALSE</code></a>
- in the server's configuration file to produce the correct
- computation. See the description for
- <a class="link" href="replication-options-gtids.html#sysvar_binlog_gtid_simple_recovery"><code
- class="literal">binlog_gtid_simple_recovery</code></a>
- for details of the situations in which this setting is needed.
- </p>
- <p>
- Issuing <a class="link" href="reset-master.html" title="13.4.1.2&nbsp;RESET MASTER Syntax"><code
- class="literal">RESET MASTER</code></a> causes the
- value of <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> to be
- reset to an empty string.
- </p>
- <p>
- You can set the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> in order to
- record on the server that the transactions in a certain GTID
- set have been applied, although they do not exist in any
- binary log on the server. An example use case for this action
- is when you are restoring a backup of one or more databases on
- a server, but you do not have the relevant binary logs
- containing the transactions on the server.
- </p>
- <p>
- From MySQL 8.0, there are two ways to set the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>. You can either
- replace the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> with your
- specified GTID set, or you can append your specified GTID set
- to the GTID set that is already held by
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>. If the server
- has no existing GTIDs, for example an empty server that you
- are provisioning with a backup of an existing database, both
- methods have the same result. If you are restoring a backup
- that overlaps the transactions that are already on the server,
- for example replacing a corrupted table with a partial dump
- from the master made using <a class="link" href="mysqldump.html"
- title="4.5.4&nbsp;mysqldump β€” A Database Backup Program"><span
- class="command"><strong>mysqldump</strong></span></a> (which
- includes the GTIDs of all the transactions on the server, even
- though the dump is partial), use the first method of replacing
- the value of <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>. If
- you are restoring a backup that is disjoint from the
- transactions that are already on the server, for example
- provisioning a multi-source replication slave using dumps from
- two different servers, use the second method of adding to the
- value of <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>.
- </p>
- <div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: circle; ">
- <li class="listitem">
- <p>
- To replace the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> with your
- specified GTID set, use the following statement:
- </p>
- <div class="copytoclipboard-wrapper" style="position: relative;">
- <pre
- class="programlisting line-numbers one-line language-sql"><div class="docs-select-all right" id="sa5949024"><div class="copy-help left">Press CTRL+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class=" language-sql"><span class="token keyword">SET</span> <span class="token variable">@@GLOBAL.gtid_purged</span> <span class="token operator">=</span> <span class="token string">'gtid_set'</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre>
- </div>
- <p>
- <code class="literal">gtid_set</code> must be a superset of the
- current value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>, and must not
- intersect with
- <code class="literal">gtid_subtract(gtid_executed,gtid_purged)</code>.
- In other words, the new GTID set
- <span class="bold"><strong>must</strong></span> include any GTIDs
- that were already in
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>, and
- <span class="bold"><strong>must not</strong></span> include any
- GTIDs in <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>
- that have not yet been purged. <code class="literal">gtid_set</code>
- also cannot include any GTIDs that are in
- <code class="literal">@@global.gtid_owned</code>, that is, the GTIDs
- for transactions that are currently being processed on the
- server.
- </p>
- <p>
- The result is that the global value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a> is set equal
- to <code class="literal">gtid_set</code>, and the value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> becomes the
- union of <code class="literal">gtid_set</code> and the previous
- value of <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>.
- </p>
- </li>
- <li class="listitem">
- <p>
- To append your specified GTID set to
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>, use the
- following statement with a plus sign (+) before the GTID
- set:
- </p>
- <div class="copytoclipboard-wrapper" style="position: relative;">
- <pre
- class="programlisting line-numbers one-line language-sql"><div class="docs-select-all right" id="sa42319597"><div class="copy-help left">Press CTRL+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class=" language-sql"><span class="token keyword">SET</span> <span class="token variable">@@GLOBAL.gtid_purged</span> <span class="token operator">=</span> <span class="token string">'+gtid_set'</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre>
- </div>
- <p>
- <code class="literal">gtid_set</code> <span class="bold"><strong>must
- not</strong></span> intersect with the current value of
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>. In other
- words, the new GTID set must not include any GTIDs in
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a>, including
- transactions that are already also in
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>.
- <code class="literal">gtid_set</code> also cannot include any GTIDs
- that are in <code class="literal">@@global.gtid_owned</code>, that
- is, the GTIDs for transactions that are currently being
- processed on the server.
- </p>
- <p>
- The result is that <code class="literal">gtid_set</code> is added to
- both <a class="link" href="replication-options-gtids.html#sysvar_gtid_executed"><code
- class="literal">gtid_executed</code></a> and
- <a class="link" href="replication-options-gtids.html#sysvar_gtid_purged"><code
- class="literal">gtid_purged</code></a>.
- </p>
- </li>
- </ul>
- </div>
- </li>
- </ul>
-</div>
-
-</html>
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_3.html b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_3.html
deleted file mode 100644
index 8e48a2b..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_3.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<html>
-<div class="itemizedlist">
- <ul class="itemizedlist" style="list-style-type: disc; ">
- <li class="listitem"><a name="sysvar_ndb_join_pushdown"></a><a class="indexterm"
- name="idm139716306421824"></a><a class="indexterm" name="idm139716306420752"></a><a class="indexterm"
- name="idm139716306419680"></a>
- <p>
- <a class="link" href="mysql-cluster-options-variables.html#sysvar_ndb_join_pushdown"><code
- class="literal">ndb_join_pushdown</code></a>
- </p>
- <div class="table">
- <a name="ndb_join_pushdown-detailtable"></a>
- <p class="title"><b>Table&nbsp;21.249
- Type and value information for ndb_join_pushdown</b></p>
- <div class="table-contents">
- <table>
- <colgroup>
- <col width="35%">
- <col width="65%">
- </colgroup>
- <thead>
- <tr>
- <th scope="col">Property</th>
- <th scope="col">Value</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td scope="row">Name</td>
- <td><code
- class="literal"><a class="link" href="mysql-cluster-options-variables.html#sysvar_ndb_join_pushdown">ndb_join_pushdown</a></code>
- </td>
- </tr>
- <tr>
- <td scope="row">Command Line</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">System Variable</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Status Variable</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Option File</td>
- <td>No</td>
- </tr>
- <tr>
- <td scope="row">Scope</td>
- <td>Both</td>
- </tr>
- <tr>
- <td scope="row">Dynamic</td>
- <td>Yes</td>
- </tr>
- <tr>
- <td scope="row">Type</td>
- <td></td>
- </tr>
- <tr>
- <td scope="row">Default, Range</td>
- <td>TRUE (Version: 5.1.51-ndb-7.2.0)</td>
- </tr>
- <tr>
- <td scope="row">Notes</td>
- <td>
- <p>
- DESCRIPTION: Enables pushing down of joins to data
- nodes
- </p>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="table-contents">
- <table cellpadding="0" cellspacing="0"
- style="position: fixed; top: 0px; display: none; left: 431px; width: 594px;">
- <thead>
- <tr>
- <th scope="col" style="width: 208px;">Property</th>
- <th scope="col" style="width: 385px;">Value</th>
- </tr>
- </thead>
- </table>
- </div>
-
- </div>
- <br class="table-break">
- <p>
- This variable controls whether joins on
- <a class="link" href="mysql-cluster.html"
- title="Chapter&nbsp;21&nbsp;MySQL NDB Cluster 7.5 and NDB Cluster 7.6"><code
- class="literal">NDB</code></a> tables are pushed down to
- the NDB kernel (data nodes). Previously, a join was
- handled using multiple accesses of
- <a class="link" href="mysql-cluster.html"
- title="Chapter&nbsp;21&nbsp;MySQL NDB Cluster 7.5 and NDB Cluster 7.6"><code
- class="literal">NDB</code></a> by the SQL node; however,
- when <a class="link" href="mysql-cluster-options-variables.html#sysvar_ndb_join_pushdown"><code
- class="literal">ndb_join_pushdown</code></a> is
- enabled, a pushable join is sent in its entirety to the
- data nodes, where it can be distributed among the data
- nodes and executed in parallel on multiple copies of the
- data, with a single, merged result being returned to
- <a class="link" href="mysqld.html" title="4.3.1&nbsp;mysqld β€” The MySQL Server"><span
- class="command"><strong>mysqld</strong></span></a>. This can reduce greatly the
- number of round trips between an SQL node and the data
- nodes required to handle such a join.
- </p>
- <p>
- By default,
- <a class="link" href="mysql-cluster-options-variables.html#sysvar_ndb_join_pushdown"><code
- class="literal">ndb_join_pushdown</code></a> is
- enabled.
- </p>
- <p><a name="ndb_join_pushdown-conditions"></a><b>Conditions for NDB pushdown joins.&nbsp;</b>
- In order for a join to be pushable, it must meet the
- following conditions:
- </p>
- <div class="orderedlist">
- <ol class="orderedlist" type="1">
- <li class="listitem">
- <p>
- Only columns can be compared, and all columns to be
- joined must use <span class="emphasis"><em>exactly</em></span> the same
- data type.
- </p>
- <p>
- This means that expressions such as <code class="literal">t1.a =
- t2.a + <em class="replaceable"><code>constant</code></em></code>
- cannot be pushed down, and that (for example) a join
- on an <a class="link" href="integer-types.html"
- title="11.2.1&nbsp;Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT"><code
- class="literal">INT</code></a> column and a
- <a class="link" href="integer-types.html"
- title="11.2.1&nbsp;Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT"><code
- class="literal">BIGINT</code></a> column also
- cannot be pushed down.
- </p>
- </li>
- <li class="listitem">
- <p>
- Queries referencing
- <a class="link" href="blob.html" title="11.4.3&nbsp;The BLOB and TEXT Types"><code
- class="literal">BLOB</code></a> or
- <a class="link" href="blob.html" title="11.4.3&nbsp;The BLOB and TEXT Types"><code
- class="literal">TEXT</code></a> columns are not
- supported.
- </p>
- </li>
- <li class="listitem">
- <p>
- Explicit locking is not supported; however, the
- <a class="link" href="mysql-cluster.html"
- title="Chapter&nbsp;21&nbsp;MySQL NDB Cluster 7.5 and NDB Cluster 7.6"><code
- class="literal">NDB</code></a> storage engine's
- characteristic implicit row-based locking is enforced.
- </p>
- <p>
- This means that a join using <code class="literal">FOR
- UPDATE</code> cannot be pushed down.
- </p>
- </li>
- <li class="listitem">
- <p>
- In order for a join to be pushed down, child tables in
- the join must be accessed using one of the
- <a class="link" href="explain-output.html#jointype_ref"><code
- class="literal">ref</code></a>,
- <a class="link" href="explain-output.html#jointype_eq_ref"><code
- class="literal">eq_ref</code></a>,&nbsp;or&nbsp;
- <a class="link" href="explain-output.html#jointype_const"><code
- class="literal">const</code></a>&nbsp;access&nbsp;methods,
- or some combination of these methods.
- </p>
- <p>
- Outer joined child tables can only be pushed using
- <a class="link" href="explain-output.html#jointype_eq_ref"><code
- class="literal">eq_ref</code></a>.
- </p>
- <p>
- If the root of the pushed join is an
- <a class="link" href="explain-output.html#jointype_eq_ref"><code
- class="literal">eq_ref</code></a> or
- <a class="link" href="explain-output.html#jointype_const"><code
- class="literal">const</code></a>, only child
- tables joined by
- <a class="link" href="explain-output.html#jointype_eq_ref"><code
- class="literal">eq_ref</code></a> can be
- appended. (A table joined by
- <a class="link" href="explain-output.html#jointype_ref"><code class="literal">ref</code></a>
- is likely to
- become the root of another pushed join.)
- </p>
- <p>
- If the query optimizer decides on <code class="literal">Using join
- cache</code> for a candidate child table, that
- table cannot be pushed as a child. However, it may be
- the root of another set of pushed tables.
- </p>
- </li>
- <li class="listitem">
- <p>
- Joins referencing tables explicitly partitioned by
- <code class="literal">[LINEAR] HASH</code>,
- <code class="literal">LIST</code>, or <code class="literal">RANGE</code>
- currently cannot be pushed down.
- </p>
- </li>
- </ol>
- </div>
- <p>
- You can see whether a given join can be pushed down by
- checking it with <a class="link" href="explain.html" title="13.8.2&nbsp;EXPLAIN Syntax"><code
- class="literal">EXPLAIN</code></a>;
- when the join can be pushed down, you can see references
- to the <code class="literal">pushed join</code> in the
- <code class="literal">Extra</code> column of the output, as shown in
- this example:
- </p>
- <div class="copytoclipboard-wrapper" style="position: relative;">
- <pre
- class="programlisting line-numbers language-sql"><div class="docs-select-all right" id="sa30355511"><div class="copy-help left">Press CTRL+C to copy</div> <div class="right"><button class="clipboard-btn" title="Copy to Clipboard"><span class="icon-clipboard"></span></button></div></div><code class=" language-sql"><span class="token prompt">mysql&gt;</span> <span class="token keyword">EXPLAIN</span>
- <span class="token prompt"> -&gt;</span> <span class="token keyword">SELECT</span> e<span class="token punctuation">.</span>first_name<span class="token punctuation">,</span> e<span class="token punctuation">.</span>last_name<span class="token punctuation">,</span> t<span class="token punctuation">.</span>title<span class="token punctuation">,</span> d<span class="token punctuation">.</span>dept_name
- <span class="token prompt"> -&gt;</span> <span class="token keyword">FROM</span> employees e
- <span class="token prompt"> -&gt;</span> <span class="token keyword">JOIN</span> dept_emp de <span class="token keyword">ON</span> e<span class="token punctuation">.</span>emp_no<span class="token operator">=</span>de<span class="token punctuation">.</span>emp_no
- <span class="token prompt"> -&gt;</span> <span class="token keyword">JOIN</span> departments d <span class="token keyword">ON</span> d<span class="token punctuation">.</span>dept_no<span class="token operator">=</span>de<span class="token punctuation">.</span>dept_no
- <span class="token prompt"> -&gt;</span> <span class="token keyword">JOIN</span> titles t <span class="token keyword">ON</span> e<span class="token punctuation">.</span>emp_no<span class="token operator">=</span>t<span class="token punctuation">.</span>emp_no\G
- <span class="token output"><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span> 1. row <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span>
- id<span class="token punctuation">:</span> 1
- select_type<span class="token punctuation">:</span> SIMPLE
- table<span class="token punctuation">:</span> d
- type<span class="token punctuation">:</span> ALL
- possible_keys<span class="token punctuation">:</span> PRIMARY
- key<span class="token punctuation">:</span> NULL
- key_len<span class="token punctuation">:</span> NULL
- ref<span class="token punctuation">:</span> NULL
- rows<span class="token punctuation">:</span> 9
- Extra<span class="token punctuation">:</span> Parent of 4 pushed join@1
- <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span> 2. row <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span>
- id<span class="token punctuation">:</span> 1
- select_type<span class="token punctuation">:</span> SIMPLE
- table<span class="token punctuation">:</span> de
- type<span class="token punctuation">:</span> ref
- possible_keys<span class="token punctuation">:</span> PRIMARY,emp_no,dept_no
- key<span class="token punctuation">:</span> dept_no
- key_len<span class="token punctuation">:</span> 4
- ref<span class="token punctuation">:</span> employees.d.dept_no
- rows<span class="token punctuation">:</span> 5305
- Extra<span class="token punctuation">:</span> Child of 'd' in pushed join@1
- <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span> 3. row <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span>
- id<span class="token punctuation">:</span> 1
- select_type<span class="token punctuation">:</span> SIMPLE
- table<span class="token punctuation">:</span> e
- type<span class="token punctuation">:</span> eq_ref
- possible_keys<span class="token punctuation">:</span> PRIMARY
- key<span class="token punctuation">:</span> PRIMARY
- key_len<span class="token punctuation">:</span> 4
- ref<span class="token punctuation">:</span> employees.de.emp_no
- rows<span class="token punctuation">:</span> 1
- Extra<span class="token punctuation">:</span> Child of 'de' in pushed join@1
- <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span> 4. row <span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span><span class="token punctuation">*</span>
- id<span class="token punctuation">:</span> 1
- select_type<span class="token punctuation">:</span> SIMPLE
- table<span class="token punctuation">:</span> t
- type<span class="token punctuation">:</span> ref
- possible_keys<span class="token punctuation">:</span> PRIMARY,emp_no
- key<span class="token punctuation">:</span> emp_no
- key_len<span class="token punctuation">:</span> 4
- ref<span class="token punctuation">:</span> employees.de.emp_no
- rows<span class="token punctuation">:</span> 19
- Extra<span class="token punctuation">:</span> Child of 'e' in pushed join@1
- </span><span class="token output">4 rows in set (0.00 sec)</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
- </div>
- <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
-
- <div class="admon-title">
- Note
- </div>
- <p>
- If inner joined child tables are joined by
- <a class="link" href="explain-output.html#jointype_ref"><code class="literal">ref</code></a>,
- <span class="emphasis"><em>and</em></span> the result is ordered or
- grouped by a sorted index, this index cannot provide
- sorted rows, which forces writing to a sorted tempfile.
- </p>
- </div>
- <p>
- Two additional sources of information about pushed join
- performance are available:
- </p>
- <div class="orderedlist">
- <ol class="orderedlist" type="1">
- <li class="listitem">
- <p>
- The status variables
- <a class="link"
- href="mysql-cluster-options-variables.html#statvar_Ndb_pushed_queries_defined"><code
- class="literal">Ndb_pushed_queries_defined</code></a>,
- <a class="link"
- href="mysql-cluster-options-variables.html#statvar_Ndb_pushed_queries_dropped"><code
- class="literal">Ndb_pushed_queries_dropped</code></a>,
- <a class="link"
- href="mysql-cluster-options-variables.html#statvar_Ndb_pushed_queries_executed"><code
- class="literal">Ndb_pushed_queries_executed</code></a>,
- and
- <a class="link" href="mysql-cluster-options-variables.html#statvar_Ndb_pushed_reads"><code
- class="literal">Ndb_pushed_reads</code></a>.
- </p>
- </li>
- <li class="listitem">
- <p>
- The counters in the
- <a class="link" href="mysql-cluster-ndbinfo-counters.html"
- title="21.5.10.10&nbsp;The ndbinfo counters Table"><code
- class="literal">ndbinfo.counters</code></a>
- table that belong to the <code class="literal">DBSPJ</code>
- kernel block. See
- <a class="xref" href="mysql-cluster-ndbinfo-counters.html"
- title="21.5.10.10&nbsp;The ndbinfo counters Table">Section&nbsp;21.5.10.10, β€œThe ndbinfo
- counters Table”</a>, for
- information about these counters. See also
- <a class="ulink"
- href="https://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbspj.html"
- target="_top">The DBSPJ Block</a>,
- in the <em class="citetitle">NDB Cluster API Developer
- Guide</em>.
- </p>
- </li>
- </ol>
- </div>
- </li>
- </ul>
-</div>
-
-</html>
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/ultraSlimDataTestWithVariables.json b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/ultraSlimDataTestWithVariables.json
deleted file mode 100644
index 1294c9e..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/ultraSlimDataTestWithVariables.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "vars": {
- "Test_var": {
- "d": true,
- "t": 2
- },
- "another-variable": {
- "d": false,
- "t": 1
- },
- "doc-variable_ok": {
- "d": true,
- "t": 3,
- "a": [
- {
- "t": 1,
- "u": 0
- },
- {
- "t": 2,
- "u": 1
- },
- {
- "a": "anchorname",
- "t": 2,
- "u": 1
- }
- ]
- }
- },
- "version": 1,
- "types": {
- "1": "MYSQL",
- "2": "MARIADB"
- },
- "varTypes": {
- "1": "string",
- "2": "boolean",
- "3": "integer",
- "4": "numeric",
- "5": "enumeration",
- "6": "set",
- "7": "directory name",
- "8": "file name",
- "9": "byte"
- },
- "urls": [
- "https://dev.mysql.com/",
- "https://mariadb.com/"
- ]
-} \ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/index.js b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/index.js
deleted file mode 100644
index b5294d6..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-process.env.TZ = 'UTC';
-const templates = require(__dirname + '/templates');
-const cleaner = require(__dirname + '/cleaner');
-const parser = require(__dirname + '/parser');
-
-suite('MariaDB MySQL KBS', function() {
- templates();
- cleaner();
- parser();
-});
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/parser.js b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/parser.js
deleted file mode 100644
index 14b6596..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/parser.js
+++ /dev/null
@@ -1,129 +0,0 @@
-'use strict';
-
-const expect = require('chai').expect;
-const MySQL = require(__dirname + '/../src/MySQL');
-const cheerio = require('cheerio');
-const fs = require('fs');
-
-module.exports = function() {
- suite('parser', function() {
- test('test case 1', function(done) {
- const $ = cheerio.load(fs.readFileSync(__dirname + '/data/mysql_test_case_1.html'));
- MySQL.parsePage($, function(resultData) {
- expect(resultData).to.deep.equal([
- {
- cli: '--ndbcluster',
- default: 'FALSE (Version: NDB 7.5-7.6)',
- dynamic: false,
- id: 'option_mysqld_ndbcluster',
- name: 'ndbcluster',
- },
- {
- cli: '--ndb-allow-copying-alter-table=[ON|OFF]',
- default: 'ON (Version: NDB 7.5-7.6)',
- dynamic: true,
- id: 'option_mysqld_ndb-allow-copying-alter-table',
- name: 'ndb-allow-copying-alter-table',
- scope: ['global', 'session'],
- },
- ]);
- done();
- });
- });
- test('test case 2', function(done) {
- const $ = cheerio.load(fs.readFileSync(__dirname + '/data/mysql_test_case_2.html'));
- MySQL.parsePage($, function(resultData) {
- expect(resultData).to.deep.equal([
- {
- cli: '--binlog-gtid-simple-recovery[={OFF|ON}]',
- default: 'ON',
- dynamic: false,
- id: 'sysvar_binlog_gtid_simple_recovery',
- name: 'binlog_gtid_simple_recovery',
- scope: ['global'],
- type: 'boolean',
- },
- {
- cli: '--enforce-gtid-consistency[=value]',
- default: 'OFF',
- dynamic: true,
- id: 'sysvar_enforce_gtid_consistency',
- name: 'enforce_gtid_consistency',
- scope: ['global'],
- type: 'enumeration',
- validValues: ['OFF', 'ON', 'WARN'],
- },
- {
- dynamic: false,
- id: 'sysvar_gtid_executed',
- name: 'gtid_executed',
- scope: ['global', 'session'],
- type: 'string',
- },
- {
- cli: '--gtid-executed-compression-period=#',
- default: '1000',
- dynamic: true,
- id: 'sysvar_gtid_executed_compression_period',
- name: 'gtid_executed_compression_period',
- range: {
- from: 0,
- to: 4294967295,
- },
- scope: ['global'],
- type: 'integer',
- },
- {
- cli: '--gtid-mode=MODE',
- default: 'OFF',
- dynamic: true,
- id: 'sysvar_gtid_mode',
- name: 'gtid_mode',
- scope: ['global'],
- type: 'enumeration',
- validValues: ['OFF', 'OFF_PERMISSIVE', 'ON_PERMISSIVE', 'ON'],
- },
- {
- default: 'AUTOMATIC',
- dynamic: true,
- id: 'sysvar_gtid_next',
- name: 'gtid_next',
- scope: ['session'],
- type: 'enumeration',
- validValues: ['AUTOMATIC', 'ANONYMOUS', 'UUID:NUMBER'],
- },
- {
- dynamic: false,
- id: 'sysvar_gtid_owned',
- name: 'gtid_owned',
- scope: ['global', 'session'],
- type: 'string',
- },
- {
- dynamic: true,
- id: 'sysvar_gtid_purged',
- name: 'gtid_purged',
- scope: ['global'],
- type: 'string',
- },
- ]);
- done();
- });
- });
- test('test case 3', function(done) {
- const $ = cheerio.load(fs.readFileSync(__dirname + '/data/mysql_test_case_3.html'));
- MySQL.parsePage($, function(resultData) {
- expect(resultData).to.deep.equal([
- {
- default: 'TRUE (Version: 5.1.51-ndb-7.2.0)',
- dynamic: true,
- id: 'sysvar_ndb_join_pushdown',
- name: 'ndb_join_pushdown',
- scope: ['global', 'session'],
- },
- ]);
- done();
- });
- });
- });
-};
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/phpunit.xml b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/phpunit.xml
deleted file mode 100644
index a04a13b..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/phpunit.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<phpunit
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.4/phpunit.xsd"
- colors="true"
- backupGlobals="false"
- bootstrap="../vendor/autoload.php"
- stderr="true"
->
-
- <filter>
- <whitelist>
- <directory>../src</directory>
- </whitelist>
- </filter>
-
- <logging>
- <log type="coverage-html" target="../build/coverage/html/"/>
- <log type="coverage-clover" target="../build/logs/clover.xml"/>
- </logging>
-
- <testsuites>
- <testsuite name="Unit tests">
- <directory suffix=".php">../test/</directory>
- </testsuite>
- </testsuites>
-
-</phpunit>
diff --git a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/templates.js b/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/templates.js
deleted file mode 100644
index 94119c2..0000000
--- a/srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/templates.js
+++ /dev/null
@@ -1,218 +0,0 @@
-'use strict';
-
-const expect = require('chai').expect;
-const templates = require(__dirname + '/../scripts/sudo-bot/template.js');
-
-module.exports = function() {
- suite('pr message', function() {
- test('prMessage for lambda files', function(done) {
- const commmitMsg = templates.prMessage(['a.json', 'ab/cd/ef.json', 'README.md']);
- expect(commmitMsg).to.equal('πŸ€– Some updates to review πŸ€–');
- done();
- });
- test('prMessage for MariaDB files', function(done) {
- const commmitMsg = templates.prMessage(['data/mariadb-aria-server-status-variables.json']);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] updates');
- done();
- });
- test('prMessage for MariaDB files and merged', function(done) {
- const commmitMsg = templates.prMessage([
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'data/mariadb-aria-server-status-variables.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] updates');
- done();
- });
- test('prMessage for MariaDB files and others', function(done) {
- const commmitMsg = templates.prMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mariadb-aria-server-status-variables.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] updates 🚨🚨');
- done();
- });
- test('prMessage for MariaDB files and others and merged', function(done) {
- const commmitMsg = templates.prMessage([
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mariadb-aria-server-status-variables.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] updates 🚨🚨');
- done();
- });
- test('prMessage for MySQL files', function(done) {
- const commmitMsg = templates.prMessage(['data/mysql-server-options.json']);
- expect(commmitMsg).to.equal('πŸ€– [MySQL] updates');
- done();
- });
- test('prMessage for MySQL files and merged', function(done) {
- const commmitMsg = templates.prMessage([
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MySQL] updates');
- done();
- });
- test('prMessage for MySQL files and others', function(done) {
- const commmitMsg = templates.prMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MySQL] updates 🚨🚨');
- done();
- });
- test('prMessage for MySQL files and others and merged', function(done) {
- const commmitMsg = templates.prMessage([
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MySQL] updates 🚨🚨');
- done();
- });
- test('prMessage for MySQL and MariaDB files', function(done) {
- const commmitMsg = templates.prMessage([
- 'data/mariadb-aria-server-status-variables.json',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] && [MySQL] updates');
- done();
- });
- test('prMessage for MySQL and MariaDB files and merged', function(done) {
- const commmitMsg = templates.prMessage([
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'data/mariadb-aria-server-status-variables.json',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] && [MySQL] updates');
- done();
- });
- test('prMessage for MySQL and MariaDB files and others', function(done) {
- const commmitMsg = templates.prMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mariadb-aria-server-status-variables.json',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('πŸ€– [MariaDB] && [MySQL] updates 🚨🚨');
- done();
- });
- });
- suite('commit message', function() {
- test('commitMessage for lambda files', function(done) {
- const commmitMsg = templates.commitMessage(['a.json', 'ab/cd/ef.json', 'README.md']);
- expect(commmitMsg).to.equal('update: πŸ€– Some updates πŸ€–');
- done();
- });
- test('commitMessage for MariaDB files', function(done) {
- const commmitMsg = templates.commitMessage(['data/mariadb-aria-server-status-variables.json']);
- expect(commmitMsg).to.equal('update: [MariaDB] updates');
- done();
- });
- test('commitMessage for MariaDB files and others', function(done) {
- const commmitMsg = templates.commitMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mariadb-aria-server-status-variables.json',
- ]);
- expect(commmitMsg).to.equal('update: [MariaDB] updates and other changes');
- done();
- });
- test('commitMessage for MySQL files', function(done) {
- const commmitMsg = templates.commitMessage(['data/mysql-server-options.json']);
- expect(commmitMsg).to.equal('update: [MySQL] updates');
- done();
- });
- test('commitMessage for MySQL files and others', function(done) {
- const commmitMsg = templates.commitMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('update: [MySQL] updates and other changes');
- done();
- });
- test('commitMessage for MySQL and MariaDB files', function(done) {
- const commmitMsg = templates.commitMessage([
- 'data/mariadb-aria-server-status-variables.json',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('update: [MariaDB] && [MySQL] updates');
- done();
- });
- test('commitMessage for MySQL and MariaDB files and others', function(done) {
- const commmitMsg = templates.commitMessage([
- 'a.json',
- 'ab/cd/ef.json',
- 'README.md',
- 'data/mariadb-aria-server-status-variables.json',
- 'data/mysql-server-options.json',
- ]);
- expect(commmitMsg).to.equal('update: [MariaDB] && [MySQL] updates and other changes');
- done();
- });
- });
- suite('pr', function() {
- test('prContent', function(done) {
- const prContent = templates.prContent([
- 'a.json',
- 'ab/cd/ef.json',
- 'data/mariadb-aria-server-status-variables.json',
- 'dist/merged-raw.json',
- 'dist/merged-raw.md',
- 'dist/merged-slim.json',
- 'dist/merged-ultraslim.json',
- 'dist/merged-ultraslim.php',
- 'data/mysql-server-options.json',
- 'README.md',
- ]);
- expect(prContent).to.equal(
- 'Dear human 🌻, after running my task the following files where updated:\n- `a.json` πŸ‘½\n- `ab/cd/ef.json` πŸ‘½\n- `data/mariadb-aria-server-status-variables.json` 🐳\n- `dist/merged-raw.json` πŸ“¦\n- `dist/merged-raw.md` πŸ“¦\n- `dist/merged-slim.json` πŸ“¦\n- `dist/merged-ultraslim.json` πŸ“¦\n- `dist/merged-ultraslim.php` πŸ“¦\n- `data/mysql-server-options.json` 🐬\n- `README.md` πŸ‘½\n'
- );
- done();
- });
- test('prContent one file', function(done) {
- const prContent = templates.prContent(['README.md']);
- expect(prContent).to.equal(
- 'Dear human 🌻, after running my task the following file was updated:\n- `README.md` πŸ‘½\n'
- );
- done();
- });
- test('prBranch', function(done) {
- const prBranch = templates.prBranch([]);
- expect(prBranch).to.match(/^refs\/heads\/update\/[0-9]{13}$/);
- done();
- });
- });
-};