Cette fonction est
EXPERIMENTALE. Cela signifie que le comportement de
cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut
changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez
cette fonction à vos risques et périls.
En donnant descripteur de base de données PDO et l'objet racine spécial
d'un graphique de données, la fonction examine les changements dans le
graphique de données et applique les changements à la base de données
Les changements qui peut appliquer sont les créations d'objets de données,
les suppressions des objets de données et les modifications des propriétés
des objets de données.
Liste de paramètres
PDO_database_handle
Construit en utilisant l'extension PDO.
Une ligne typique pour construire un descripteur de base de données PDO
devrait ressembler à ceci :
$dbh = new PDO("mysql:dbname=COMPAGNIEDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);
root_data_object
L'objet racine spécial qui est le sommet de chaque graphique de données
SDO.
Valeurs de retour
Aucun.
Notez cependant que le graphique de données qui a été passé est toujours
intact et utilisable. De plus, si les objets de données ont été créés et
écrits à une table avec des clés primaires générées automatiquement, alors
ces clés primaires seront maintenant enregistrées dans les objets de
données. Si les changements ont été correctement écrits, alors le
changement associé avec le graphique de données sera supprimé, alors il est
possible maintenant d'effectuer plus de changement au graphique de données
et appliquer les changements alternativement. De cette façon, il est
possible de travailler avec le même graphique de données et appliquer les
changement à plusieurs reprises.
Erreurs / Exceptions
SDO_DAS_Relational::applyChanges()
peut jeter une exception SDO_DAS_Relational_Exception si la méthode n'est
pas capable d'appliquer tous les changements correctement.
Le DAS Relationnel démarre une transaction de base de données avant de
commencer à appliquer les changements et enverra les transactions seulement
si celles-ci sont réussies. Le DAS Relationnel génère des requêtes de mises
à jour et de suppression qualifiées qui contiennent une clause WHERE qui
spécifie que la ligne à être modifiée ou supprimée doit contenir les mêmes
valeurs qu'elles avaient lorsque les données ont été préalablement
récupérées.
Voici comment la simultanéité optimiste est implantée. Si une des requêtes
de mises à jour ou de suppression qualifiées échoue à mettre à jour ou Ã
supprimer leur ligne, il se peut que cela soit à cause des données altérées
dans la base de données en attendant. Quoi qu'il arrive, si une mise à jour
échoue pour n'importe quelle raison, la transaction est retournée en
arrière et une exception est jetée. Cette exception contiendra la requête
SQL générée qui a échouée.
Le DAS Relationnel attrape aussi toutes les exceptions de PDO et obtient
des informations de diagnostique de PDO qui incluent dans un
SDO_DAS_Relational_Exception qui est lui-même ensuite jeté.
Exemples
Veuillez voir la section d'exemples
dans les informations générales à propos de DAS Relationnel pour plusieurs
exemples sur l'appel de cette méthode.
Veuillez voir aussi la section sur le
suivi
pour voir comment vous pouvez voir quelles requêtes SQL sont générées par
le DAS Relationnel.