Hoʻokuʻu ʻia o DBMS SQLite 3.31 me ke kākoʻo no nā kolamu i hana ʻia

paʻi ʻia hoʻokuʻu SQLite 3.31.0, he DBMS māmā i hoʻolālā ʻia e like me kahi waihona plug-in. Hoʻokaʻawale ʻia ka code SQLite ma ke ʻano he kikowaena lehulehu, ʻo ia hoʻi. hiki ke hoʻohana ʻia me ka ʻole o ke kaʻina a me ka uku ʻole no kekahi kumu. Hāʻawi ʻia ke kākoʻo kālā no nā mea hoʻomohala SQLite e kahi consortium i hana ʻia, ʻo ia hoʻi nā hui e like me Adobe, Oracle, Mozilla, Bentley a me Bloomberg.

ka papa kuhikuhiE ke hoʻololi:

  • Hoʻohui kākoʻo nā kolamu i hana ʻia (nā kolamu i helu ʻia), e ʻae iā ʻoe e wehewehe i kahi kolamu i ka wā e hana ai ʻoe i kahi papaʻaina e helu ʻakomi ʻia kona waiwai ma muli o nā ʻike o kekahi kolamu. Hiki i nā kolamu i hana ʻia he virtual (hana ʻia ma ka lele me kēlā me kēia komo) a i ʻole mālama ʻia i loko o ka waihona (mālama ʻia i kēlā me kēia manawa e hoʻonui ʻia nā kolamu pili). Loaʻa nā ʻike o nā kolamu i hana ʻia ma ke ʻano heluhelu wale nō (e hana ʻia nā hoʻololi ma o ka hoʻololi ʻana i ka waiwai ma kahi kolamu ʻē aʻe i komo i ka helu). ʻo kahi laʻana:

    HANA PAPA t1(
    he KI KUMU ANA,
    b INT,
    c TEXT,
    d INT HANA I NA MAU (a*abs(b)) VIRTUAL,
    e TEXT I HANA MAU IA (substr(c,b,b+1)) i mālama ʻia
    );

  • Hoʻohui ʻia ʻo PRAGMA trusted_schema, hoʻonohonoho SQLITE_DBCONFIG_TRUSTED_SCHEMA a me ke koho hui "-DSQLITE_TRUSTED_SCHEMA", e ʻae iā ʻoe e kāohi i ka hoʻopili ʻana o ka pale hoouka kaua ma o ka hoʻololi ʻana i ka schema data ma ka waihona. Hoʻopaʻa ka pale ikaika i ka hoʻohana ʻana i nā hana SQL (ʻaʻole i kaha ʻia ʻo SQLITE_INNOCUOUS) i nā mea hoʻomaka, nā manaʻo, CHECK a me DEFAULT nā ʻōlelo, nā kuhikuhi, a me nā kolamu i hana ʻia. Hoʻopau ʻia ka hoʻohana ʻana i nā pākaukau virtual i nā mea hoʻoulu a me nā manaʻo ke ʻole e hōʻike ʻia ka papa ʻaina virtual me ka hae SQLITE_VTAB_INNOCUOUS.
  • Hoʻokō i ka hiki ke hāʻawi i nā waiwai i nā hana SQL i wehewehe ʻia i nā noi SQLITE_INNOCUOUS (nā hana ʻino ʻole i hilinaʻi ʻole i nā ʻāpana o waho a ʻaʻole hiki ke hoʻohana ʻia e hana i nā hana ʻino) a SQLITE_DIRECTONLY (Kahea pololei wale nō i nā nīnau SQL, me ka ʻole o ka hiki ke hoʻohana i nā triggers, nā hiʻohiʻona a me nā kiʻi hoʻolālā ʻikepili);
  • Pākuʻi module uuid me ka hoʻokō ʻana i nā hana no ka hana ʻana i ka UUID (RFC-4122);
  • Hoʻohui ʻia ʻo PRAGMA hard_heap_limit a me ka hana sqlite3_hard_heap_limit64() e hoʻomalu i ka nui o ka puʻu;
  • Ma PRAGMA papa inoa_hana hoʻohui ʻia o nā ʻano, nā waiwai a me ka helu o nā manaʻo o kēlā me kēia hana;
  • I ka papa ʻaina DBSTAT hoʻohui ʻia ʻano hoʻohui ʻikepili;
  • sqlite3_open_v2() hoʻokō i ka koho SQLITE_OPEN_NOFOLLOW, hiki iā ʻoe ke hoʻopau i ka wehe ʻana o nā loulou hōʻailona;
  • No ka hoopaapaa PATH, hāʻawi ʻia i nā hana JSON, hoʻohui i ke kākoʻo no ka notation array "#-N";
  • I loko o ka ʻōnaehana puʻunaue hoʻomanaʻo nana aku Ua hoʻokō ʻia ke kākoʻo no nā loko hoʻomanaʻo ʻelua, hiki ke hoʻohana ʻia kēlā me kēia mea e hoʻokaʻawale i nā poloka o nā nui like ʻole (ka hoʻokaʻawale ʻana e hiki ai iā ʻoe ke hoʻonui i ka hoʻohana ʻana i ka ʻōnaehana lookaside, ʻoiai e hōʻemi ana i ka nui o ka buffer i hāʻawi ʻia i kēlā me kēia pilina mai 120 a 48 KB);
  • Ua hoʻopau ʻia ke kākoʻo PRAGMA format_file_legacy, ʻaʻole i kūpono me VACUUM, nā kolamu i hana ʻia, a me nā kuhikuhina iho (hiki ke hoʻihoʻi ʻia ke kākoʻo hoʻoilina ma o ka hae SQLITE_DBCONFIG_LEGACY_FILE_FORMAT ma sqlite3_db_config()).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka