Dimittis de DBMS SQLite 3.31 cum auxilio ad columnas generatas

editis release SQLite 3.31.0, leve DBMS obturaculum in bibliotheca designatum. Codex SQLite in dominium publicum distribuitur, i.e. adhiberi potest sine restrictionibus et gratis pro quacumque re. Subsidium financial SQLite tincidunt providetur a consortio speciali creato, quod includit societates ut Adobe, Oraculum, Mozilla, Bentley et Bloomberg.

Main mutationes:

  • additae firmamentum generatae columnas (Columna computata), quae columnam definire permittit cum tabulam creas, cuius valor sponte computatur in contentis alterius columnae. Generatae columnae vel virtuale (cum singulis accessibus muscae generatae) vel in datorum repositae (salvis columnis relatis singulis diebus renovantur). Contenta columnarum generatarum in promptu sunt tantum in mode legitur (mutationes non fiunt nisi per modificationem valoris in alia columna, quae in calculo est). Exempli gratia:

    Mensam t1 (
    CLAVIS INTEGER PRIMIGENUS;
    b INT,
    c TEXT.
    d INT GENERATED SEMPER AS (a* abs (b)) Virtualis,
    e TEXT GENERATIM SEMPER AS (substr(c,b,b+1)) STORED
    );

  • adiecit PRAGMA trusted_schema, occasum SQLITE_DBCONFIG_TRUSTED_SCHEMA et optio conventus "-DSQLITE_TRUSTED_SCHEMA", quae permittit te inclusionem tutelae contra impetus per modificationem schematis datorum in datorum. Activa tutela usum SQL functionum (non SQLITE_INNOCUORUM notatum) restringit in triggers, opinionibus, CHECK et defaltis declarationibus, indicibus et columnis generatis. Usus mensarum virtualium in triggers et opinionibus etiam erret nisi mensa virtualis expresse declaratur cum vexillo SQLITE_VTAB_INNOCUO.
  • Impletur facultas assignandi proprietatibus SQL functiones definitas in applicationibus SQLITE_INNOCUOUS (munera innoxia quae ab externis parametris non pendent nec possunt ad actiones malicias exercere) et SQLITE_DIRECTONLY (tantum vocationem directam in SQL queries, sine possibilitate utendi in triggers, visibus et notitiis schematis structurae);
  • moduli additae uuid cum exsecutione functionum ad expediendas UUID (RFC-4122);
  • adiecit PRAGMA hard_heap_limit et munus sqlite3_hard_heap_limit64() acervum maximum to control mole;
  • In PRAGMA function_list adiectae sunt rationes generis, proprietates, argumentorum cuiusque functionis et numeri;
  • Ad mensam virtualem DBSTAT additae notitia aggregationis modus;
  • sqlite3_open_v2() optionem SQLITE_OPEN_NOFOLLOW instruit, quae te permittit ut aperitionem nexuum symbolicorum disable;
  • Nam argumentum ITER, ad JSON functiones transiit, subsidium pro "#-N" ordinata notatione addidit;
  • Distributio ratio in memoria lookaside subsidium pro duobus lacunis memoriae separatis ad effectum deductis, quarum singulae ad caudices diversarum magnitudinum collocare possunt (separatio permittit ut usum speculationis systematis amplifices, dum magnitudinem quiddam ad unumquemque connexionem ab 120 ad 48 partita redigendo. KB);
  • PRAGMA subsidium discontinuatum est legatum_file_format, quod repugnabat VACUUM, columnis genitis et indicibus descendentibus (forma legata subsidii reddi potest per vexillum SQLITE_DBCONFIG_LEGACY_FILE_FORMAT in sqlite3_db_config()).

Source: opennet.ru