LucMorizur a écrit:
, mais attention les versions suivantes obligeront à désinstaller la version précédente (demande de Gotcha oblige |-( ...), ce qui effacera les codes déjà créés. Mais en sauvegardant la table depuis phpMyAdmin avant la désinstallation, on peut réinjecter les codes sans perte.
Tu peux déjà créer l'extension dans le gestionnaire cela te permettra de mettre EID dans le plugin et que la mise à jour auto ce face lors de la sortie de la version stable
Hors ligne
Via [ Administration >> Spaciales >> Maintenance > Réparer et optimiser la base de données ]
<b>Warning</b>: [mysql error 1105] ORDER BY ignored as there is a user-defined clustered index in the table 'piwigo_event_cats'
ALTER TABLE piwigo_event_cats ORDER BY id; in <b>E:\Mes documents\EasyPHP 3.0\www\julien-moreau.fr\galerie\include\functions.inc.php</b> on line <b>918</b><br />
Hors ligne
Gotcha a écrit:
Via [ Administration >> Spaciales >> Maintenance > Réparer et optimiser la base de données ]
<b>Warning</b>: [mysql error 1105] ORDER BY ignored as there is a user-defined clustered index in the table 'piwigo_event_cats'
ALTER TABLE piwigo_event_cats ORDER BY id; in <b>E:\Mes documents\EasyPHP 3.0\www\julien-moreau.fr\galerie\include\functions.inc.php</b> on line <b>918</b><br />
??
Je vais regarder ça... pour l'instant je ne l'ai pas reproduit sur ma base en local avec WinAmp.
J'aurai plus de temps demain soir.
Merci Gotcha en tous cas.
Hors ligne
C'est marrant de se tenir au courant des messages sur le forum via la page en préparation du wiki lol
De rien Luc :-)
Hors ligne
Gotcha, peux-tu donner la version de MySQL que tu utilises sur ta galerie locale stp ?
Je pense que ce n'est pas grand-chose. En mettant tout à jour sur ma galerie locale, je ne reproduis pas le problème, et je vois dans la documentation MySQL :
refman-5.0-fr.a4.pdf a écrit:
Erreur: 1105 SQLSTATE: HY000 (ER_UNKNOWN_ERROR)
Message: Erreur inconnue ??!!
(...)
Changements de la version 4.0.14 (18 juillet 2003)
(...)
Bogues corrigés :
(...)
Fixed ERROR 1105: Unknown error that occurred for some SELECT queries, where a column that was declared as NOT
NULL was compared with an expression that took NULL value.
Si Damien ou Vincent (ou les autres membres de l'équipe bien sûr !) vous avez un avis là-dessus, nous boirons vos paroles :-) !
Hors ligne
C'est quoi la question:
<b>Warning</b>: [mysql error 1105] ORDER BY ignored as there is a user-defined clustered index in the table 'piwigo_event_cats'
ALTER TABLE piwigo_event_cats ORDER BY id; in <b>E:\Mes documents\EasyPHP 3.0\www\julien-moreau.fr\galerie\include\functions.inc.php</b> on line <b>918</b><br />
La table a déjà une clé primaire sur id, pourquoi vouloir la trier par id? => Warning et Order by ignored.
La doc refman-5.0-fr.a4.pdf parle d'autres problèmes: Rien à voir.
Hors ligne
Bon, c'est quoi alors ?
Je fais quoi ??
C'est grave docteur ???
Hors ligne
A Luc de savoir pourquoi il fait un ALTER ORDER BY...
Hors ligne
Cépamoi !
Gotcha a écrit:
Via [ Administration >> Spaciales >> Maintenance > Réparer et optimiser la base de données ]
<b>Warning</b>: [mysql error 1105] ORDER BY ignored as there is a user-defined clustered index in the table 'piwigo_event_cats'
ALTER TABLE piwigo_event_cats ORDER BY id; in <b>E:\Mes documents\EasyPHP 3.0\www\julien-moreau.fr\galerie\include\functions.inc.php</b> on line <b>918</b><br />
Déjà, le problème survient à l'exécution de la commande Maintenance > Réparer et optimiser la base de données. Et il n'y a aucune occurrence de la chaîne "ALTER TABLE" dans tous les fichiers d'Event Cats.
A priori, cet "ALTER TABLE" est exécuté dans ./piwigo/admin/include/functions.php :
(Lignes 1598 à 1661)
/**
* Do maintenance on all PWG tables
*
* @return none
*/
function do_maintenance_all_tables()
{
global $prefixeTable, $page;
$all_tables = array();
// List all tables
$query = 'SHOW TABLES LIKE \''.$prefixeTable.'%\'';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
array_push($all_tables, $row[0]);
}
// Repair all tables
$query = 'REPAIR TABLE '.implode(', ', $all_tables);
$mysql_rc = pwg_query($query);
// Re-Order all tables
foreach ($all_tables as $table_name)
{
$all_primary_key = array();
$query = 'DESC '.$table_name.';';
$result = pwg_query($query);
while ($row = mysql_fetch_array($result))
{
if ($row['Key'] == 'PRI')
{
array_push($all_primary_key, $row['Field']);
}
}
if (count($all_primary_key) != 0)
{
$query = 'ALTER TABLE '.$table_name.' ORDER BY '.implode(', ', $all_primary_key).';';
$mysql_rc = $mysql_rc && pwg_query($query);
}
}
// Optimize all tables
$query = 'OPTIMIZE TABLE '.implode(', ', $all_tables);
$mysql_rc = $mysql_rc && pwg_query($query);
if ($mysql_rc)
{
array_push(
$page['infos'],
l10n('Optimizations completed')
);
}
else
{
array_push(
$page['errors'],
l10n('Optimizations errors')
);
}
}
Vu le nom de la fonction, je pense qu'il y a pas photo ^^ !
Par contre ce que je n'arrive pas à comprendre, c'est comment il se fait que l'erreur rapportée par EasyPHP chez Gotcha, mentionne .\galerie\include\functions.inc.php , alors que la fonction ci-dessus est dans ./piwigo/admin/include/functions.php . [EDIT] : en fait cette fonction est mentionnée là probablement parce que c'est elle qui rapporte l'erreur : à la ligne 918 de ./galerie/include/functions.inc.php , on trouve :
trigger_error($error, E_USER_WARNING);
[/EDIT]
Mais tout cela ne signifie pas nécessairement que Event Cats n'est pas à la source du problème. Mais pour le moment je ne sais pas dire d'où ça vient.
Dernière modification par LucMorizur (2009-12-02 11:36:36)
Hors ligne
Luc: C'est une fonction en effet mais qui fait appel à d'autres éléments qui eux concernent une table de Even_Cat :-)
Je dis ça je dis rien, mais je serais toi, je chercherai à comprendre que ce cherche à faire cette instruction SQL sur ta table afin de ciblé le problèmes.
;-)
Hors ligne
Luc,
Pourrais-tu donner la syntaxe de ton create table?
Pour commencer à comprendre et m'éviter de chercher.
Merci.
Hors ligne
VDigital a écrit:
Luc,
Pourrais-tu donner la syntaxe de ton create table?
Pour commencer à comprendre et m'éviter de chercher.
Merci.
Evidemment, j'aurais pu y penser tout seul :-/
CREATE TABLE `".$prefixeTable."event_cats` ( `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT , `code` VARCHAR(32) DEFAULT NULL , `user_id` SMALLINT(5) UNSIGNED DEFAULT NULL , `action` ENUM('ec_ok', 'ec_nok') DEFAULT NULL , `arg1` SMALLINT(5) UNSIGNED DEFAULT NULL , `arg2` SMALLINT(5) UNSIGNED DEFAULT NULL , `forced` ENUM('true', 'false') NOT NULL DEFAULT 'false' , PRIMARY KEY (`id`), KEY `code` (`code`), KEY `user_id` (`user_id`) ) DEFAULT CHARACTER SET utf8;
Merci Vincent pour ton aide :-) .
Hors ligne
J'ai cherché sur l'internet "clustered index" et ai trouvé http://blog.developpez.com/sqlpro/p5930 … que-c-est/ ; et "MySQL user-defined clustered index", et ai trouvé http://bugs.mysql.com/bug.php?id=26447 , ce dernier (bug MySQL 5.0.36-BK, 5.0.30 sur opération "ALTER TABLE ... ORDER BY" sur une clé primaire) m'incitant à redemander à Gotcha s'il peut donner sa version de PHP et MySQL, car je me demande si ce n'est pas tout simplement le même bug.
Hors ligne
Tout de suite mon bon Monsieur :-)
Hors ligne
Luc,
Je ne coderai pas:
)
DEFAULT CHARACTER SET utf8;
Mais je coderai:
)
TYPE=MyISAM;
ENGINE=MyISAM (identique à type=MyISAM) éviterait le cas du bug au cas où le défaut serait InnoDB.
Bizarre (Gotcha est exempt du bug en 5.1.3 de toute façon).
Maintenant je peux également chercher sur la base de sa release.
Ne pas forcer le character set permettrait de savoir également gérer autre chose que de l'utf8.
Hors ligne