Constantes pré-définies
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Astuces SQL concernées
Exemple #1 Exemple montrant l'utilisation des constantes mysqlnd_ms
<?php /* utilisation des constantes pour une portabilité maximale */ $master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test"; /* Valide, mais moins portable : utilisation littérale au lieu des constantes */ $slave_query = "/*ms=slave*/SHOW TABLES"; printf("master_query = '%s'\n", $master_query); printf("slave_query = '%s'\n", $slave_query); ?>
Les exemples ci-dessus vont afficher :
master_query = /*ms=master*/SELECT id FROM test slave_query = /*ms=slave*/SHOW TABLES
-
MYSQLND_MS_MASTER_SWITCH
(chaîne de caractères) - Astuce SQL utilisée pour envoyer une requête au serveur MySQL maître de réplication.
-
MYSQLND_MS_SLAVE_SWITCH
(chaîne de caractères) - Astuce SQL utilisé pour envoyer une requête à un des serveurs MySQL esclaves de réplication.
-
MYSQLND_MS_LAST_USED_SWITCH
(chaîne de caractères) - Astuce SQL utilisé pour envoyer une requête au dernier serveur MySQL utilisé. Ce peut être soit un maître, soit un esclave.
En rapport avec la fonction mysqlnd_ms_query_is_select()
-
MYSQLND_MS_QUERY_USE_MASTER
(entier) -
Si la fonction mysqlnd_ms_is_select() retourne
MYSQLND_MS_QUERY_USE_MASTER
pour une requête donnée, le mécanisme interne de séparation des lectures/écritures recommande d'envoyer la requête vers un serveur MySQL maître de réplication. -
MYSQLND_MS_QUERY_USE_SLAVE
(entier) -
Si la fonction mysqlnd_ms_is_select() retourne
MYSQLND_MS_QUERY_USE_SLAVE
pour une requête donnée, le mécanisme interne de séparation des lectures/écritures recommande d'envoyer la requête vers un serveur MySQL esclave de réplication. -
MYSQLND_MS_QUERY_USE_LAST_USED
(entier) -
Si la fonction mysqlnd_ms_is_select() retourne
MYSQLND_MS_QUERY_USE_LAST_USED
pour une requête donnée, le mécanisme de séparation des lectures/écritures recommande d'envoyer la requête vers le dernier serveur utilisé.
mysqlnd_ms_set_qos(), en rapport avec la qualité du service des filtres et des niveaux de services
-
MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL
(entier) - Utilisé pour demander une éventuelle consistence du niveau de service depuis la fonction mysqlnd_ms_set_qos(). Une consistence éventuelle est la qualité par défaut du service lors d'une lecture depuis un esclave de réplication asynchrone MySQL. Les données retournées dans ce niveau de service peuvent ou pas être non à jour, suivant si l'esclave sélectionné a déjà répliqué les dernières modifications survenues sur le serveur maître de réplication MySQL.
-
MYSQLND_MS_QOS_CONSISTENCY_SESSION
(entier) - Utilisé pour demander une consistence de session du niveau de service depuis la fonction mysqlnd_ms_set_qos(). Une consistence de session est défini pour lire vos écritures. Le client est garanti de voir ces propres dernières modifications.
-
MYSQLND_MS_QOS_CONSISTENCY_STRONG
(entier) - Utilisé pour demander une consistence forte du niveau de service depuis la fonction mysqlnd_ms_set_qos(). Une consistence forte est utilisée pour assurer à tous les clients de voir chaque modification effectuée par les autres.
-
MYSQLND_MS_QOS_OPTION_GTID
(entier) - Utilisé comme une option du niveau de service avec la fonction mysqlnd_ms_set_qos() pour paramétrer la consistence de session.
-
MYSQLND_MS_QOS_OPTION_AGE
(entier) - Utilisé comme une option du niveau de service avec la fonction mysqlnd_ms_set_qos() pour paramétrer une consistence éventuelle.
Autre
Le numéro de version du plugin peut être obtenu en utilisant
la constante MYSQLND_MS_VERSION
ou la constante
MYSQLND_MS_VERSION_ID
. La constante
MYSQLND_MS_VERSION
est une représentation
sous forme de chaîne de caractères du numéro de version numérique
de la constante MYSQLND_MS_VERSION_ID
, qui est un
entier, comme 10000. Les développeurs peuvent calculer le numéro
de version comme ceci :
Version (partie) | Exemple |
---|---|
Majeur*10000 | 1*10000 = 10000 |
Mineur*100 | 0*100 = 0 |
Patch | 0 = 0 |
MYSQLND_MS_VERSION_ID | 10000 |
-
MYSQLND_MS_VERSION
(chaîne de caractères) - La chaîne représentant la version du plugin, par exemple, "1.0.0-prototype".
-
MYSQLND_MS_VERSION_ID
(entier) - Le numéro de version du plugin, par exemple, 10000.