SQLite 3.53.0 SQLite 3.53.0

На 9 Π°ΠΏΡ€ΠΈΠ» бСшС пусната вСрсия 3.53.0 Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π°Ρ‚Π° кросплатформСна Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π‘Π£Π‘Π” SQLite. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π΅ написан Π½Π° C ΠΈ сС разпространява ΠΊΠ°Ρ‚ΠΎ общСствСно достояниС (public domain).

ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • ΠŸΠΎΠΏΡ€Π°Π²Π΅Π½Π° Π΅ Π³Ρ€Π΅ΡˆΠΊΠ° Π±Π°Π³ с корупция ΠΏΡ€ΠΈ Π½ΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° WAL Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΈΠΆΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° Π½ΠΎΠ²ΠΈΠ½Π° SQLite 3.51.3 с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ° Π·Π° възмоТно ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ WAL.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ SQL заявки Π€ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ заявки (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() , Π·Π° Π΄Π° сС ΡƒΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ стойността Π΅ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½a Π² 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