7.6. Ograniczenia

Każdy system ma ograniczenia. Pewne wynikają z użytego silnika SQL (DBMS) inne zaś z założeń [prawie] świadomie podjętych przez developerów. Nasz system takowe posiada:

7.6.1. Wynikające z naszego projektu

Ilość pieniędzy (tabela 'cash'). Pieniążki (od lms-1.1) przechowywaliśmy jako 32 bitową liczbę całkowitą i w związku z tym za 8 lat mogliście nas nie lubić posiadając około 5000 użytkowników. Aktualnie (od lms-1.1.7 Hathor) używamy bardziej odpowiedniego typu danych [decimal (9.2), 2 miejsca znaczące po przecinku, a w sumie 9 miejsc na całą liczbę]. Maksymalna wartość to 9'999'999.99 (dotyczy sumy wszystkich operacji finansowych!). Procedury konwertujące liczby na słowa są przygotowane na kwoty tak duże jak 10^18.

7.6.2. Wynikające z użycia Unicode

Przechodzimy na kodowanie Unicode w UI oraz bazach danych. Aktualnie znane są nam problemy z tym związane. Jeśli musisz używać bazy SQL z kiepskim wsparciem dla Unicode powinieneś używać możliwości konwertowania zawartych w UI. W poniższym przykładzie mamy bazę w formacie LATIN2 (znanym również jako ISO-8859-2).

[database]
user     = lms
password = lms12354
server_encoding = latin2 ; jeżeli baza nie jest kodowana w Unicode

7.6.3. Wynikające z używanego DBMS