Izdanje DBMS SQLite 3.45

Objavljen je SQLite 3.45, lagani sustav za upravljanje bazama podataka koji dolazi u obliku priključne biblioteke. Izvorni kod SQLite-a dostupno je kao javno dobro, što znači da ga se može koristiti bez ograničenja i besplatno u bilo koje svrhe. Financijsku podršku razvojnim timovima SQLite-a pruža poseban konzorcij, u kojem su uključene tvrtke kao što su Bentley, Bloomberg, Expensify i Navigation Data Standard.

Glavne promjene:

  • Sve SQL funkcije za rad s formatom JSON su prepisane i prevedene u novi unutarnji format stabla razdvajanja JSONB, koji se serijalizira i može se pohraniti u bazu podataka kako bi se izbjeglo ponovno razdvajanje pri korištenju JSON vrijednosti. Nove verzije funkcija koje generiraju JSON sada proizvode binarni format JSONB umjesto tekstualnog. U funkciju json_valid() dodan je neobavezan drugi argument pomoću kojeg se može postaviti bitna maska koja definira karakteristike ispravnog JSON-a (na primjer, kada se postavi 0x04, ispravnim će se smatrati blob JSONB, kada se postavi 0x01, tekstualni JSON u formatu RFC-8259, a kada se postavi 0x05, oba varijante).
  • U virtualnu tablicu FTS5, koja se koristi za pretraživanje punim tekstom, dodana je opcija tokendata koja omogućava korištenje vlastitih tokenizatora.
  • Zadano je uključena optimizacija SQLITE_DIRECT_OVERFLOW_READ, pri kojoj se overflow stranice, čija je veličina veća od standardne veličine b-tree stranice, čitaju iz datoteke izravno, mimo predmemorije. Za onemogućavanje pri gradnji može se koristiti opcija „-DSQLITE_DIRECT_OVERFLOW_READ=0”.
  • U planeru upita poboljšana je učinkovitost optimizacije tranzitivnih ograničenja i poboljšano je ignoriranje indeksa koji su priznati kao niske kvalitete tijekom izvođenja operacije ANALYZE.
  • U sučelju naredbene linije poboljšano je prikazivanje sadržaja u UTF-8 kodiranju na Windows platformi. Osigurano je automatsko prepoznavanje korištenja CLI sučelja prilikom reprodukcije skripti „.dump” i unošenja odgovarajućih promjena u postavke, kao što su „.dbconfig defensive off” i „.dbconfig dqs_dll on”.
  • U korisnički definirane SQL funkcije dodana je svojstvo SQLITE_RESULT_SUBTYPE, koje omogućava pozivanje funkcije sqlite3_result_subtype() za inspekciju podtipova argumenata.

Dodatno, važno je napomenuti razvoj u eksperimentalnim verzijama SQLite novog režima vođenja dnevnika transakcija — WAL2 („PRAGMA journal_mode = wal2“), pri kojem se koriste dva wal-datoteke („database-wal“ i „database-wal2“) umesto jedne. Kada se podaci upisuju u bazu podataka, novi podaci se dodaju u prvu wal-datoteku. Ako prva wal-datoteka dostigne dovoljno veliku veličinu, prelazi se na upis u drugu datoteku. Nakon prelaska na drugu wal-datoteku, prva postaje dostupna za potvrdu promena (checkpoint) i prepisivanje. Tako, kada druga wal-datoteka dostigne veliku veličinu, prelazi se na prvu itd., što rešava problem nekontrolisanog rasta wal-datoteke u situacijama kada dugo ne dolazi do potvrde transakcije ili se odvijaju dugotrajni procesi čitanja.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster