Izdaja DBMS SQLite 3.31 s podporo za generirane stolpce

Objavljeno sprostitev SQLite 3.31.0, lahek DBMS, zasnovan kot knjižnica vtičnikov. Koda SQLite se distribuira kot javna domena, tj. se lahko uporablja brez omejitev in brezplačno za kateri koli namen. Finančno podporo razvijalcem SQLite zagotavlja posebej ustvarjen konzorcij, ki vključuje podjetja, kot so Adobe, Oracle, Mozilla, Bentley in Bloomberg.

Glavni Spremembe:

  • Dodana podpora ustvarjeni stolpci (izračunani stolpci), ki vam omogočajo, da pri ustvarjanju tabele definirate stolpec, katerega vrednost se samodejno izračuna na podlagi vsebine drugega stolpca. Ustvarjeni stolpci so lahko virtualni (ustvarjeni sproti vsakič, ko se dostopa do tabele) ali trajni (shranjeni vsakič, ko se posodobijo povezani stolpci). Vsebina ustvarjenih stolpcev je samo za branje (spremembe se izvedejo le s spreminjanjem vrednosti v drugem stolpcu, uporabljenem pri izračunu). Na primer:

    IZDELAVA TABELE t1(
    PRIMARNI KLJUČ CELOTRIČJA,
    b INT,
    z besedilom,
    d INT GENERIRANO VEDNO KOT (a*abs(b)) VIRTUALNO,
    e BESEDILO, VEDNO GENERIRANO KOT (substr(c,b,b+1)) SHRANJENO
    );

  • PRAGMA dodana zaupanja vredna_shema, nastavitev SQLITE_DBCONFIG_TRUSTED_SCHEMA in možnost gradnje "-DSQLITE_TRUSTED_SCHEMA", ki vam omogoča nadzor nad vključitvijo zaščite pred napadi S spreminjanjem sheme baze podatkov. Ko je aktivna, zaščita omejuje uporabo funkcij SQL (ki niso označene kot SQLITE_INNOCUOUS) v sprožilcih, pogledih, izrazih CHECK in DEFAULT, indeksih in ustvarjenih stolpcih. Uporaba virtualnih tabel v sprožilcih in pogledih je prav tako onemogočena, razen če je virtualna tabela izrecno deklarirana z zastavico SQLITE_VTAB_INNOCUOUS.
  • Implementirana je možnost dodeljevanja lastnosti aplikacijam definiranim SQL funkcijam SQLITE_NEŠKODLJIVO (neškodljive funkcije, ki niso odvisne od zunanjih parametrov in jih ni mogoče uporabiti za izvajanje zlonamernih dejanj) in SAMO_DIREKTON_SQLITE (samo neposredni klic v poizvedbah SQL, brez možnosti uporabe v sprožilcih, pogledih in shemah podatkovnih struktur);
  • Dodan modul uuid z implementacijo funkcij za obdelavo UUID-jev (RFC-4122);
  • PRAGMA dodana omejitev_trde_kopice in funkcijo sqlite3_hard_heap_limit64() za nadzor največje velikosti kopice;
  • V PRAGMI seznam_funkcij dodan izpis tipa, lastnosti in števila argumentov vsake funkcije;
  • V virtualno tabelo DBSTAT dodano način združevanja podatkov;
  • sqlite3_open_v2() implementira možnost SQLITE_OPEN_NOFOLLOW, ki omogoča onemogočanje odpiranja simboličnih povezav;
  • Zaradi argumenta POT, posredovano funkcijam JSON, dodana podpora za zapis polja "#-N";
  • V sistemu za dodeljevanje pomnilnika pogled vstran Izvedena je bila podpora za dva ločena pomnilniška bazena, od katerih se lahko vsak uporabi za dodeljevanje blokov različnih velikosti (ločitev omogoča razširjeno uporabo sistema lookaside, hkrati pa zmanjša velikost medpomnilnika, dodeljenega za vsako povezavo, s 120 na 48 KB);
  • Podpora za PRAGMA je bila ukinjena. podedovana_format_datoteke, ki ni bil združljiv z VACUUM, generiranimi stolpci in padajočimi indeksi (podporo za starejše formate je mogoče obnoviti z zastavico SQLITE_DBCONFIG_LEGACY_FILE_FORMAT v sqlite3_db_config()).

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster