Profilok adatmezői

Milyen adatmezői lehetnek a profiloknak.

2022.09.16 — Posted by Webb & Flow


Tartalomjegyzék

A Profiloknak különböző adat mezői lehetnek.

Mindegyik adat mezőnek van egy megadott típusa, ami meghatározza, hogy milyen műveleteket (összehasonlítások és értékadások) hajthatók végre rajtuk.

Az AtomDMP natív módon elérhetővé tesz mindegyik adat mezőhöz néhány meta mezőt. Ezeknek a mezőknek a listáját az adott mező típusa határozza meg.

A profiloknak a következő fajta adatmezői lehetnek:

Property

A property egy szabadon állítható mező. Minden property-nek meg kell adni azt, hogy milyen típusú értéket tárol (lásd Adat típusok). Ez a típus határozza meg végül azt, hogy milyen műveleteket lehet rajtuk végrehajtani.

A property értéke NULL az első olyan értékadásig, ami nem NULL értéket állít be.

A property-khez a következő meta mezők tartoznak:

  • első módosítás ideje (firstMod)
    • mikor volt először érték adva az adott mezőnek
    • datetime típusú érték
    • null, ha még nem volt érték adva soha
  • utolsó módosítás ideje (lastMod)
    • mikor volt utoljára módosítva az adott mező értéke
    • az első értékadás ezt a mezőt is beállítja, emiatt ha a két érték azonos (de nem null), akkor a mező már be lett állítva, de utána többet nem volt módosítva
    • datetime típusú érték
    • null, ha még nem volt érték adva soha

A property NULL értéke nem garantálja, hogy még nem lett beállítva, erre a firstMod meta mező értékét érdemes ellenőrizni.

Coin

A coin speciális, integer típusú mező, aminek az értékét nem lehet közvetlenül beállítani, csak egy megadott értékkel növelni, vagy csökkenteni. Főleg számlálókhoz használható.

A coin értéke NULL az első módosításig, onnantól többet NULL értéket nem vehet fel, legfeljebb 0-t. Az első módosításkor a NULL érték 0-ként van kezelve.

A coin-okhoz a következő meta mezők tartoznak:

  • első módosítás ideje (firstMod)
    • mikor volt először a coin értéke módosítva
    • datetime típusú érték
    • null, ha még nem volt soha módosítva a coin
  • utolsó módosítás ideje (lastMod)
    • mikor volt utoljára a coin értéke módosítva
    • az első módosítás ezt a mezőt is beállítja, emiatt ha a két érték azonos (de nem null), akkor a mező csak egyszer volt módosítva
    • datetime típusú érték
    • null, ha még nem volt soha módosítva a coin

Bár a coin esetén a NULL érték azt jelenti, hogy még soha nem volt módosítva, ennek az ellenőrzésére a property-kel azonos firstMod mezőt érdemes használni, hogy azonos logikával legyenek a feltételek felépítve.

Flag

A flag-ek logikai változók, amik két kérdést tudnak megválaszolni:

  • most épp be van-e kapcsolva (oda van-e adva a profilnak)
  • valaha be volt-e kapcsolva (oda volt-e adva a profilnak)

A flag-nek a következő állapotai lehetnek:

  • soha nem volt bekapcsolva
    • implicit azt is jelenti, hogy most sincs bekapcsolva
  • most be van kapcsolva
    • implicit azt is jelenti, hogy már be volt kapcsolva
  • most nincs bekapcsolva, de korábban be volt

A flag-eknek nincs NULL értéke, az azzal azonos állapot a ‘soha nem volt bekapcsolva’.

A flag-ekhez a következő meta mezők tartoznak:

  • első bekapcsolás ideje (firstAdd)
    • mikor volt először bekapcsolva
    • datetime típusú érték
    • null, ha még nem volt soha bekapcsolva
  • első kikapcsolás ideje (firstRemove)
    • mikor volt először kikapcsolva
    • datetime típusú érték
    • null, ha még nem volt soha kikapcsolva
  • első módosítás ideje (firstMod)
    • mikor volt először be vagy kikapcsolva a flag
    • datetime típusú érték
    • null, ha még nem volt soha be vagy kikapcsolva
  • utolsó bekapcsolás ideje (lastAdd)
    • mikor volt utoljára bekapcsolva
    • az első bekapcsolás ezt a mezőt is beállítja, emiatt ha a két érték azonos (de nem null), akkor a flag csak egyszer volt bekapcsolva
    • datetime típusú érték
    • null, ha még nem volt soha bekapcsolva
  • utolsó kikapcsolás ideje (lastRemove)
    • mikor volt utoljára kikapcsolva
    • az első kikapcsolás ezt a mezőt is beállítja, emiatt ha a két érték azonos (de nem null), akkor a flag csak egyszer volt kikapcsolva
    • datetime típusú érték
    • null, ha még nem volt soha kikapcsolva
  • utolsó módosítás ideje (lastMod)
    • mikor volt utoljára be vagy kikapcsolva a flag
    • az első módosítás ezt a mezőt is beállítja, emiatt ha a két érték azonos (de nem null), akkor a flag csak egyszer volt módosítva
    • datetime típusú érték
    • null, ha még nem volt soha be vagy kikapcsolva

Amennyiben arra vagyunk kíváncsiak, hogy az adott flag-el történt-e bármi, a property-kel azonos módon azt érdemes ellenőrizni, hogy a firstMod mező értéke NULL-e.