Liberasyon DBMS SQLite 3.31 ak sipò pou kolòn pwodwi yo

pibliye lage SQLite 3.31.0, yon DBMS ki lejè ki fèt kòm yon bibliyotèk plug-in. Kòd SQLite a distribye kòm yon domèn piblik, i.e. ka itilize san restriksyon ak gratis pou nenpòt rezon. Sipò finansye pou devlopè SQLite se yon consortium ki kreye espesyalman, ki gen ladann konpayi tankou Adobe, Oracle, Mozilla, Bentley ak Bloomberg.

Prensipal la chanjman:

  • Te ajoute sipò kolòn pwodwi yo (kolòn kalkile), ki pèmèt ou defini yon kolòn lè ou kreye yon tab ki gen valè otomatikman kalkile dapre sa ki nan yon lòt kolòn. Kolòn yo pwodwi yo ka swa vityèl (pwodwi sou vole ak chak aksè) oswa estoke nan baz done a (sove chak fwa kolòn ki gen rapò yo mete ajou). Sa ki nan kolòn pwodwi yo disponib sèlman nan mòd lekti (chanjman yo fèt sèlman nan modifikasyon nan valè a nan yon lòt kolòn ki enplike nan kalkil la). Pa egzanp:

    KREYE TABLE T1(
    yon KLE PRIMÈ ENTIER,
    b INT,
    c TÈKS,
    d INT GENERE TOUJOU KÒM (a*abs(b)) VIRTyèl,
    e TÈKS GENYE TOUJOU KÒM (substr(c,b,b+1)) STOKE
    );

  • Te ajoute PRAGMA trusted_schema, anviwònman SQLITE_DBCONFIG_TRUSTED_SCHEMA ak opsyon asanble "-DSQLITE_TRUSTED_SCHEMA", ki pèmèt ou kontwole enklizyon pwoteksyon kont atak atravè modifikasyon nan chema done yo nan baz done a. Pwoteksyon aktif limite itilizasyon fonksyon SQL (ki pa make SQLITE_INNOCUOUS) nan deklannche, opinyon, deklarasyon CHECK ak DEFAULT, endèks, ak kolòn pwodwi yo. Itilizasyon tab vityèl nan deklannche ak opinyon tou enfim sof si tab vityèl la deklare klèman ak drapo SQLITE_VTAB_INNOCUOUS la.
  • Aplike kapasite pou bay pwopriyete SQL fonksyon yo defini nan aplikasyon yo SQLITE_INNOCUOUS (fonksyon inofansif ki pa depann de paramèt ekstèn epi yo pa ka itilize pou fè aksyon move) ak SQLITE_DIRECTONLY (sèlman apèl dirèk nan demann SQL, san yo pa posiblite pou itilize nan deklanche, opinyon ak dyagram estrikti done);
  • Te ajoute modil uuid ak aplikasyon fonksyon pou trete UUID (RFC-4122);
  • Te ajoute PRAGMA hard_heap_limit ak fonksyon sqlite3_hard_heap_limit64() kontwole gwosè maksimòm pil;
  • Nan PRAGMA lis_fonksyon te ajoute pwodiksyon kalite, pwopriyete ak kantite agiman chak fonksyon;
  • Pou tab vityèl DBSTAT te ajoute mòd agrégation done;
  • sqlite3_open_v2() aplike opsyon SQLITE_OPEN_NOFOLLOW, ki pèmèt ou enfim ouvèti lyen senbolik yo;
  • Pou agiman CHEMEN, te pase nan fonksyon JSON, te ajoute sipò pou notasyon etalaj "#-N";
  • Nan sistèm distribisyon memwa gade sou kote sipò pou de pisin memwa separe yo te aplike, yo chak nan yo ka itilize yo asiyen blòk nan diferan gwosè (separasyon pèmèt ou elaji itilizasyon sistèm nan Lookaside, pandan y ap diminye gwosè a nan tanpon a atribye ba chak koneksyon soti nan 120 a 48). KB);
  • Sipò PRAGMA te sispann eritaj_file_format, ki te enkonpatib ak VACUUM, kolòn ki te pwodwi, ak endèks desandan (sipò fòma eritaj yo ka retounen atravè drapo SQLITE_DBCONFIG_LEGACY_FILE_FORMAT nan sqlite3_db_config()).

Sous: opennet.ru

Add nouvo kòmantè