SQLite

Phần mềm chụp màn hình:
SQLite
Các chi tiết về phần mềm:
Phiên bản: 3.24.0 Cập nhật
Ngày tải lên: 22 Jun 18
Nhà phát triển: D. Richard Hipp
Giấy phép: Miễn phí
Phổ biến: 21

Rating: 5.0/5 (Total Votes: 1)

SQLite là một thư viện C mã nguồn mở, đa nền tảng, miễn phí và nhỏ, triển khai một cơ sở dữ liệu SQL khép kín, có thể nhúng, giao dịch, không máy chủ và không cấu hình. Đây là công cụ cơ sở dữ liệu SQL được sử dụng nhiều nhất trên thế giới.


Tính năng trong nháy mắt
Các tính năng chính bao gồm hỗ trợ cho các giao dịch độc lập, nguyên tử, bền và nhất quán, triển khai SQL92, các tệp cơ sở dữ liệu có thể được chia sẻ tự do giữa các máy tính, hỗ trợ cơ sở dữ liệu lên tới 2 terabyte, hỗ trợ các chuỗi và kích cỡ gigabyte, dấu chân mã nhỏ, cũng như API dễ sử dụng và rất đơn giản (Giao diện lập trình ứng dụng).

Ngoài ra, SQLite không yêu cầu cấu hình ban đầu hoặc quản trị thêm, cho phép các nhà phát triển lưu trữ cơ sở dữ liệu hoàn chỉnh trong một tệp đĩa đa nền tảng, hoàn hảo cho việc sử dụng các định dạng tệp ứng dụng, không có phụ thuộc bên ngoài. trong các ràng buộc TCL (Công cụ Lệnh Ngôn ngữ) và tài liệu toàn diện.

Bindings cho nhiều ngôn ngữ lập trình khác có sẵn một cách riêng biệt. Mã nguồn của nó được đánh giá cao và nó đi kèm với một máy khách CLI (Giao diện dòng lệnh) độc lập đã được thiết kế từ bù đắp được sử dụng cho việc quản trị cơ sở dữ liệu SQLite.


Tôi có thể sử dụng nó để làm gì?

Cơ sở dữ liệu SQLite có thể được sử dụng cho mọi mục đích, cá nhân hoặc thương mại. Đề xuất sử dụng cho SQLite bao gồm cơ sở dữ liệu cho các tiện ích, cơ sở dữ liệu trang web, đứng trong một doanh nghiệp RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ), cũng như định dạng tệp ứng dụng.


Dưới mui xe và hệ điều hành được hỗ trợ

Phân phối SQLite đi kèm với một chương trình truy cập dòng lệnh độc lập (sqlite) có thể được sử dụng để quản trị cơ sở dữ liệu SQLite và là một ví dụ về cách sử dụng thư viện SQLite. Nó được viết hoàn toàn bằng ngôn ngữ lập trình ANSI-C.

Các hệ điều hành máy tính để bàn được hỗ trợ bao gồm GNU / Linux, Mac OS X và Microsoft Windows. Các hệ điều hành di động được hỗ trợ bao gồm Android và iOS. Nó đã được thử nghiệm thành công với cả nền tảng phần cứng 32 bit và 64 bit và dễ dàng di chuyển sang các hệ điều hành khác.

Tính năng mới trong bản phát hành này là gì:

  • Điểm nổi bật của bản phát hành này bao gồm hỗ trợ cho UPSERT kiểu PostgreSQL và hiệu suất được cải thiện, đặc biệt cho các truy vấn ORDER BY LIMIT.

Tính năng mới trong phiên bản:

  • Tận dụng khả năng viết nguyên tử trong hệ thống tệp F2FS khi có sẵn, để giảm chi phí giao dịch rất lớn. Điều này hiện yêu cầu tùy chọn biên dịch SQLITE_ENABLE_BATCH_ATOMIC_WRITE.
  • Cho phép lệnh ATTACH và DETACH hoạt động bên trong giao dịch.
  • Cho phép KHÔNG CÓ các bảng ảo ROWID có thể ghi nếu KEY CHÍNH CHÍNH chứa chính xác một cột.
  • & quot; fsync () & quot; xảy ra sau khi tiêu đề được viết trong thiết lập lại WAL hiện sử dụng cài đặt đồng bộ hóa cho các trạm kiểm soát. Điều này có nghĩa là nó sẽ sử dụng & quot; fullfsync & quot; trên máy Mac nếu PRAGMA checkpoint_fullfsync được bật.
  • Hàm sqlite3_sourceid () cố gắng phát hiện nếu mã nguồn đã được sửa đổi từ những gì được kiểm tra thành kiểm soát phiên bản và nếu có sửa đổi, bốn ký tự cuối cùng của băm phiên bản được hiển thị dưới dạng & quot; alt1 & quot; hoặc & quot; alt2 & quot ;. Mục tiêu là để phát hiện các chỉnh sửa ngẫu nhiên và / hoặc bất cẩn. Trình tìm kiếm có thể phá hoại tính năng này.
  • Đã cải thiện việc trích dẫn tên cột cho các câu lệnh CREATE TABLE AS bằng truy vấn tổng hợp ở bên phải.
  • Ít hơn & quot; chỉ số () & quot; cuộc gọi hệ thống do VFS unix phát hành.
  • Đã tăng cường tối ưu hóa LIKE để nó hoạt động với một mệnh đề ESCAPE.
  • Tăng cường PRAGMA integrity_check và PRAGMA quick_check để phát hiện tham nhũng hàng mơ hồ mà trước đây chúng bị thiếu. Cũng cập nhật cả hai pragmas để chúng trả về văn bản lỗi thay vì SQLITE_CORRUPT khi gặp lỗi trong bản ghi.
  • Trình lập kế hoạch truy vấn bây giờ thích triển khai các truy vấn con FROM-clause bằng cách sử dụng các đồng trình thay vì sử dụng tối ưu hóa truy vấn flattener. Hỗ trợ cho việc sử dụng đồng thức cho các truy vấn phụ có thể không còn bị vô hiệu hóa nữa.
  • Chuyển thông tin về các ràng buộc! =, IS, IS NOT, NOT NULL và IS NULL vào phương thức xBestIndex của các bảng ảo.
  • Nâng cao bảng ảo CSV để nó chấp nhận hàng nhập cuối cùng nếu ký tự dòng mới cuối cùng bị thiếu.
  • Xoá dấu & quot; đầu & quot; bộ cấp phát bộ nhớ. Thay thế nó bằng cài đặt cấu hình SQLITE_CONFIG_SMALL_MALLOC cho SQLite gợi ý rằng nên tránh phân bổ bộ nhớ lớn khi có thể.
  • Đã thêm bảng ảo swarm vào tiện ích bảng ảo ảo hiện có.
  • Đã thêm bảng ảo sqlite_dbpage để cung cấp quyền truy cập trực tiếp vào các trang của tệp cơ sở dữ liệu. Mã nguồn được tích hợp vào hỗn hợp và được kích hoạt bằng tùy chọn -DSQLITE_ENABLE_DBPAGE_VTAB biên dịch.
  • Thêm loại bàn ảo fts5vocab mới - & quot; mẫu & quot; - cung cấp quyền truy cập trực tiếp vào chỉ mục toàn văn FTS5 ở cấp thấp nhất có thể.
  • Xóa cuộc gọi đến rand_s () trong Windows VFS vì nó đã gây ra sự cố trong Firefox trên một số máy tính xách tay cũ hơn.
  • Mã nguồn src / shell.c vào shell dòng lệnh không còn nằm trong điều khiển phiên bản. Tệp đó hiện được tạo như một phần của quá trình xây dựng.
  • Việc tối ưu hóa vi mô khác làm giảm mức sử dụng CPU khoảng 2,1%.
  • Sửa lỗi:
  • Khắc phục câu lệnh xác nhận bị lỗi () do OSSFuzz phát hiện. Vé cb91bf4290c211d
  • Khắc phục sự rò rỉ bộ nhớ tối nghĩa trong sqlite3_result_pointer (). Vé 7486aa54b968e9b
  • Tránh lỗi có thể sử dụng sau khi miễn phí bằng cách trì hoãn đặt lại lược đồ cho đến sau khi trình lập kế hoạch truy vấn đã kết thúc chạy. Vé be436a7f4587ce5
  • Chỉ sử dụng các chỉ mục trên biểu thức để tối ưu hóa ORDER BY hoặc GROUP BY nếu COLLATE là chính xác. Vé e20dd54ab0e4383
  • Sửa lỗi xác nhận đã xuất hiện khi biểu thức trong chỉ mục trên biểu thức thực sự là một hằng số. Vé aa98619ad08ddca
  • Khắc phục lỗi xác nhận có thể xảy ra sau PRAGMA reverse_unordered_selects. Vé cb91bf4290c211d
  • Khắc phục một segfault có thể xảy ra cho các truy vấn sử dụng các hàm có giá trị trong bảng trong truy vấn con IN hoặc EXISTS. Vé b899b6042f97f5
  • Khắc phục sự cố tràn số nguyên tiềm năng khi biên dịch biểu thức bảng chung phổ biến khủng khiếp. Đây là một vấn đề khác được phát hiện bởi OSSFuzz. Đăng ký 6ee8cb6ae5.
  • Khắc phục sự cố đọc có giới hạn tiềm năng khi truy vấn tệp cơ sở dữ liệu bị hỏng, một vấn đề được Natalie Silvanovich của Google Project Zero phát hiện. Đăng ký 04925dee41a21f.

Tính năng mới trong phiên bản 3.20.1:

  • Phiên bản vá lỗi phiên bản 3.20.1 thay đổi hai dòng mã trong giao diện sqlite3_result_pointer () để sửa lỗi rò rỉ bộ nhớ hiếm.

Tính năng mới trong phiên bản 3.9.2:

  • Phiên bản SQLite 3.9.2 là bản phát hành vá vá hai lỗi tối nghĩa.

Tính năng mới trong phiên bản 3.8.9:

  • Các tính năng mới trong bản phát hành này bao gồm lệnh PRAGMA index_xinfo, giao diện sqlite3_status64 () và lệnh ".dbinfo" của trình bao dòng lệnh.

Tính năng mới trong phiên bản 3.8.8.2:

  • Bản vá lỗi 3.8.8.2 khắc phục một vấn đề nhỏ: Nó đảm bảo rằng hoạt động sqlite3_wal_checkpoint (TRUNCATE) sẽ luôn cắt ngắn nhật ký ghi ngay cả khi nhật ký đã được đặt lại và không chứa nội dung mới. Nó không rõ ràng nếu đây là một sửa lỗi hoặc một tính năng mới.
  • Những thứ như thế này thường đi vào bản phát hành được lên lịch thường xuyên tiếp theo, nhưng một người dùng SQLite nổi bật cần thay đổi nhanh chóng để chúng tôi vui mừng đẩy nó ra thông qua bản vá này.
  • Không có lý do để nâng cấp trừ khi bạn thực sự cần hành vi nâng cao của sqlite3_wal_checkpoint (TRUNCATE).

Tính năng mới trong phiên bản 3.8.8.1:

  • Khắc phục lỗi trong logic phân loại, có mặt kể từ phiên bản 3.8.4, có thể khiến đầu ra xuất hiện theo thứ tự sai trên các truy vấn chứa mệnh đề ORDER BY, mệnh đề LIMIT và có khoảng 60 cột trở lên tập kết quả. Vé f97c4637102a3ae72b79.
  • SQLITE_SOURCE_ID: "2015-01-20 16:51:25 f73337e3e289915a76ca96e7a05a1a8d4e890d55"
  • SHA1 cho sqlite3.c: 33987fb50dcc09f1429a653d6b47672f5a96f19e

Tính năng mới trong phiên bản 3.8.8:

  • Tính năng Mới:
  • Đã thêm lệnh PRAGMA data_version có thể được sử dụng để xác định xem tệp cơ sở dữ liệu đã được sửa đổi bởi một quy trình khác hay chưa.
  • Đã thêm tùy chọn SQLITE_CHECKPOINT_TRUNCATE vào giao diện sqlite3_wal_checkpoint_v2 (), với các cải tiến tương ứng với PRAGMA wal_checkpoint.
  • Đã thêm giao diện sqlite3_stmt_scanstatus (), chỉ khả dụng khi được biên dịch với SQLITE_ENABLE_STMT_SCANSTATUS.
  • sqlite3_table_column_metadata () được tăng cường để hoạt động chính xác trên các bảng KHÔNG CÓ ROWID và để kiểm tra sự tồn tại của một bảng nếu tham số tên cột là NULL. Giao diện giờ đây cũng được bao gồm trong bản dựng theo mặc định, mà không yêu cầu tùy chọn biên dịch SQLITE_ENABLE_COLUMN_METADATA.
  • Đã thêm tùy chọn biên dịch SQLITE_ENABLE_API_ARMOR.
  • Đã thêm tùy chọn thời gian biên dịch SQLITE_REVERSE_UNORDERED_SELECTS.
  • Đã thêm tùy chọn thời gian biên dịch SQLITE_SORTER_PMASZ và tùy chọn thời gian bắt đầu SQLITE_CONFIG_PMASZ.
  • Đã thêm tùy chọn SQLITE_CONFIG_PCACHE_HDRSZ vào sqlite3_config () giúp các ứng dụng dễ dàng xác định lượng bộ nhớ phù hợp để sử dụng với SQLITE_CONFIG_PAGECACHE.
  • Số hàng trong mệnh đề VALUES không còn bị giới hạn bởi SQLITE_LIMIT_COMPOUND_SELECT.
  • Đã thêm phần mở rộng có thể tải eval.c thực hiện hàm SQL eval () sẽ đánh giá đệ quy SQL.
  • Cải tiến Hiệu suất:
  • Giảm số lượng hoạt động memcpy () liên quan đến việc cân bằng một cây b, tăng 3,2% hiệu suất tổng thể.
  • Các cải tiến cho các ước tính chi phí cho tối ưu hóa bỏ qua quét.
  • Tối ưu hóa lập chỉ mục tự động hiện có khả năng tạo chỉ mục một phần nếu thích hợp.
  • Sửa lỗi:
  • Đảm bảo độ bền sau khi mất điện với "PRAGMA journal_mode = TRUNCATE" bằng cách gọi fsync () ngay sau khi cắt bớt tệp tạp chí.
  • Kế hoạch truy vấn bây giờ nhận ra rằng bất kỳ cột nào trong bảng bên phải của một LEFT JOIN có thể là NULL, ngay cả khi cột đó có ràng buộc NOT NULL. Tránh cố gắng tối ưu hóa các thử nghiệm NULL trong những trường hợp đó. Sửa cho vé 6f2222d550f5b0ee7ed.
  • Đảm bảo ORDER BY đặt các hàng theo thứ tự tăng dần ngay cả khi toán tử DISTINCT được triển khai bằng cách sử dụng chỉ mục giảm dần. Sửa vé c5ea805691bfc4204b1cb9e.
  • Khắc phục các cuộc đua dữ liệu có thể xảy ra dưới sự căng thẳng khi chạy với nhiều luồng trong chế độ bộ nhớ cache dùng chung, nơi một số chủ đề đang mở và đóng kết nối.
  • Sửa lỗi lỗi không rõ ràng do lop mờ của Mỹ tìm thấy. Vé a59ae93ee990a55.
  • Làm việc xung quanh một lỗi trình tối ưu hóa GCC (đối với gcc 4.2.1 trên MacOS 10.7) khiến phần mở rộng R-Tree tính toán các kết quả không chính xác khi được biên dịch với -O3.
  • Các thay đổi khác:
  • Vô hiệu hóa việc sử dụng strchrnul () thường trình thư viện C trừ khi nó được bật cụ thể bằng cách sử dụng tùy chọn biên dịch -DHAVE_STRCHRNULL.
  • Cải tiến tính hiệu quả và chính xác của các hàm gợi ý SQL (khả năng (), có khả năng () và không ().
  • SQLITE_SOURCE_ID: "2015-01-16 12:08:06 7d68a42face3ab14ed88407d4331872f5b243fdf"
  • SHA1 cho sqlite3.c: 91aea4cc722371d58aae3d22e94d2a4165276905

Tính năng mới trong phiên bản 3.8.7.4:

  • Bản sửa lỗi bản phát hành này thêm vào một mutex được yêu cầu bởi các thay đổi của bản vá 3.8.7.3 nhưng bị bỏ qua vô tình. Các mutex đã không được yêu cầu bởi bất kỳ bài kiểm tra SQLite nội bộ, nhưng Firefox bị treo mà không có nó. Các trường hợp kiểm tra đã được thêm vào để đảm bảo rằng mutex không bao giờ bị mất nữa.

Tính năng mới trong phiên bản 3.8.7.3:

  • Sửa lỗi: Đảm bảo các đối tượng KeyInfo đã lưu trong bộ nhớ cache (không thể hiển thị trong ứng dụng) trong chế độ cache chung và thường xuyên đóng và mở lại một số kết nối cơ sở dữ liệu. liên tục. Vé e4a18565a36884b00edf.
  • Sửa lỗi: Nhận biết rằng bất kỳ cột nào trong bảng bên phải của LEFT JOIN có thể là NULL ngay cả khi cột có ràng buộc NOT NULL. Không áp dụng tối ưu hóa cho rằng cột không bao giờ là NULL. Vé 6f2222d550f5b0ee7ed.
  • SQLITE_SOURCE_ID: "2014-12-05 22:29:24 647e77e853e81a5effeb4c33477910400a67ba86"
  • SHA1 cho sqlite3.c: 3ad2f5ba3a4a3e3e51a1dac9fda9224b359f0261

Tính năng mới trong phiên bản 3.8.7.2:

  • Lý do chính cho bản phát hành này là tăng cường lệnh ROLLBACK để nó cho phép chạy các truy vấn trên cùng một kết nối cơ sở dữ liệu để tiếp tục chạy miễn là ROLLBACK không thay đổi lược đồ. Trong tất cả các phiên bản trước của SQLite, một ROLLBACK sẽ gây ra các truy vấn đang chờ để dừng ngay lập tức và trả về SQLITE_ABORT hoặc SQLITE_ABORT_ROLLBACK. Các truy vấn đang chờ xử lý vẫn bị hủy nếu ROLLBACK thay đổi giản đồ cơ sở dữ liệu, nhưng khi phát hành bản vá này, các truy vấn được phép tiếp tục chạy nếu lược đồ chưa được sửa đổi.
  • Ngoài việc nâng cấp ROLLBACK, bản vá này cũng bao gồm các bản sửa lỗi cho ba lỗi không rõ ràng.

Tính năng mới trong phiên bản 3.8.7.1:

  • Lý do chính cho bản phát hành sửa lỗi này là giải quyết vấn đề với việc cập nhật giá trị của các trường ở cuối bảng đã được thêm bằng ALTER TABLE ADD COLUMN. Vấn đề này 1 xuất hiện lần đầu trong bản phát hành 3.8.7.
  • Một sự khó chịu nhỏ khác trong bản phát hành 3.8.7 là việc xây dựng Android đã cố gắng sử dụng hàm strchrnul () từ thư viện C chuẩn nhưng chức năng đó không có sẵn trên Android. Các bản dựng Android phải thêm -DHAVE_STRCHRNUL = 0 để khắc phục sự cố. Bản vá này sửa lỗi để bản dựng Android sẽ hoạt động mà không có bất kỳ thay đổi nào.
  • Hoạt động của PRAGMA journal_mode = TRUNCATE đã được tăng cường để nó gọi fsync () sau khi cắt bớt tệp nhật ký khi PRAGMA đồng bộ = FULL. Điều này giúp duy trì độ bền giao dịch trong trường hợp mất điện xảy ra ngay sau khi cam kết.
  • Cuối cùng, một số vấn đề lâu dài và tối nghĩa liên quan đến chạy UPDATE và DELETE trên VIEWs đã được sửa.

Tính năng mới trong phiên bản 3.8.7:

  • Hầu hết các thay đổi từ bản phát hành trước đã được tối ưu hóa vi mô được thiết kế để giúp SQLite chạy nhanh hơn một chút. Mỗi tối ưu hóa riêng lẻ có một tác động hiệu suất không đáng kể nhỏ. Nhưng những cải tiến tăng lên. Được đo trên khối lượng công việc được xác định rõ (mà các nhà phát triển SQLite sử dụng như một proxy cho khối lượng công việc ứng dụng điển hình) sử dụng cachegrind trên Linux và được biên dịch với gcc 4.8.1 và -Os trên linux x64, bản phát hành hiện tại làm việc hơn 20% cùng số chu kỳ CPU so với bản phát hành trước đó. Cachegrind không phải là một CPU thực, và khối lượng công việc được sử dụng để đo lường chỉ là một proxy. Vì vậy, hiệu suất của bạn có thể khác nhau. Chúng tôi hy vọng sẽ thấy khoảng một nửa cải thiện được đo lường và được báo cáo trong các ứng dụng trong thế giới thực. 10% là dưới 20% nhưng nó vẫn còn khá tốt, chúng tôi nghĩ.
  • Phiên bản này bao gồm một bộ giao diện ngôn ngữ C mới có ký hiệu 64 bit thay vì các tham số chiều dài 32 bit đã ký. Các API mới không cung cấp bất kỳ khả năng mới nào. Nhưng chúng làm cho việc viết các ứng dụng có khả năng chống lại các lỗ hổng tràn số nguyên dễ dàng hơn.
  • Bản phát hành này cũng bao gồm một trình sắp xếp mới có thể sử dụng nhiều luồng để trợ giúp các thao tác sắp xếp lớn. (Các thao tác sắp xếp đôi khi được yêu cầu để thực hiện mệnh đề ORDER BY và / hoặc GROUP BY và hầu như luôn được yêu cầu cho CREATE INDEX.) Trình sắp xếp nhiều luồng được tắt theo mặc định và phải được bật bằng cách sử dụng lệnh PRAGMA threads SQL. Lưu ý rằng trình sắp xếp đa luồng cung cấp hiệu suất thời gian thực nhanh hơn cho các loại lớn, nhưng nó cũng sử dụng nhiều chu kỳ CPU hơn và nhiều năng lượng hơn.

Tính năng mới trong phiên bản 3.8.3.1:

  • Phiên bản SQLite 3.8.3.1 sửa lỗi trong các phiên bản 3.8.1, 3.8.2 và 3.8.3 có thể khiến các truy vấn bỏ qua các hàng hợp lệ. Bạn nên nâng cấp từ các phiên bản đó.
  • Vấn đề chỉ xuất hiện nếu SQLite được biên dịch với các tùy chọn biên dịch SQLITE_ENABLE_STAT3 hoặc SQLITE_ENABLE_STAT4. Trong trường hợp đó, nếu một truy vấn có mệnh đề WHERE có chứa các biểu thức như sau:
  • WHERE (expr1 HOẶC expr2 HOẶC ... HOẶC exprN) VÀ cột KHÔNG CÓ NULL
  • Trong đó tất cả expr1 qua exprN đều thích hợp để sử dụng bởi các chỉ mục, sau đó trong quá trình lập kế hoạch truy vấn, SQLite có thể nhầm lẫn chuyển đổi cụm từ "cột KHÔNG NULL" thành "cột & gt; NULL". Nhưng thuật ngữ thứ hai không bao giờ đúng và do đó truy vấn sẽ không trả về hàng nào.

Tính năng mới trong phiên bản 3.8.3:

  • Đã thêm hỗ trợ cho các biểu thức bảng chung và mệnh đề WITH.
  • Đã thêm hàm printf () SQL.
  • Đã thêm SQLITE_DETERMINISTIC làm bit tùy chọn trong đối số thứ tư vào giao diện sqlite3_create_function () và liên quan, cung cấp các ứng dụng có khả năng tạo các hàm mới có thể được tính ra khỏi vòng lặp bên trong khi chúng có đối số không đổi.
  • Thêm mã lỗi SQLITE_READONLY_DBMOVED, được trả lại ở đầu giao dịch, để cho biết rằng tệp cơ sở dữ liệu cơ sở đã được đổi tên hoặc di chuyển ra khỏi dưới SQLite.
  • Cho phép các biểu thức tùy ý, bao gồm các cuộc gọi chức năng và truy vấn phụ, trong đối số tên tệp thành ATTACH.
  • Cho phép mệnh đề VALUES được sử dụng ở bất kỳ nơi nào câu lệnh SELECT hợp lệ.
  • Reseed PRNG được sử dụng bởi sqlite3_randomness (N, P) khi được gọi với N == 0. Tự động reseed sau khi một ngã ba () trên unix.
  • Cải thiện bảng ảo của spellfix1 để nó có thể tìm kiếm hiệu quả theo hàng.
  • Cải tiến hiệu suất.
  • Cải tiến các nhận xét trong màn hình mã byte VDBE khi chạy EXPLAIN.
  • Thêm chỉ thị "% token_class" vào trình tạo trình phân tích cú pháp LEMON và sử dụng nó để đơn giản hóa ngữ pháp.
  • Thay đổi mã nguồn LEMON để tránh gọi các hàm C-library mà OpenBSD coi là nguy hiểm. (Ví dụ: sprintf).
  • Sửa lỗi: Trong tính năng nhập CSV shell dòng lệnh, không kết thúc một trường khi dấu ngoặc kép thoát kép xuất hiện ở cuối dòng CRLN.
  • SQLITE_SOURCE_ID: "2014-02-03 13:52:03 e816dd924619db5f766de6df74ea2194f3e3b538"
  • SHA1 cho sqlite3.c: 98a07da78f71b0275e8d9c510486877adc31dbee

Phần mềm tương tự

Apache Cassandra
Apache Cassandra

19 Feb 15

MemSQL
MemSQL

20 Feb 15

Emdros
Emdros

11 May 15

Ý kiến ​​để SQLite

Bình luận không
Nhập bình luận
Bật hình ảnh!