Liberigo de DBMS SQLite 3.31 kun subteno por generitaj kolumnoj

eldonita liberigi SQLite 3.31.0, malpeza DBMS dizajnita kiel aldonaĵbiblioteko. La SQLite-kodo estas distribuita kiel publika havaĵo, t.e. povas esti uzata sen limigo kaj senpage por ajna celo. Financa subteno por SQLite-programistoj estas provizita de speciale kreita konsorcio, kiu inkluzivas kompaniojn kiel Adobe, Oracle, Mozilla, Bentley kaj Bloomberg.

Ĉefa ŝanĝi:

  • Aldonita subteno generitaj kolumnoj (kalkulitaj kolumnoj), kiuj permesas al vi difini kolumnon dum kreado de tabelo, kies valoro estas aŭtomate kalkulata surbaze de la enhavo de alia kolumno. Generitaj kolumnoj povas esti aŭ virtualaj (generitaj dumfluge kun ĉiu aliro) aŭ konservitaj en la datumbazo (konservitaj kun ĉiu ĝisdatigo de rilataj kolumnoj). La enhavo de generitaj kolumnoj estas havebla nur en legreĝimo (ŝanĝoj estas faritaj nur per modifo de la valoro en alia kolumno implikita en la kalkulo). Ekzemple:

    KREI ​​TABELON t1(
    entjera primara ŝlosilo,
    b INT,
    kun TEKSTO,
    d INT GENERITA ĈIAM KIEL (a*abs(b)) VIRTUALA,
    e TEKSTO GENERITA ĈIAM KIEL (substr(c,b,b+1)) STOKITA
    );

  • PRAGMA aldonis fidinda_skemo, agordo SQLITE_DBCONFIG_TRUSTED_SCHEMA kaj la konstruopcio "-DSQLITE_TRUSTED_SCHEMA", kiu permesas al vi kontroli la inkluzivon de protekto kontraŭ atakoj modifante la datumbazan skemon. Kiam aktiva protekto estas ebligita, la uzo de SQL-funkcioj (ne markitaj kiel SQLITE_INNOCUOUS) en ellasiloj, vidoj, CHECK kaj DEFAULT esprimoj, indeksoj kaj generitaj kolumnoj estas limigita. La uzo de virtualaj tabeloj en ellasiloj kaj vidoj ankaŭ estas malebligita krom se la virtuala tabelo estas eksplicite deklarita per la flago SQLITE_VTAB_INNOCUOUS.
  • Implementis la kapablon asigni ecojn al SQL-funkcioj difinitaj en aplikaĵoj SQLITE_SENSENKONDUKE (sendanĝeraj funkcioj kiuj ne dependas de eksteraj parametroj kaj ne uzeblas por plenumi malicajn agojn) kaj SQLITE_DIREKTE NUR (nur rekta alvoko en SQL-demandoj, neniu ebleco de uzo en ellasiloj, vidoj kaj datenstrukturaj skemoj);
  • Aldonita modulo uuid kun efektivigo de funkcioj por prilaborado de UUID-oj (RFC-4122);
  • PRAGMA aldonita malmola_stako_limo kaj funkcio sqlite3_hard_heap_limit64() por kontroli la maksimuman stakograndecon;
  • En PRAGMA funkcio_listo aldonita eligo de la tipo, ecoj kaj nombro de argumentoj de ĉiu funkcio;
  • Al la virtuala tabelo DBSTAT aldonis reĝimo de datuma agregado;
  • sqlite3_open_v2() efektivigas la opcion SQLITE_OPEN_NOFOLLOW, kiu permesas al vi malebligi malfermon de simbolaj ligiloj;
  • Pro argumento VOJ, pasita al JSON-funkcioj, aldonis subtenon por tabelnotacio "#-N";
  • En la memorasigna sistemo rigardoflanko subteno por du apartaj memor-naĝejoj estis efektivigita, ĉiu el kiuj povas esti uzata por asigni blokojn de malsamaj grandecoj (apartigo permesas plivastigitan uzon de la sistemo "lookaside", samtempe reduktante la grandecon de la bufro asignita por ĉiu konekto de 120 ĝis 48 KB);
  • PRAGMA-subteno estis ĉesigita heredaĵa_dosierformato, kiu estis nekongrua kun VACUUM, generitaj kolumnoj, kaj descendantaj indeksoj (subteno por heredaj formatoj povas esti reebligita per la flago SQLITE_DBCONFIG_LEGACY_FILE_FORMAT en sqlite3_db_config()).

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster