The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от opennews (??) on 15-Окт-15, 12:26 
После двух лет существования ветки 3.8.x представлен (http://permalink.gmane.org/gmane.comp.db.sqlite.announce/50) релиз SQLite 3.9.0 (http://www.sqlite.org/releaselog/3_9_0.html), легковесной базы данных, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.


Нумерация версий SQLite отныне будет производиться в соответствии со спецификацией "Cемантическое версионирование (http://semver.org/lang/ru/)", подразумевающей (http://sqlite.org/versionnumbers.html) использование нотации X.Y.Z (вместо ранее используемой W.X.Y.Z), в которой X меняется при внесении изменений, нарушающих обратную совместимость, Y меняется при расширении функциональности и Z при исправлении ошибок. В выпуске SQLite 3.9.0 смена значительного номера версии обусловлена включением серии существенных улучшений, среди которых поддержка формата JSON, новый движок полнотекстового поиска FTS5, возможность создания индексов для выражений и поддержка использования функций с табличным значением.


Подробнее об изменениях:


-  В состав включён модуль json1 (http://sqlite.org/json1.html), активируемый на этапе компиляции опцией SQLITE_ENABLE_JSON1. Модуль включает набор функций для манипуляции данными в формате JSON, которые позволяют организовать обработку данного формата в SQL-запросах. При этом, вместо введения нового типа, работа с JSON симулируется поверх полей с типом text, т.е. в конфигурациях без модуля данные поля остаются доступны для разбора внешними инструментами. Пример перебора  значений в блоках JSON в SELECT-запросе:

<font color="#461b7e">
   SELECT DISTINCT user.name
    FROM user, json_each(user.phone)
    WHERE json_each.value LIKE '704-%';
</font>


-  В блоке "FROM" в составе запросов "SELECT" реализована возможность (http://sqlite.org/vtab.html#tabfunc2) использования функций с табличным значением (table-valued), которые выдают на выходе набор строк, воспринимаемый в запросе как вывод из виртуальной таблицы;
-  Интеграция FTS5 (http://sqlite.org/fts5.html), нового поколения движка полнотекстового поиска, в котором устранены некоторые концептуальные проблемы (http://sqlite.org/fts5.html#notoc6) движков FTS3/4, которые не удавалось решить без нарушения обратной совместимости. Например, для сокращения потребления памяти в FTS5 реализована техника инкрементальной загрузки списков в память, возможно определение наличия подмножества без полного перебора списка, преодалён лимит  SQLITE_MAX_LENGTH, добавлена поддержка сортировки по релевантности ("ORDER BY rank"), представлена возможность подключения собственных функций для расчёта веса результата и обработки текста. Модуль с реализаций FTS5 пока помечен как экспериментальный и требует сборки SQLite с опцией
SQLITE_ENABLE_FTS5;

-  Поддержка (http://sqlite.org/expridx.html) использования индексов для выражений (раньше создание индексов допускалось только для столбцов, но не для операций с ними). В качестве элемента индекса можно использовать функцию над столбцом или операции над столбцами. Например, индексы

<font color="#461b7e">
   CREATE INDEX acctchng_magnitude ON account_change(id, abs(amt));
   CREATE INDEX t2xy ON t2(x+y);
</font>

сработают при выполнении

<font color="#461b7e">
   SELECT * FROM account_change WHERE id=$xyz AND abs(amt)>=10000;    
   SELECT * FROM t2 WHERE y+x=22;
</font>


-  Поддержка (http://sqlite.org/vtab.html#epovtab) эпонимических (eponymous) виртуальных таблиц, которые автоматически присутствуют в схеме "main" при всех соединениях с БД, не требуя предварительного выполнения выражения "CREATE VIRTUAL TABLE". Имя эпонимической таблицы соответствует имени загружаемого модуля, реализующего данную таблицу;
-  В выражении "CREATE VIEW (http://sqlite.org/lang_createview.html)" теперь допустимо опционально указывать список имён столбцов, выводимых в данном представлении;
-  При создании представлений теперь можно ссылаться на неопределённые таблицы и функции - предупреждение об их отсутствии будет выведено при непосредственном использовании представления в запросе;

-  В планировщике запросов реализована возможность задействования частичных индексов (http://sqlite.org/partialindex.html), охватывающих подмножество строк, заданное через условие AND в блоке  WHERE;
-  В утилиту sqlite3_analyzer добавлен вывод уровня разветвления для btree и индексов;

-  Виртуальная таблица  dbstat (http://sqlite.org/dbstat.html) расширена для использования в качестве функции с табличным значением, в которых в качестве аргумента передаётся имя анализируемой схемы;


-  Устранена критическая ошибка в реализации расширения для шифрования данных (SQLite Encryption Extension), которая может привести к невозможности прочитать и восстановить содержимое БД после изменения размера шифрованного блок в процессе выполнения VACUUM.


URL: http://permalink.gmane.org/gmane.comp.db.sqlite.announce/50
Новость: https://www.opennet.ru/opennews/art.shtml?num=43140

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +4 +/
Сообщение от Аноним (??) on 15-Окт-15, 12:26 
ALTER TABLE они когда допилят?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Lester on 15-Окт-15, 12:52 
Полноценный и при том эффективный и корректный ALTER TABLE - сложная задача. Так что ИМХО в тройке его не стоит ждать. В четверке они пока тоже занимаются другими вещами. Потому ALTER TABLE RENAME с нами будет еще долго.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

26. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от arisu (ok) on 21-Окт-15, 10:54 
> ALTER TABLE они когда допилят?

зачем? если ты это делаешь настолько часто, что оно тебя волнует, то у меня для тебя очень плохие новости: метла заждалась.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Наркоман on 15-Окт-15, 12:34 
Я дожил до этого дня, ураааа!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –3 +/
Сообщение от Аноним (??) on 15-Окт-15, 12:58 
XML и HTML пусть еще добавят
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Аноним (??) on 15-Окт-15, 13:31 
> HTML

Ну уж нет... Точно нет.
> XML

А стоит ли?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Ури on 15-Окт-15, 14:08 
Это был сарказм.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

6. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +2 +/
Сообщение от Аноним (??) on 15-Окт-15, 13:04 
JSON добавили. А про такую структуру данных как массив они не знают... Я не против JSON, просто стоило сначала базовые структуры реализовать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +1 +/
Сообщение от тоже Аноним email(ok) on 15-Окт-15, 13:49 
JSON - это для тех, кому настолько надо именно его, что они готовы страдать.
А вот от базовых структур пользователи будут ожидать чудес, это совсем другой уровень.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Аноним (??) on 15-Окт-15, 15:57 
Дайте toml, не хипстеры чтоли? Страдать готов.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

15. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от тоже Аноним email(ok) on 15-Окт-15, 15:59 
Не дам, страдайте ;)
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

13. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +2 +/
Сообщение от MBG on 15-Окт-15, 15:44 
Ничего не мешает забиндить свои функции работы с массивами на любом языке - при этом получаем высокую скорость обработки для всех языков, а не только C. Как пример:
http://sqlite.mobigroup.ru/wiki?name=ext_tcl
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

25. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Аноним (??) on 16-Окт-15, 22:51 
Покажите мне пример бинда операторов [] и []= - это основные операторы работы с массивами.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от bOOster email(ok) on 15-Окт-15, 16:26 
Ну и куда ты придешь с этим? К LDAP?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

24. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Crazy Alex (ok) on 16-Окт-15, 12:39 
Если там вместо ASN.1 будет что-то хоть отдалённо человеческое - может, и неплохо бы
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

10. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Аноним (??) on 15-Окт-15, 14:08 
> новый движок полнотекстового поиска FTS5

Дайте два!111

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –5 +/
Сообщение от Аноним (??) on 15-Окт-15, 15:39 
eponymous переводится как одноимённый(-е), афтар ты бы хоть гуглом перевёл, пейсатель-перефодтчик.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Аноним (??) on 15-Окт-15, 17:05 
> eponymous переводится как одноимённый(-е), афтар ты бы хоть гуглом перевёл, пейсатель-перефодтчик.

А подумать о смысле не судьба прежде, чем рекомендовать дословный перевод?


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

19. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +2 +/
Сообщение от Аноним (??) on 15-Окт-15, 17:19 
> eponymous переводится как одноимённый(-е), афтар ты бы хоть гуглом перевёл, пейсатель-перефодтчик.

Проблема в том, что "одноимённые виртуальные таблицы" по смыслу совсем не то, что получается после такого перевода. Это не таблицы с одним именем, а таблицы имя которых совпадает с модулем, поэтому слово "одноимённые" для них неуместно. А вот "эпонимический" (http://dic.academic.ru/dic.nsf/efremova/282313), т.е. дающий имя другому явлению своё имя подходит отлично (имя таблице даётся по имени модуля).

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

21. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Аноним (??) on 15-Окт-15, 22:38 
А почему нельзя так и написать: "таблицы имя которых совпадает с модулем"?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

22. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +/
Сообщение от Аноним (??) on 16-Окт-15, 00:17 
Про это и так написано в пояснении, но само название таких таблиц раздувать до целого предложения смысла нет.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

20. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  +4 +/
Сообщение от Нимано on 15-Окт-15, 18:46 
> афтар ты бы хоть гуглом перевёл, пейсатель-перефодтчик.
>  хоть гуглом перевёл

Вы бы сначала домашку сделали, советчик вы наш.

Для школьников поясняю:
Гугол-перевод даже c аглицкого на французкий или немецкий частенько оччень  "доставляет", хотя как раз в ЕС документооборот на нескольких языках (и соответственно, качественный "ручной" перевод для накопления статистики  и т.д) – норма. А уж с русским языком ...

Простейший пример:
eponymous переводится как одноимённый(-е), афтар ты бы хоть гуглом перевёл, пейсатель-перефодтчик.
--
eponymous translated as the same name (e), you should at least author translated by Google, peysatel-perefodtchik.
--
обратно:
Одноименный переводится как же именем (е), вы должны по крайней мере, автор переведен Google, peysatel-perefodtchik.
--
Каким именем и кому кто что должен?


Не, если вам нравиться разгадывать шарады, то пожалуйста, вот вам некоторые перлы гуглоперевода оригинальной новости:
> Добавлена json1 модуля расширения в исходном дереве, и в объединении. Включить поддержку, используя опцию SQLITE_ENABLE_JSON1 время компиляции.
> Добавлена поддержка для одноименного виртуальных таблиц.
> ВЗГЛЯД теперь могут ссылаться на неопределенные таблицы и функции, когда первоначально создано.
> Отсутствующие таблицы и функции сообщается, когда вид используется в запросе.
> Добавлена sqlite3_value_subtype () и sqlite3_result_subtype (), сопряженного (используется расширение json1).
> Sqlite3_analyzer.exe утилита обновляется, чтобы сообщить глубину каждого BTree и показать средний разветвления для индексов и без таблиц ROWID.
> Улучшена dbstat виртуальную таблицу, так что он может быть использован в качестве стола-функции, где аргументом является схема для анализа.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

23. "Выпуск СУБД SQLite 3.9.0 с поддержкой JSON"  –1 +/
Сообщение от Аноним (??) on 16-Окт-15, 09:33 
Кто сказал H2?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2023 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру