ืžื”ื“ื•ืจืช SQLite 3.40

ื”ื•ืฆืืช SQLite 3.40, DBMS ืงืœ ืžืฉืงืœ ืฉืชื•ื›ื ืŸ ื›ืกืคืจื™ื™ืช ืคืœืื’ื™ืŸ, ืคื•ืจืกืžื”. ืงื•ื“ SQLite ืžื•ืคืฅ ื‘ืจืฉื•ืช ื”ืฆื™ื‘ื•ืจ, ื›ืœื•ืžืจ. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ืœืœื ื”ื’ื‘ืœื•ืช ื•ืœืœื ืชืฉืœื•ื ืœื›ืœ ืžื˜ืจื”. ืชืžื™ื›ื” ืคื™ื ื ืกื™ืช ืœืžืคืชื—ื™ SQLite ื ื™ืชื ืช ืขืœ ื™ื“ื™ ืงื•ื ืกื•ืจืฆื™ื•ื ืฉื ื•ืฆืจ ื‘ืžื™ื•ื—ื“, ื”ื›ื•ืœืœ ื—ื‘ืจื•ืช ื›ืžื• ืื“ื•ื‘ื™, ืื•ืจืงืœ, ืžื•ื–ื™ืœื”, ื‘ื ื˜ืœื™ ื•ื‘ืœื•ืžื‘ืจื’.

ืฉื™ื ื•ื™ื™ื ืขื™ืงืจื™ื™ื:

  • ื”ื˜ืžื™ืข ืืช ื”ื™ื›ื•ืœืช ื”ื ื™ืกื™ื•ื ื™ืช ืœื”ื“ืจ SQLite ืœืงื•ื“ WebAssembly ื‘ื™ื ื™ื™ื ืฉื™ื›ื•ืœ ืœืจื•ืฅ ื‘ื“ืคื“ืคืŸ ืื™ื ื˜ืจื ื˜ ื•ืžืชืื™ื ืœืืจื’ื•ืŸ ืขื‘ื•ื“ื” ืขื ืžืกื“ ื”ื ืชื•ื ื™ื ืžืืคืœื™ืงืฆื™ื•ืช ืื™ื ื˜ืจื ื˜ ื‘ืฉืคืช JavaScript. ืžืคืชื—ื™ ืืชืจื™ื ืžืกื•ืคืงื™ื ืขื ืžืžืฉืง ืžื•ื ื—ื” ืขืฆืžื™ื ื‘ืจืžื” ื’ื‘ื•ื”ื” ืœืขื‘ื•ื“ื” ืขื ื ืชื•ื ื™ื ื‘ืกื’ื ื•ืŸ sql.js ืื• Node.js, ืขื˜ื•ืฃ ืขืœ API C ื‘ืจืžื” ื ืžื•ื›ื”, ื•ืžืžืฉืง API ื”ืžื‘ื•ืกืก ืขืœ ืžื ื’ื ื•ืŸ Web Worker ื”ืžืืคืฉืจ ืœืš ื›ื“ื™ ืœื™ืฆื•ืจ ืžื˜ืคืœื™ื ืืกื™ื ื›ืจื•ื ื™ื™ื ื”ืคื•ืขืœื™ื ืขืœ ืฉืจืฉื•ืจื™ื ื ืคืจื“ื™ื. ื ื™ืชืŸ ืœืื—ืกืŸ ืืช ื”ื ืชื•ื ื™ื ืฉื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ืžืื—ืกื ื™ื ื‘ื’ืจืกืช WASM ืฉืœ SQLite ื‘ืฆื“ ื”ืœืงื•ื— ื‘ืืžืฆืขื•ืช OPFS (Origin-Private FileSystem) ืื• ื”-window.localStorage API.
  • ื ื•ืกืคื” ืกื™ื•ืžืช ื”ืฉื—ื–ื•ืจ, ืฉื ื•ืขื“ื” ืœืฉื—ื–ืจ ื ืชื•ื ื™ื ืžืงื‘ืฆื™ื ืคื’ื•ืžื™ื ืžืžืกื“ ื”ื ืชื•ื ื™ื. ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” ืžืฉืชืžืฉ ื‘ืคืงื•ื“ื” ".recover" ื›ื“ื™ ืœืฉื—ื–ืจ.
  • ื‘ื™ืฆื•ืขื™ ืžืชื›ื ืŸ ืฉืื™ืœืชื•ืช ืžืฉื•ืคืจื™ื. ื”ื•ืกืจื• ื”ื’ื‘ืœื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืื™ื ื“ืงืกื™ื ืขื ื˜ื‘ืœืื•ืช ืขื ื™ื•ืชืจ ืž-63 ืขืžื•ื“ื•ืช (ื‘ืขื‘ืจ ืœื ื”ื•ื—ืœ ื”ื•ืกืคื” ืœืื™ื ื“ืงืก ืขื‘ื•ืจ ืคืขื•ืœื•ืช ืขื ืขืžื•ื“ื•ืช ืฉืžืกืคืจืŸ ื”ืกื™ื“ื•ืจื™ ืขืœื” ืขืœ 63). ืื™ื ื“ืงืก ืžืฉื•ืคืจ ืฉืœ ืขืจื›ื™ื ื”ืžืฉืžืฉื™ื ื‘ื‘ื™ื˜ื•ื™ื™ื. ื”ืคืกื™ืง ืœื˜ืขื•ืŸ ืžื—ืจื•ื–ื•ืช ื•ื›ืชืžื™ื ื’ื“ื•ืœื™ื ืžื”ื“ื™ืกืง ื‘ืขืช ืขื™ื‘ื•ื“ ืื•ืคืจื˜ื•ืจื™ื NOT NULL ื•-IS NULL. ืœื ื ื›ืœืœ ื”ืชืžืžืฉื•ืช ืฉืœ ืชืฆื•ื’ื•ืช ืฉืขื‘ื•ืจืŸ ืžืชื‘ืฆืขืช ืกืจื™ืงื” ืžืœืื” ืคืขื ืื—ืช ื‘ืœื‘ื“.
  • ื‘ื‘ืกื™ืก ื”ืงื•ื“, ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘ืกื•ื’ "char *", ืกื•ื’ ื ืคืจื“ sqlite3_filename ืžืฉืžืฉ ืœื™ื™ืฆื•ื’ ืฉืžื•ืช ืงื‘ืฆื™ื.
  • ื ื•ืกืคื” ืคื•ื ืงืฆื™ื” ืคื ื™ืžื™ืช ืฉืœ sqlite3_value_encoding().
  • ื ื•ืกืฃ ืžืฆื‘ SQLITE_DBCONFIG_DEFENSIVE, ื”ืื•ืกืจ ืขืœ ืฉื™ื ื•ื™ ื’ืจืกืช ืกื›ื™ืžืช ื”ืื—ืกื•ืŸ.
  • ื‘ื“ื™ืงื•ืช ื ื•ืกืคื•ืช ื ื•ืกืคื• ืœื™ื™ืฉื•ื ื”ืคืจืžื˜ืจ "PRAGMA integrity_check". ืœื“ื•ื’ืžื”, ื˜ื‘ืœืื•ืช ืœืœื ื”ืชื›ื•ื ื” STRICT ืœื ื—ื™ื™ื‘ื•ืช ืœื”ื›ื™ืœ ืขืจื›ื™ื ืžืกืคืจื™ื™ื ื‘ืขืžื•ื“ื•ืช TEXT ื•ืขืจื›ื™ ืžื—ืจื•ื–ืช ืขื ืžืกืคืจื™ื ื‘ืขืžื•ื“ื•ืช NUMERIC. ื›ืžื• ื›ืŸ ื ื•ืกืคื• ืœื‘ื“ื•ืง ืืช ื ื›ื•ื ื•ืช ืกื“ืจ ื”ืฉื•ืจื•ืช ื‘ื˜ื‘ืœืื•ืช ืขื ื”ืชื›ื•ื ื” "WITHOUT ROWID".
  • ื”ื‘ื™ื˜ื•ื™ "VACUUM INTO" ืžื›ื‘ื“ ืืช ื”ื’ื“ืจื•ืช "PRAGMA synchronous".
  • ื ื•ืกืคื” ืืคืฉืจื•ืช ื‘ื ื™ื™ื” SQLITE_MAX_ALLOCATION_SIZE ื›ื“ื™ ืœื”ื’ื‘ื™ืœ ืืช ื’ื•ื“ืœ ื”ื‘ืœื•ืง ื‘ืขืช ื”ืงืฆืืช ื–ื™ื›ืจื•ืŸ.
  • ื”ืืœื’ื•ืจื™ืชื ืœื”ืคืงืช ืžืกืคืจื™ื ืคืกืื•ื“ื• ืืงืจืื™ื™ื ื”ืžื•ื‘ื ื” ื‘-SQLite ื”ื•ืขื‘ืจ ืžืฉื™ืžื•ืฉ ื‘ืฆื•ืคืŸ ื”ื–ืจื RC4 ืœ-Chacha20.
  • ืžื•ืชืจ ืœื”ืฉืชืžืฉ ื‘ืื™ื ื“ืงืกื™ื ืขื ืื•ืชื• ืฉื ื‘ืกื›ื™ืžื•ืช ื ืชื•ื ื™ื ืฉื•ื ื•ืช.
  • ื‘ื•ืฆืขื• ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉืœ ื‘ื™ืฆื•ืขื™ื ื›ื“ื™ ืœื”ืคื—ื™ืช ืืช ื”ืขื•ืžืก ืขืœ ื”ืžืขื‘ื“ ื‘ื›-1% ื‘ืžื”ืœืš ืคืขื™ืœื•ืช ื˜ื™ืคื•ืกื™ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”