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.
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);
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()).