Выпуск Π‘Π£Π‘Π” SQLite 3.38 ΠΈ Π½Π°Π±ΠΎΡ€Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ sqlite-utils 3.24

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· SQLite 3.38, лСгковСсной Π‘Π£Π‘Π”, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Код SQLite распространяСтся ΠΊΠ°ΠΊ общСствСнноС достояниС (public domain), Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ Π±Π΅Π·Π²ΠΎΠ·ΠΌΠ΅Π·Π΄Π½ΠΎ Π² Π»ΡŽΠ±Ρ‹Ρ… цСлях. Π€ΠΈΠ½Π°Π½ΡΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² SQLite осущСствляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ созданный консорциум, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ входят Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Adobe, Oracle, Mozilla, Bentley ΠΈ Bloomberg.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² -> ΠΈ ->>, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON. Бинтаксис Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² совмСстим с MySQL ΠΈ PostgreSQL.
  • Π’ основной состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON, для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π½Π΅Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ сборка с Ρ„Π»Π°Π³ΠΎΠΌ «-DSQLITE_ENABLE_JSON1». Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ JSON Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ «-DSQLITE_OMIT_JSON».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция unixepoch(), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ ΡΠΏΠΎΡ…Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя (число сСкунд с 1 января 1970 Π³ΠΎΠ΄Π°).
  • Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ «auto» ΠΈ «julianday».
  • SQL-функция printf() ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² format() для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ совмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π‘Π£Π‘Π” (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° старого ΠΈΠΌΠ΅Π½ΠΈ сохранСно).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ интСрфСйс sqlite3_error_offset() для упрощСния опрСдСлСния мСстополоТСния ошибок Π² запросС.
  • Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() ΠΈ sqlite3_vtab_in(), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² SQLITE_INDEX_CONSTRAINT_LIMIT ΠΈ SQLITE_INDEX_CONSTRAINT_OFFSET.
  • Π’ интСрфСйсС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки обСспСчСна коррСктная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° символов табуляции ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки Π² тСкстС, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌ Π² многостолбцовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° использования ΠΎΠΏΡ†ΠΈΠΉ «—wrap N», «—wordwrap on» ΠΈ «—quote» ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² нСсколько столбцов. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ .import обСспСчСна ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΠΌΡ‘Π½ столбцов.
  • Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ запросов для ускорСния выполнСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… аналитичСских запросов задСйствована вСроятностная структура bloom filter, примСняСмая для опрСдСлСния наличия элСмСнта Π² Π½Π°Π±ΠΎΡ€Π΅. Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ² UNION ΠΈ UNION ALL, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… выраТСния SELECT с сСкциями ORDER BY, задСйствовано сбалансированноС Π΄Π΅Ρ€Π΅Π²ΠΎ слияния.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ вСрсии Π½Π°Π±ΠΎΡ€Π° sqlite-utils 3.24, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для манипуляции Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с Π‘Π” SQLite. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ прямая Π·Π°Π»ΠΈΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… JSON, CSV ΠΈΠ»ΠΈ TSV Π² Ρ„Π°ΠΉΠ» Π‘Π” c автоматичСским созданиСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ схСмы хранСния, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ SQL-запросов Π½Π°Π΄ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ CSV, TSV ΠΈ JSON, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ полнотСкстового поиска Π² Π‘Π”, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ схСмы хранСния Π² ситуациях ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ALTER TABLE (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для измСнСния Ρ‚ΠΈΠΏΠ° столбцов), ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ столбцов Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

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