หลัก
- เพิ่มการสนับสนุน
สร้างคอลัมน์ (คอลัมน์จากการคำนวณ) ซึ่งช่วยให้คุณสามารถกำหนดคอลัมน์เมื่อคุณสร้างตารางที่มีค่าจะถูกคำนวณโดยอัตโนมัติตามเนื้อหาของคอลัมน์อื่น คอลัมน์ที่สร้างขึ้นอาจเป็นแบบเสมือน (สร้างขึ้นทันทีด้วยการเข้าถึงแต่ละครั้ง) หรือจัดเก็บไว้ในฐานข้อมูล (บันทึกทุกครั้งที่มีการอัปเดตคอลัมน์ที่เกี่ยวข้อง) เนื้อหาของคอลัมน์ที่สร้างขึ้นจะมีให้ใช้งานในโหมดอ่านเท่านั้น (การเปลี่ยนแปลงจะเกิดขึ้นผ่านการแก้ไขค่าในคอลัมน์อื่นที่เกี่ยวข้องกับการคำนวณเท่านั้น) ตัวอย่างเช่น:สร้างตาราง t1(
คีย์หลักจำนวนเต็ม
ข ไอเอ็นที,
ค ข้อความ,
d INT สร้างขึ้นเสมอเหมือน (a*abs(b)) เสมือน
e ข้อความที่สร้างขึ้นเสมอเหมือน (substr(c,b,b+1)) ถูกเก็บไว้
); - เพิ่ม PRAGMA
trust_schema , การตั้งค่าSQLITE_DBCONFIG_TRUSTED_SCHEMA และตัวเลือกการประกอบ "-DSQLITE_TRUSTED_SCHEMA" ซึ่งช่วยให้คุณควบคุมการรวมการป้องกันการโจมตี โดยการปรับเปลี่ยนสคีมาข้อมูลในฐานข้อมูล การป้องกันที่ใช้งานอยู่จะจำกัดการใช้ฟังก์ชัน SQL (ไม่ได้ทำเครื่องหมาย SQLITE_INNOCUOUS) ในทริกเกอร์ มุมมอง คำสั่ง CHECK และ DEFAULT ดัชนี และคอลัมน์ที่สร้างขึ้น การใช้ตารางเสมือนในทริกเกอร์และมุมมองก็ถูกปิดใช้งานเช่นกัน เว้นแต่ว่าตารางเสมือนจะถูกประกาศอย่างชัดเจนด้วยแฟล็ก SQLITE_VTAB_INNOCUOUS - ใช้ความสามารถในการกำหนดคุณสมบัติให้กับฟังก์ชัน SQL ที่กำหนดไว้ในแอปพลิเคชัน
SQLITE_INNOCUOUS (ฟังก์ชันที่ไม่เป็นอันตรายซึ่งไม่ได้ขึ้นอยู่กับพารามิเตอร์ภายนอกและไม่สามารถใช้เพื่อดำเนินการที่เป็นอันตรายได้) และSQLITE_DIRECTONLY (เฉพาะการโทรโดยตรงในการสืบค้น SQL โดยไม่มีความเป็นไปได้ในการใช้ทริกเกอร์ มุมมอง และไดอะแกรมโครงสร้างข้อมูล) - เพิ่มโมดูลแล้ว
ยูอิด ด้วยการใช้งานฟังก์ชั่นสำหรับการประมวลผล UUID (RFC-4122) - เพิ่ม PRAGMA
hard_heap_limit และหน้าที่sqlite3_hard_heap_limit64() เพื่อควบคุมขนาดฮีปสูงสุด - ในแพรกม่า
function_list เพิ่มผลลัพธ์ประเภท คุณสมบัติ และจำนวนอาร์กิวเมนต์ของแต่ละฟังก์ชัน - ไปยังตารางเสมือน DBSTAT
เพิ่ม โหมดการรวมข้อมูล - sqlite3_open_v2() ใช้ตัวเลือก SQLITE_OPEN_NOFOLLOW ซึ่งช่วยให้คุณปิดการใช้งานการเปิดลิงก์สัญลักษณ์
- สำหรับการโต้แย้ง
เส้นทาง ส่งผ่านไปยังฟังก์ชัน JSON เพิ่มการรองรับสัญลักษณ์อาร์เรย์ “#-N” - ในระบบกระจายหน่วยความจำ
มองไปข้าง ๆ มีการนำการสนับสนุนพูลหน่วยความจำแยกกันสองสระ ซึ่งแต่ละอันสามารถใช้เพื่อจัดสรรบล็อกที่มีขนาดแตกต่างกัน (การแยกช่วยให้คุณสามารถขยายการใช้ระบบ lookaside ในขณะที่ลดขนาดของบัฟเฟอร์ที่จัดสรรให้กับแต่ละการเชื่อมต่อจาก 120 เป็น 48 เคบี); - การสนับสนุน PRAGMA ถูกยกเลิกแล้ว
Legacy_file_format ซึ่งเข้ากันไม่ได้กับ VACUUM คอลัมน์ที่สร้างขึ้น และดัชนีจากมากไปน้อย (การสนับสนุนรูปแบบเดิมสามารถส่งคืนได้ผ่านทางแฟล็ก SQLITE_DBCONFIG_LEGACY_FILE_FORMAT ใน sqlite3_db_config())
ที่มา: opennet.ru