Release fan DBMS SQLite 3.31 mei stipe foar oanmakke kolommen

publisearre frijlitte SQLite 3.31.0, in lichtgewicht DBMS ûntworpen as in plug-in bibleteek. De SQLite-koade wurdt ferspraat as in publike domein, d.w.s. kin brûkt wurde sûnder beheiningen en fergees foar elk doel. Finansjele stipe foar SQLite-ûntwikkelders wurdt levere troch in spesjaal makke konsortium, dat bedriuwen lykas Adobe, Oracle, Mozilla, Bentley en Bloomberg omfettet.

haad feroarings:

  • Stipe tafoege generearre kolommen (berekkene kolommen), wêrtroch jo in kolom kinne definiearje as jo in tabel meitsje wêrfan de wearde automatysk wurdt berekkene op basis fan de ynhâld fan in oare kolom. De oanmakke kolommen kinne wêze óf firtuele (generearre op 'e flecht mei eltse tagong) of opslein yn' e databank (bewarre eltse kear de besibbe kolommen wurde bywurke). De ynhâld fan 'e generearre kolommen is allinich beskikber yn' e lêsmodus (feroarings wurde allinich makke troch wiziging fan 'e wearde yn in oare kolom belutsen by de berekkening). Bygelyks:

    TABEL CREATE t1(
    in INTEGER PRIMARY KEY,
    b INT,
    c TEKST,
    d INT ALTYD GENERATED AS (a*abs(b)) VIRTUAL,
    e TEKST ALTYD GENEREREERD AS (substr(c,b,b+1)) OPSLAARD
    );

  • Added PRAGMA fertroude_skema, ynstelling SQLITE_DBCONFIG_TRUSTED_SCHEMA en de gearstalling-opsje "-DSQLITE_TRUSTED_SCHEMA", wêrtroch jo it opnimmen fan beskerming tsjin kinne kontrolearje oanfallen troch wiziging fan it gegevensskema yn 'e databank. Aktive beskerming beheint it gebrûk fan SQL-funksjes (net markearre SQLITE_INNOCUOUS) yn triggers, werjeften, CHECK- en DEFAULT-útspraken, yndeksen en generearre kolommen. It gebrûk fan firtuele tabellen yn triggers en werjeften is ek útskeakele, útsein as de firtuele tabel eksplisyt ferklearre wurdt mei de flagge SQLITE_VTAB_INNOCUOUS.
  • Implementearre de mooglikheid om eigenskippen ta te jaan oan SQL-funksjes definieare yn applikaasjes SQLITE_INNOCUOUS (harmless funksjes dy't net ôfhinklik binne fan eksterne parameters en kinne net brûkt wurde om kweade aksjes út te fieren) en SQLITE_DIRECTONLY (allinich direkte oprop yn SQL-fragen, sûnder de mooglikheid om te brûken yn triggers, werjeften en gegevensstruktuerdiagrammen);
  • Module tafoege uuid mei ymplemintaasje fan funksjes foar it ferwurkjen fan UUID (RFC-4122);
  • Added PRAGMA hard_heap_limit en funksje sqlite3_hard_heap_limit64() om de maksimale heapgrutte te kontrolearjen;
  • Yn PRAGMA function_list tafoege útfier fan type, eigenskippen en oantal arguminten fan elke funksje;
  • Om firtuele tabel DBSTAT tafoege gegevensaggregaasjemodus;
  • sqlite3_open_v2 () ymplemintearret de SQLITE_OPEN_NOFOLLOW opsje, wêrtroch jo it iepenjen fan symboalyske keppelings útskeakelje kinne;
  • Foar argumint PAAD, trochjûn oan JSON-funksjes, tafoege stipe foar "#-N" arraynotaasje;
  • Yn it ûnthâld distribúsje systeem oan 'e kant Stipe foar twa aparte ûnthâldpools is ymplementearre, wêrfan elk kin wurde brûkt om blokken fan ferskate grutte te allocearjen (skieding kinne jo it gebrûk fan it lookaside-systeem útwreidzje, wylst de grutte fan 'e buffer dy't oan elke ferbining is tawiisd fan 120 nei 48 ferminderje. KB);
  • PRAGMA-stipe is beëinige legacy_file_format, dy't ynkompatibel wie mei VACUUM, oanmakke kolommen en delgeande yndeksen (stipe foar legacy opmaak kin weromjûn wurde fia de SQLITE_DBCONFIG_LEGACY_FILE_FORMAT flagge yn sqlite3_db_config ()).

Boarne: opennet.ru

Add a comment