Pagpagawas sa DBMS SQLite 3.31 nga adunay suporta alang sa namugna nga mga kolum

gipatik buhian SQLite 3.31.0, usa ka gaan nga DBMS nga gidisenyo isip plug-in library. Ang kodigo sa SQLite giapod-apod isip usa ka publikong dominyo, i.e. mahimong gamiton nga walay mga pagdili ug walay bayad alang sa bisan unsang katuyoan. Ang pinansyal nga suporta alang sa SQLite developers gihatag sa usa ka espesyal nga gibuhat consortium, nga naglakip sa mga kompanya sama sa Adobe, Oracle, Mozilla, Bentley ug Bloomberg.

nag-unang mga pagbag-o:

  • Gidugang nga suporta namugna nga mga kolum (calculated columns), nga motugot kanimo sa pag-define sa usa ka column kung maghimo ka ug table kansang kantidad awtomatikong kalkulado base sa sulod sa laing column. Ang namugna nga mga kolum mahimo nga virtual (namugna sa langaw sa matag access) o gitipigan sa database (gitipigan sa matag higayon nga ang mga may kalabutan nga mga kolum gi-update). Ang mga sulod sa mga namugna nga mga kolum anaa lamang sa read mode (ang mga pagbag-o gihimo lamang pinaagi sa pagbag-o sa bili sa laing kolum nga nalambigit sa kalkulasyon). Pananglitan:

    PAGHIMO TABLE t1(
    usa ka INTEGER PRIMARY KEY,
    b INT,
    c TEKSTO,
    d INT GIHIMO KANUNAY AS (a*abs(b)) VIRTUAL,
    e TEKSTO NGA GIHIMO KANUNAY AS (substr(c,b,b+1)) GITAGO
    );

  • Gidugang PRAGMA kasaligan_schema, setting SQLITE_DBCONFIG_TRUSTED_SCHEMA ug ang opsyon sa asembliya "-DSQLITE_TRUSTED_SCHEMA", nga nagtugot kanimo sa pagpugong sa paglakip sa proteksyon batok sa mga pag-atake pinaagi sa pagbag-o sa data schema sa database. Ang aktibo nga proteksyon nagpugong sa paggamit sa mga gimbuhaton sa SQL (dili gimarkahan nga SQLITE_INNOCUOUS) sa mga nag-trigger, mga pagtan-aw, CHECK ug DEFAULT nga mga pahayag, mga indeks, ug namugna nga mga kolum. Ang paggamit sa mga virtual nga mga lamesa sa mga trigger ug mga pagtan-aw gipugngan usab gawas kung ang virtual nga lamesa tin-aw nga gideklarar nga adunay bandila nga SQLITE_VTAB_INNOCUOUS.
  • Gipatuman ang abilidad sa pag-assign sa mga kabtangan sa mga function sa SQL nga gihubit sa mga aplikasyon SQLITE_INNOCUOUS (dili makadaot nga mga gimbuhaton nga wala magdepende sa mga eksternal nga parameter ug dili magamit sa paghimo og mga malisyoso nga aksyon) ug SQLITE_DIRECTONLY (direkta lang nga tawag sa mga pangutana sa SQL, nga wala’y posibilidad nga magamit sa mga nag-trigger, pagtan-aw ug mga diagram sa istruktura sa datos);
  • Gidugang nga module uuid uban ang pagpatuman sa mga gimbuhaton alang sa pagproseso sa UUID (RFC-4122);
  • Gidugang PRAGMA hard_heap_limit ug paglihok sqlite3_hard_heap_limit64() aron makontrol ang pinakataas nga gidak-on sa tapok;
  • Sa PRAGMA function_list gidugang nga output sa tipo, kabtangan ug gidaghanon sa mga argumento sa matag function;
  • Sa virtual nga lamesa DBSTAT gidugang data aggregation mode;
  • Ang sqlite3_open_v2() nagpatuman sa SQLITE_OPEN_NOFOLLOW nga kapilian, nga nagtugot kanimo sa pag-disable sa pag-abli sa simbolikong mga sumpay;
  • Alang sa argumento PATH, gipasa sa JSON functions, dugang suporta alang sa "#-N" array notation;
  • Sa sistema sa pag-apod-apod sa memorya tan-aw sa kilid suporta alang sa duha ka managlahing memory pool gipatuman, nga ang matag usa mahimong gamiton sa paggahin sa mga bloke sa lain-laing mga gidak-on (pagbulag nagtugot kaninyo sa pagpalapad sa paggamit sa lookaside nga sistema, samtang ang pagkunhod sa gidak-on sa buffer nga gigahin sa matag koneksyon gikan sa 120 ngadto sa 48 KB);
  • Ang suporta sa PRAGMA gihunong na legacy_file_format, nga dili uyon sa VACUUM, namugna nga mga kolum, ug paubos nga mga indeks (ang suporta sa format sa kabilin mahimong ibalik pinaagi sa SQLITE_DBCONFIG_LEGACY_FILE_FORMAT nga bandera sa sqlite3_db_config()).

Source: opennet.ru

Idugang sa usa ka comment