LINUX.ORG.RU

SQLite 3.48.0

 , , ,

SQLite 3.48.0

0

3

После месяца разработки состоялся выпуск 3.48.0 компактной встраиваемой СУБД SQLite, написанной на языке C и распространяемой, как общественное достояние.

Список изменений:

  • Переработка скрипта configure, используемого для сборки SQLite из исходного кода, с целью исправления ошибок, повышения производительности и улучшения сопровождаемости кода.
    • Это не влияет на скрипт configure в архиве sqlite3-autoconf-NNNNNNN.tar.gz, для которого система сборки не изменилась.
    • Ключевое новшество в том, что вместо GNU Autoconf теперь используется Autosetup.
    • Одним из преимуществ нового конфига является то, что больше не требуется устанавливать TCL для сборки большинства целей сборки SQLite. TCL по-прежнему требуется для запуска тестов или для сборки вспомогательных программ (например, sqlite3_analyzer), использующих TCL, но для большинства обычных целей сборки TCL не требуется. Таким образом, начиная с этого выпуска, единственными зависимостями для сборки являются компилятор C и make или nmake.
  • Улучшена команда EXPLAIN QUERY PLAN для индексов.
  • SQL-функция iif() теперь поддерживает два параметра. Также добавлена функция if(), как альтернатива iif().
  • В консольную утилиту sqlite3 добавлена команда .dbtotxt.
  • Добавлено свойство SQLITE_IOCAP_SUBPAGE_READ в метод xDeviceCharacteristics объекта sqlite3_io_methods.
  • Добавлена опция SQLITE_PREPARE_DONT_LOG к sqlite3_prepare_v3(), предотвращающая отправку предупреждений в журнал ошибок, если SQL-текст неправильно сформирован. Это позволяет использовать sqlite3_prepare_v3() для тестовой компиляции SQL-текста для проверки его корректности, не засоряя журнал ошибок ложными сообщениями.
  • Увеличено минимально допустимое значение параметра SQLITE_LIMIT_LENGTH с 1 до 30.
  • Добавлен опкод SQLITE_FCNTL_NULL_IO, устанавливающий низкоуровневый файловый дескриптор или файловый дескриптор для объекта sqlite3_file таким образом, что он больше не будет читать или записывать в файл базы данных.
  • Расширен вспомогательный API FTS5 xInstToken() для работы с префиксными запросами с помощью опции конфигурации insttoken и SQL-функции fts5_insttoken().
  • Максимальное количество аргументов для функций SQL увеличено со 127 до 1000.
  • Удалены остаточные следы SQLITE_USER_AUTHENTICATION.
  • Исправлены ошибки.

>>> Подробности

★★★★★

Проверено: CrX ()

Лучшая база данных.

Кстати, помимо основного предназначения можно в качестве калькулятора использовать, если на системе вдруг не оказалось bc:

sqlite3 /dev/null 'select atan(5)'
txgk
()

Увеличено минимально допустимое значение параметра SQLITE_LIMIT_LENGTH с 1 до 30.
The maximum size of any string or BLOB or table row, in bytes.

А зачем?

Максимальное количество аргументов для функций SQL увеличено со 127 до 1000.

Почему не до 1023?

mydibyje ★★★★
()
Ответ на: комментарий от mydibyje

А зачем?

Не нашёл.

Почему не до 1023?

Наверное, 1000 – для «круглости» числа. Можно увеличить.

https://sqlite.org/limits.html

  1. Maximum Number Of Arguments On A Function

The SQLITE_MAX_FUNCTION_ARG parameter determines the maximum number of parameters that can be passed to an SQL function. For many years, the default value was about 100 but the default was raised to 1000 beginning with SQLite version 3.48.0 (2025-01-14).

The number of arguments to a function is sometimes stored in a signed 16-bit integer. So there is a hard upper bound on SQLITE_MAX_FUNCTION_ARG of 32767.

The maximum number of arguments in a function can be lowered at run-time using the sqlite3_limit(db,SQLITE_LIMIT_FUNCTION_ARG,size) interface.

dataman ★★★★★
() автор топика

Хорошая БД, для хомячков типа меня в самый раз

I-Love-Microsoft ★★★★★
()

Удивительное рядом:

Тесты для самой популярной базы данных в мире написаны на язык TCL(!) https://github.com/sqlite/sqlite/tree/master/test

Больше подробностей о количестве тестов и методов тестирования https://www.sqlite.org/testing.html

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)
Ответ на: комментарий от gagarin0

Удивительное рядом: Тесты для самой популярной базы данных в мире написаны на язык TCL(!)

потому что

1) в Tcl исторически неплохое тестирование https://www.tcl-lang.org/man/tcl/TclCmd/tcltest.htm

2) команды разработчиков sqlite, tcl «дружат домами». А подчас одни и те-же лица

MKuznetsov ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.