Bonjour
Je fais un bitmap avec des entiers (c'est à dire je définis un nombre comme "flag", sachant qu'ils peuvent être combinés entre eux pour définir une action)
Voilà un exemple :
1 2 3 4 5 6 7 8 9
|
ID | DROIT
--------------
1 | lecture
2 | écriture
4 | exécution
8 | partagé
16 | caché
32 | archive |
Ensuite on peut donner les propriétés d'un fichier en additionnant les différents ID. (un fichier partagé caché en lecture seule aura une propriété 1 + 8 + 16 = 25)
Sauf que moi je ne travaille pas avec des fichiers, mais avec des pages, et je commence à en avoir beaucoup, et le bigint commence à être limite au niveau du nombre de bit qu'il me fournit.
Est ce qu'il y a un type entier qui soit plus long encore ? Je pose la question parce qu'en testant
SELECT 4611686018427387904 * 4611686018427387904 * 4
j'ai un résultat (qui est 85070591730234615865843651857942052864)
4611686018427387904 est le plus gros entier puissance de 2 que j'ai à l'heure actuelle grâce au bigint. Le problème est que si ce n'est pas un entier, la valeur machine risque de me poser problème, puisque tout mon algorithme de récupération des pages passe par des divisions entières
Partager