KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
KretDB
KretDB to własny interfejs bazy danych pluginu: schemat w `Disk/Schema.kdb`, nazwane zapytania typowane względem KretS, transakcje, izolowana baza należąca do brokera (backend SQLite — decyzja R-11). Plugin nigdy nie widzi SQL ani uchwytu bazy.
Stan języka nie nadaje uprawnień KCS ani prawa działania w Core Production.
- Format / wersja
- database … { version = N }
- Kontrakt
- kretdb-1.0
- Rozszerzenia
- .kdb
Przejdź do trzech poziomów nauki
Dokumentacja i referencja
24 rozdziałów
Architecture diagramLANGUAGEKretDB — API / CLILANGUAGEKretDB — architektura / architectureLANGUAGEKretDB — zgodność i wersje / compatibility and versionsLANGUAGEKretDB — kody diagnostyczne / diagnostic codesLANGUAGEKretDB — wprowadzenieINTRODUCTIONKretDB — specyfikacja (zakres kontraktu 1.0)LANGUAGEKretDB — runtimeLANGUAGEKretDB — bezpieczeństwo / securityLANGUAGEKretDB — referencja składniLANGUAGEKretDB — rozwiązywanie problemów / troubleshootingLANGUAGEKRETDB-A01-TransactionsTestsDenials — Transakcje, testy `kret test`, odmowy uprawnień i błędy schematuEXAMPLEREQUIREMENTS — KRETDB-A01-TransactionsTestsDenialsEXAMPLEKRETDB-B01-PersistentCounter — Trwały licznik (tabela klucz→wartość)EXAMPLEREQUIREMENTS — KRETDB-B01-PersistentCounterEXAMPLEKRETDB-I01-NamedQueries — Nazwane zapytania: insert, select, update, deleteEXAMPLEREQUIREMENTS — KRETDB-I01-NamedQueriesEXAMPLEKretDB ↔ Kret Engine / KretCoreLANGUAGEKretDB ↔ Kret PlaygroundLANGUAGEKretDB ↔ Kret SDKLANGUAGEKretDB ↔ KretStudioLANGUAGEKretDB — język danych pluginu (schemat, zapytania, transakcje)INTRODUCTIONKretDB — praktyczne zastosowaniaLANGUAGEKretDB — karta technologiiLANGUAGEPrzykłady tej technologii
Transakcje, testy `kret test`, odmowy uprawnień i błędy schematu
`db.begin/commit/rollback`, testy KretDB w izolowanym procesie (każdy moduł testowy dostaje świeżą bazę), odmowa zapisu, gdy polityka hosta przyznaje tylko odczyt (`readonly/`), oraz błąd schematu: dwa klucze główne (`bad-schema/`).
RUNNABLE_LOCALKretDB · BASICTrwały licznik (tabela klucz→wartość)
Schemat `Disk/Schema.kdb` z jedną tabelą klucz→wartość. Kod używa `db.getOr` i `db.set`. Dwa uruchomienia z tym samym katalogiem danych pokazują trwałość: drugie uruchomienie widzi wynik pierwszego. Baza należy do brokera — plugin nie widzi SQL ani pliku bazy.
RUNNABLE_LOCALKretDB · INTERMEDIATENazwane zapytania: insert, select, update, delete
Tabela z kolumnami i wartościami domyślnymi, indeks, nazwane zapytania z parametrami (`:id`), sortowanie i limit. Kod KretS dostaje typowane funkcje `db.Add`, `db.Open`, `db.Finish`, `db.Remove`, `db.Count`; wiersz tabeli jest rekordem `tasks`. Komenda hosta `tasks.finish` kończy zadanie.
RUNNABLE_LOCAL