Partager via


Curseurs mixtes

Un curseur mixte est une combinaison d’un curseur piloté par l’ensemble de clés et d’un curseur dynamique. Il est utilisé lorsque le jeu de résultats est trop volumineux pour enregistrer raisonnablement les clés pour l’ensemble du jeu de résultats. Les curseurs mixtes sont implémentés en créant un jeu de clés plus petit que l’ensemble de résultats entier, mais plus grand que l’ensemble de lignes.

Tant que l’application fait défiler l’ensemble de clés, le comportement est piloté par les jeux de clés. Lorsque l’application fait défiler l’ensemble de clés en dehors du jeu de clés, le comportement est dynamique : le curseur extrait les lignes demandées et crée un jeu de clés. Une fois le jeu de clés créé, le comportement revient au jeu de clés piloté par ce jeu de clés.

Par exemple, supposons qu’un jeu de résultats comporte 1 000 lignes et utilise un curseur mixte avec une taille de jeu de clés de 100 et une taille d’ensemble de lignes de 10. Lorsque le premier ensemble de lignes est récupéré, le curseur crée un jeu de clés composé des clés des 100 premières lignes. Elle retourne ensuite les 10 premières lignes, comme demandé.

Supposons maintenant qu’une autre application supprime les lignes 11 et 101. Si le curseur tente de récupérer la ligne 11, il rencontre un écart, car il a une clé pour cette ligne, mais aucune ligne n’existe ; il s’agit d’un comportement piloté par un jeu de clés. Si le curseur tente de récupérer la ligne 101, le curseur ne détecte pas que la ligne est manquante, car elle n’a pas de clé pour la ligne. Au lieu de cela, il récupère ce qui a été précédemment ligne 102. Il s’agit d’un comportement de curseur dynamique.

Un curseur mixte équivaut à un curseur piloté par l’ensemble de clés lorsque la taille du jeu de clés est égale à la taille du jeu de résultats. Un curseur mixte équivaut à un curseur dynamique lorsque la taille du jeu de clés est égale à 1.