การเปิดตัว SQLite 3.37 ซึ่งเป็น DBMS ที่มีน้ำหนักเบาซึ่งออกแบบเป็นไลบรารีปลั๊กอินได้รับการเผยแพร่แล้ว รหัส SQLite เผยแพร่ในโดเมนสาธารณะ เช่น สามารถใช้ได้โดยไม่มีข้อจำกัดและไม่มีค่าใช้จ่ายสำหรับวัตถุประสงค์ใดๆ การสนับสนุนทางการเงินสำหรับนักพัฒนา SQLite มีให้โดยสมาคมที่สร้างขึ้นเป็นพิเศษ ซึ่งรวมถึงบริษัทต่างๆ เช่น Adobe, Oracle, Mozilla, Bentley และ Bloomberg
การเปลี่ยนแปลงที่สำคัญ:
- เพิ่มการสนับสนุนสำหรับการสร้างตารางด้วยแอตทริบิวต์ "STRICT" ซึ่งต้องมีการระบุประเภทบังคับเมื่อประกาศคอลัมน์ และใช้การตรวจสอบการจับคู่ประเภทที่เข้มงวดสำหรับข้อมูลที่เพิ่มลงในคอลัมน์ เมื่อตั้งค่าสถานะนี้ SQLite จะแสดงข้อผิดพลาดหากไม่สามารถส่งข้อมูลที่ระบุไปยังประเภทคอลัมน์ได้ ตัวอย่างเช่น หากคอลัมน์ถูกสร้างขึ้นเป็น "INTEGER" การส่งค่าสตริง '123' จะส่งผลให้มีการเพิ่มหมายเลข 123 แต่การพยายามระบุ 'xyz' จะล้มเหลว
- ในการดำเนินการ "ALTER TABLE ADD COLUMN" มีการเพิ่มการตรวจสอบเงื่อนไขสำหรับการมีอยู่ของแถวเมื่อเพิ่มคอลัมน์ที่มีการตรวจสอบตามนิพจน์ "CHECK" หรือด้วยเงื่อนไข "NOT NULL"
- ใช้นิพจน์ “PRAGMA table_list” เพื่อแสดงข้อมูลเกี่ยวกับตารางและมุมมอง
- อินเทอร์เฟซบรรทัดคำสั่งใช้คำสั่ง “.connection” ซึ่งช่วยให้คุณรองรับการเชื่อมต่อหลายรายการไปยังฐานข้อมูลพร้อมกัน
- เพิ่มพารามิเตอร์ “—safe” ซึ่งปิดใช้งานคำสั่ง CLI และนิพจน์ SQL ที่อนุญาตให้คุณดำเนินการกับไฟล์ฐานข้อมูลที่แตกต่างจากฐานข้อมูลที่ระบุในบรรทัดคำสั่ง
- CLI ได้ปรับประสิทธิภาพการอ่านนิพจน์ SQL ที่แยกออกเป็นหลายบรรทัดให้เหมาะสม
- เพิ่มฟังก์ชัน sqlite3_autovacuum_pages(), sqlite3_changes64() และ sqlite3_total_changes64()
- เครื่องมือวางแผนแบบสอบถามช่วยให้แน่ใจว่าส่วนคำสั่ง ORDER BY ในแบบสอบถามย่อยและมุมมองจะถูกละเว้น เว้นแต่การลบส่วนคำสั่งเหล่านั้นจะไม่เปลี่ยนความหมายของแบบสอบถาม
- ส่วนขยาย Generate_series(START,END,STEP) มีการเปลี่ยนแปลง ซึ่งเป็นพารามิเตอร์ตัวแรกที่มีการบังคับใช้ (“START”) หากต้องการคืนลักษณะการทำงานเก่า คุณสามารถสร้างใหม่ได้ด้วยตัวเลือก "-DZERO_ARGUMENT_GENERATE_SERIES"
- ลดการใช้หน่วยความจำในการจัดเก็บสคีมาฐานข้อมูล
ที่มา: opennet.ru