SQLite 3.53.0 SQLite 3.53.0

9-Π³ΠΎ апрСля состоялся выпуск 3.53.0 ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΉ кроссплатформСнной встраиваСмой Π‘Π£Π‘Π” SQLite. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС C ΠΈ распространяСтся ΠΊΠ°ΠΊ общСствСнноС достояниС (public domain).

ИзмСнСния:

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ошибка WAL-reset database corruption bug. Π‘ΠΌ. ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ SQLite 3.51.3 с исправлСниСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ поврСТдСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ WAL.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° форматирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² SQL-запросов Query Result Formatter (QRF) для обСспСчСния удобства чтСния Π½Π° экранС с ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ фиксированной ΡˆΠΈΡ€ΠΈΠ½Ρ‹.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ format ΠΊ интСрфСйсу TCL для доступа ΠΊ QRF ΠΈΠ· TCL.
    • QRF Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² консольной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ sqlite для форматирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов, Ρ‡Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
  • НовыС возмоТности языка SQL:
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ возмоТности ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ALTER TABLE для обСспСчСния возмоТности добавлСния ΠΈ удалСния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ NOT NULL ΠΈ CHECK.
    • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ REINDEX EXPRESSIONS выполняСт ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ индСксов Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ПолСзно для восстановлСния ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… индСксов Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
    • Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ TEMP ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ/ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† основной схСмы.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° VACUUM INTO: Π² случаС использования Π² качСствС адрСса назначСния ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ URI, содСрТащСго ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса reserve=N (Π³Π΄Π΅ N β€” число ΠΎΡ‚ 0 Π΄ΠΎ 255), объСм рСзСрвирования для создаваСмой ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… устанавливаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ N.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SQL:
  • ОбновлСния Π² консольной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅:
    • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .mode.
    • Благодаря Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ QRF ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². НапримСр, числа Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°.
    • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ QRF Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ использовании консольной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов Π² Π±Π»ΠΎΠΊΠ°Ρ…, сформированных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символов Unicode рисования Π±Π»ΠΎΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ повысило Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ для обСспСчСния совмСстимости.
    • ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ (Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ) Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±Π΅Π· прСдупрСТдСния.  Это возмоТная Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ!
    • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .testcase ΠΈ .check. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² скриптах, входящих Π² стандартный Π½Π°Π±ΠΎΡ€ тСстов SQLite, входящих Π² исходныС ΠΊΠΎΠ΄Ρ‹.
    • АргумСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ шаблонам *.sql ΠΈΠ»ΠΈ *.txt ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΈΠΌΠ΅Π½Π° нСпустых Ρ„Π°ΠΉΠ»ΠΎΠ², ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ скрипты, содСрТащиС SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ/ΠΈΠ»ΠΈ [ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ]((https://sqlite.org/cli.html#dotcmd).
    • Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .timer ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ once для срабатывания Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ SQL-запроса.
    • Новый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€”timeout S ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .progress ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ выполнСния SQL-запросов ΠΏΠΎ истСчСнии S сСкунд.
    • Команда .indexes ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ PATTERN Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сопоставляСтся с ΠΈΠΌΠ΅Π½Π΅ΠΌ индСкса, Π° Π½Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ индСксируСмой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (благодаря Ρ‡Π΅ΠΌΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ PATTERN стал Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ .indexes Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ нСсколько Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² C API:
    • sqlite3_str_truncate()
    • sqlite3_str_free()
    • sqlite3_carray_bind_v2()
    • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sqlite3_prepare_v3() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция SQLITE_PREPARE_FROM_DDL, которая позволяСт рСализациям Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† бСзопасно ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° константа SQLITE_UTF8_ZT, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² функциях sqlite3_result_text64() ΠΈΠ»ΠΈ sqlite3_bind_text64() для указания, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² UTF-8 ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½ΡƒΠ»Π΅ΠΌ.
    • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sqlite3_limit() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция SQLITE_LIMIT_PARSER_DEPTH.
    • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sqlite3_db_config() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция SQLITE_DBCONFIG_FP_DIGITS. Π’Π°ΠΊΠΆΠ΅ см. Ρ‚Π°ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ 9b Π½ΠΈΠΆΠ΅.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° запросов:
    • Для EXCEPT, INTERSECT ΠΈ UNION всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки ΠΈ слияния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ использованиС Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° порядка join ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… многосторонних соСдинСний Π² Π·Π²Π΅Π·Π΄ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠΉ схСмС.
    • Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π° оптимизация прСобразования EXISTS Π² JOIN Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вставляСмыС условия JOIN Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ…, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ всС зависимости для Ρ†ΠΈΠΊΠ»ΠΎΠ² прСобразования EXISTS Π² JOIN находятся Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ….
    • Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π° оптимизация omit-noop-join Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ соСдинСний, Π½Π΅ Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
    • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запросов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… GROUP BY e1 ORDER BY e2, Π³Π΄Π΅ e1 ΠΈ e2 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ порядка сортировки ASC/DESC, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ индСкса.
    • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DISTINCT Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запроса Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ORDER BY.
  • Π’ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ сСанса Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ интСрфСйсы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ измСнСния ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ sqlite3_changegroup:
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ↔ тСкст.
    • Код ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ пСрСписан для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ производится Π΄ΠΎ 17 Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€ вмСсто 15, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ Π²ΠΎ всСх ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях. ΠŸΡ€ΠΈ нСобходимости это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sqlite3_db_config с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ SQLITE_DBCONFIG_FP_DIGITS (см. Ρ‚Π°ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ 6g Π²Ρ‹ΡˆΠ΅).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ самовосстановлСния индСкса для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… индСксов Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
  • Π’ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ sqlite3_rsync Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция -p|β€”port.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows RT.
  • JavaScript/WASM
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° VFS opfs-wl, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ идСнтичная opfs, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Web Locks, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ справСдливоС распрСдСлСниС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, Ρ‡Π΅ΠΌ Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ opfs. opfs-wl Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Atomics.waitAsync(), поэтому для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ вСрсии Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Ρ‡Π΅ΠΌ для opfs.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster