KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
KretDB — wprowadzenie
KretDB — wprowadzenie
Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: kretdb-1.0. Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Czym jest
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.
Dla początkujących
Opisujesz tabele (kolumny i typy) oraz nazwane zapytania („dodaj zadanie”, „pokaż otwarte”). W KretS wołasz je jak funkcje: db.Add(1, "tytuł"). Proste pary klucz→wartość obsługujesz przez db.get/set. Dane zostają między uruchomieniami.
Dla zaawansowanych programistów
Zapytanie jest strukturą danych; SqlBuilder tworzy SQL wyłącznie z identyfikatorów sprawdzonych wzorcem i wiąże każdą wartość (sqlite3_bind_*). Wynik select deterministyczny (klucz główny rozstrzyga remisy), limit 10 000 wierszy. Niezatwierdzona transakcja jest wycofywana przez brokera. maxSize tabeli liczony w bajtach wartości. Właściciel bazy = tożsamość pluginu (w Core dodatkowo SID, KretProfileID, InstallationID, wydawca, digest). Migracja schematu, kopia i odtwarzanie istnieją w SDK, ale w Core są PROVISIONAL. SFI-B01: odmowa autoryzacji w transakcji → wycofanie (zwykły błąd skryptu nie wycofuje).
Jakie problemy rozwiązuje
Trwałe dane pluginu bez SQL injection, bez dostępu do cudzych baz i bez wycieku uchwytów; spójność przez transakcje; przewidywalne wyniki.
Kiedy używać
- notatnik, zadania, ustawienia lokalne pluginu
- liczniki i historia operacji
- pamięć agenta KretAI
- dane prezentowane w KretUI
Kiedy nie używać
- złączenia tabel, agregacje inne niż liczba wierszy, zapytania składane z tekstu (nie istnieją)
- porównania kolumn
Decimal/Byteswwhere(KCS-KDB-0102) - dostęp do bazy z C# pluginu (tylko zaufany adapter Core / KretBridge)
- produkcyjne użycie w Core przed decyzją D-KCS-01 (
kretdb.*PROVISIONAL)
Współpraca z innymi technologiami
KretS (use Kret.DB as db), KretL (kretdb.open/read/write, runtimeData.database), KretUI (dane przez komendy KretS), KretAI (pamięć agenta), Core (Disk/ = przestrzeń KretDB).
Obecny status
FROZEN_SUPPORTED_SUBSET — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0.
Dalej: ARCHITECTURE.md · SYNTAX_REFERENCE.md · ../Tutorials/BASIC/TUTORIAL_PL.md
Źródło i wersja
Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.
01_LANGUAGES/KretDB/Documentation/INTRODUCTION_PL.md
SHA-256 5B6AB752006A73575C76F617C488F18A9CE2F92C14BCFCF9E4A53F09B6E9F085Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →