Co prawda Coyote obsługuje MySQL3.x oraz MySQL4.x postanowiłem, korzystając z obsługi MySQL4.x przetestować MySQL5.x .
Od razu zaznaczę, że nie ruszyło. MySQL5.0 powstał, aby przybliżyć ten system ku oficjalnemu standardowi SQL, jak również rozbudować system o pewne elementy, które inne systemy zarządzania baz danych mają od dawna, jak na przykład triggery; ale ja nie o tym.
Sprostanie standardowi SQL w MySQL5.x wiąże się z tym, że pewne polecenia (w tym wiele wariantów JOIN) mają zmodyfikowaną dopuszczalną składnię.
(Coyote/index.php) Linia około 53:
$sql = 'SELECT article_subject,
article_namespace,
text_content,
cat_id
FROM ' . ARTICLE_TABLE . ', ' . TEXT_TABLE . '
LEFT JOIN ' . CAT_TABLE . ' ON cat_article = article_id
WHERE text_id = article_id
AND text_current = 1
AND article_exists = 1
ORDER BY text_time
DESC
LIMIT 1';
Powyższy kod nie działa. Nawet wpisując jego treść (oczywiście z danymi), bezpośrednio w konsolowym kliencie.
Zastanawiałem sie, czy nie byłoby opłacalnym wprowadzenie warstwy pośredniej, czyli: kod SQL nie byłby umieszczony w pliku /index.php, ale na przykład w /include/db/%BAZA%/index.php w postaci funkcji, używanej przez /index.php. Po podmiane bazy, dostępne byłyby analogiczne funkcje, ale mogące posługiwać się innym kodem SQL.
To tyle z moich spostrzeżeń na dziś. :)