1
0
قرینه از https://github.com/matomo-org/matomo.git synced 2025-08-21 22:47:43 +00:00
Files
matomo/core/Updater/Migration/Db.php
Stefan Giehl 2743e52dc6 Allow to distinguish between MySQL and MariaDB (also in installation) (#18371)
* Allow to distinguish between MySQL and MariaDB (also in installation)

* updates expected UI test files

* add tests

* run tests with MariaDb

* adjust some tests to work with MariaDb

* submodule update

* ensure static order for custom dimensions

* fix userid tests

* fix max execution time tests

* adjust action param

* Use database engine instead of schema in frontend

* skip test on Mariadb

* Apply suggestions from code review

* Update .github/workflows/matomo-tests.yml

* updates expected UI test files

* fix diagnostic check

* Recreate OmniFixture after fixture changes

* updates expected UI test files

* improve ui test

* Apply suggestions from code review

Co-authored-by: Marc Neudert <marc@innocraft.com>

* improve mariadb diagnostic

* submodule update

---------

Co-authored-by: Michal Kleiner <michal@innocraft.com>
Co-authored-by: Marc Neudert <marc@innocraft.com>
2024-05-17 16:09:59 +02:00

106 خطوط
2.5 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
namespace Piwik\Updater\Migration;
use Piwik\Updater\Migration;
/**
* Base class for a single database migration. Any database migration must extend this class.
*
* @api
*/
abstract class Db extends Migration
{
/**
* Table '%s' already exists
*/
public const ERROR_CODE_TABLE_EXISTS = 1050;
/**
* Unknown table '%s'
*/
public const ERROR_CODE_UNKNOWN_TABLE = 1051;
/**
* Unknown column '%s' in '%s'
*/
public const ERROR_CODE_UNKNOWN_COLUMN = 1054;
/**
* Duplicate column name '%s'
*/
public const ERROR_CODE_DUPLICATE_COLUMN = 1060;
/**
* Duplicate key name '%s'
*/
public const ERROR_CODE_DUPLICATE_KEY = 1061;
/**
* Duplicate entry '%s' for key %d
*/
public const ERROR_CODE_DUPLICATE_ENTRY = 1062;
/**
* Syntax error
*/
public const ERROR_CODE_SYNTAX_ERROR = 1064;
/**
* Multiple primary key defined
*/
public const ERROR_CODE_DUPLICATE_PRIMARY_KEY = 1068;
/**
* Key column '%s' doesn't exist in table
*/
public const ERROR_CODE_KEY_COLUMN_NOT_EXISTS = 1072;
/**
* Can't DROP '%s'; check that column/key exists
*/
public const ERROR_CODE_COLUMN_NOT_EXISTS = 1091;
/**
* Table '%s.%s' doesn't exist
*/
public const ERROR_CODE_TABLE_NOT_EXISTS = 1146;
/**
* This table type requires a primary key SQL: CREATE TEMPORARY TABLE %s
*/
public const ERROR_CODE_REQUIRES_PRIMARY_KEY = 1173;
/**
* General error: 3750 Unable to create or change a table without a primary key, when the system variable 'sql_require_primary_key' is set.
*/
public const ERROR_CODE_UNABLE_CREATE_TABLE_WITHOUT_PRIMARY_KEY = 3750;
/**
* Query execution was interrupted, maximum statement execution time exceeded
*/
public const ERROR_CODE_MAX_EXECUTION_TIME_EXCEEDED_QUERY_INTERRUPTED = 3024;
/**
* MariaDb only: Query execution was interrupted (max_statement_time exceeded)
*/
public const ERROR_CODE_MAX_STATEMENT_TIME_EXCEEDED_QUERY_INTERRUPTED = 1969;
/**
* Sort aborted: Query execution was interrupted, maximum statement execution time exceeded
*/
public const ERROR_CODE_MAX_EXECUTION_TIME_EXCEEDED_SORT_ABORTED = 1028;
/**
* MySQL server has gone away
*/
public const ERROR_CODE_MYSQL_SERVER_HAS_GONE_AWAY = 2006;
}