Ne plus forcer l'engine MySQL à l'installation #5189

Closed
opened 6 months ago by b_b · 6 comments
b_b commented 6 months ago
Owner

Pour faire suite à #5177 & #4277 on pourrait se passer de la valeur par défaut pour _MYSQL_ENGINE et laisser le serveur SQL "décider".

Pour faire suite à #5177 & #4277 on pourrait se passer de la valeur par défaut pour `_MYSQL_ENGINE` et laisser le serveur SQL "décider".
b_b added the
amélioration
label 6 months ago
b_b added this to the 4.2 milestone 6 months ago
Collaborator

OUi, tout à fait. Cf mes mesaventure en #5195

OUi, tout à fait. Cf mes mesaventure en #5195
Owner

Oui, ça parait indispensable, parce que c’est frustrant en l’état (si on ne force pas InnoDB à la place de MyIsam)…

Oui, ça parait indispensable, parce que c’est frustrant en l’état (si on ne force pas InnoDB à la place de MyIsam)…
Poster
Owner

Est-ce que le patch suivant vous semble correct ?

diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php
index a0bfc05bf8..94f5e5a3d2 100644
--- a/ecrire/req/mysql.php
+++ b/ecrire/req/mysql.php
@@ -27,10 +27,6 @@ if (!defined('_MYSQL_NOPLANES')) {
 	define('_MYSQL_NOPLANES', true);
 }
 
-if (!defined('_MYSQL_ENGINE')) {
-	define('_MYSQL_ENGINE', 'MyISAM');
-}
-
 /**
  * Crée la première connexion à un serveur MySQL via MySQLi
  *
@@ -736,7 +732,7 @@ function spip_mysql_create(
 	}
 	$temporary = $temporary ? 'TEMPORARY' : '';
 	$q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query" . ($keys ? ",$keys" : '') . ')'
-		. ' ENGINE=' . _MYSQL_ENGINE
+		. defined('_MYSQL_ENGINE') ? ' ENGINE=' . _MYSQL_ENGINE : ''
 		. ($character_set ? " DEFAULT $character_set" : '')
 		. "\n";
 
Est-ce que le patch suivant vous semble correct ? ```diff diff --git a/ecrire/req/mysql.php b/ecrire/req/mysql.php index a0bfc05bf8..94f5e5a3d2 100644 --- a/ecrire/req/mysql.php +++ b/ecrire/req/mysql.php @@ -27,10 +27,6 @@ if (!defined('_MYSQL_NOPLANES')) { define('_MYSQL_NOPLANES', true); } -if (!defined('_MYSQL_ENGINE')) { - define('_MYSQL_ENGINE', 'MyISAM'); -} - /** * Crée la première connexion à un serveur MySQL via MySQLi * @@ -736,7 +732,7 @@ function spip_mysql_create( } $temporary = $temporary ? 'TEMPORARY' : ''; $q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query" . ($keys ? ",$keys" : '') . ')' - . ' ENGINE=' . _MYSQL_ENGINE + . defined('_MYSQL_ENGINE') ? ' ENGINE=' . _MYSQL_ENGINE : '' . ($character_set ? " DEFAULT $character_set" : '') . "\n"; ```
Owner

Ça semble simple et efficace !

Ça semble simple et efficace !
b_b changed title from Ne plus forcer l'engin MySQL à l'installation to Ne plus forcer l'engine MySQL à l'installation 3 months ago
Poster
Owner

PR envoyée.

PR envoyée.
marcimat closed this issue 3 months ago
Owner

Je ne sais pas si on doit reporter ou pas en 4.1 ?
En tout cas c’est intégré en 4.2-dev.

Je ne sais pas si on doit reporter ou pas en 4.1 ? En tout cas c’est intégré en 4.2-dev.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.