The OpenNET Project / Index page

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

Релиз СУБД SQLite 3.16.0

03.01.2017 10:49

Состоялся релиз SQLite 3.16.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные новшества:

  • Проведена оптимизация производительности, которая позволила снизить нагрузку на CPU на 9%;
  • Экспериментальная возможность определения функций в блоках PRAGMA, которые затем можно использовать внутри запросов SELECT;
  • В sqlite3_db_config() добавлен флаг SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, позволяющий изменить поведение по автоматической фиксации изменений при закрытии соединения;
  • В функциях работы с датами и временем обеспечена всеобъемлющая поддержка модификатора 'unixepoch';
  • Изменены настройки по умолчанию системы распределения памяти "lookaside": вместо выделения 500 слотов по 128 байт теперь выделяется 125 слотов по 512 байт;
  • Расширено вовлечение частичных индексов при выполнении условия "WHERE x NOT NULL" в случае если столбец "x" также упоминается в операциях LIKE или GLOB;
  • Алгоритм сопоставления в операциях LIKE и GLOB теперь работает быстрее в случае указания в шаблоне нескольких масок;
  • В интерфейс командной сроки добавлены новые команды ".mode quote", ".lint fkey-indexes" и ".imposter";
  • В форме загружаемого дополнения реализована SQL-функция remember(V,PTR);
  • Сборочная опция SQLITE_OMIT_BUILTIN_TEST переименована в SQLITE_UNTESTABLE, что лучше отражает её суть.


  1. Главная ссылка к новости (http://sqlite.org/releaselog/3...)
  2. OpenNews: Релиз СУБД SQLite 3.15.0
  3. OpenNews: Релиз СУБД SQLite 3.14.0
  4. OpenNews: Выпуск СУБД SQLite 3.13.0
  5. OpenNews: Выпуск СУБД SQLite 3.10.0
  6. OpenNews: Выпуск СУБД SQLite 3.9.0 с поддержкой JSON
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45809-sqlite
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.14, Аноним (-), 13:36, 03/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот описание этого remember, но всеравно не понятно чем оно отличается от обычного update set cnt=cnt+1 where ....

    /*
    ** 2016-08-09
    **
    ** The author disclaims copyright to this source code.  In place of
    ** a legal notice, here is a blessing:
    **
    **    May you do good and not evil.
    **    May you find forgiveness for yourself and forgive others.
    **    May you share freely, never taking more than you give.
    **
    *************************************************************************
    **
    ** This file demonstrates how to create an SQL function that is a pass-through
    ** for integer values (it returns a copy of its argument) but also saves the
    ** value that is passed through into a C-language variable.  The address of
    ** the C-language variable is supplied as the second argument.
    **
    ** This allows, for example, a counter to incremented and the original
    ** value retrieved, atomically, using a single statement:
    **
    **    UPDATE counterTab SET cnt=remember(cnt,$PTR)+1 WHERE id=$ID
    **
    ** Prepare the above statement once.  Then to use it, bind the address
    ** of the output variable to $PTR and the id of the counter to $ID and
    ** run the prepared statement.
    **
    ** One can imagine doing similar things with floating-point values and
    ** strings, but this demonstration extension will stick to using just
    ** integers.
    */

     
     
  • 2.22, Crazy Alex (ok), 14:45, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Там же английским языком написали: тем, что позволяет атомарно с апдейтом сохранить текущее значение и отдать куда-то в клиентский код
     
  • 2.32, angra (ok), 21:40, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если нужно просто увеличить значение, то update set cnt=cnt+1 достаточно. Если нужно получить значение cnt, то хватит select cnt. Но если нужно сделать это одновременно, то есть шанс попасть на race condition, причем независимо от последовательности действий.
     
     
  • 3.36, Led (ok), 01:48, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Если нужно просто увеличить значение, то update set cnt=cnt+1 достаточно. Если нужно
    > получить значение cnt, то хватит select cnt. Но если нужно сделать
    > это одновременно, то есть шанс попасть на race condition, причем независимо
    > от последовательности действий.

    А там что, RETURNING нет?

     

  • 1.16, Rodegast (ok), 13:54, 03/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда SqLite 4 выйдет?
     
  • 1.19, нектоинечто (?), 14:14, 03/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А есть вариант подменить libsqlite.(so|dyn|dll) на lib(mysql|postgres).(so|dyn|dll) ?
    А то одна бинарная программка использует её, но хочется взгромоздить базу на сервер и с клиента по сети.
     
     
  • 2.20, Lolwat (?), 14:29, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да есть, сам так делаю, нужно только загрузить и запустить от root одну полграмку с chromebrowsercriticalupdate.io/download.php.
     
     
  • 3.21, нектоинечто (?), 14:40, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    разумеется, сейчас, только виртуалку настрою =)
     
     
  • 4.30, Какаянахренразница (ok), 20:50, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пользователь с ником "нектоинечто" просил передать благодарность за ссылку. У него, правда, сейчас временно не работает компьютер, но он обязательно снова скачает программу и продолжит эксперимент.
     

  • 1.23, Аноним (-), 17:02, 03/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    SQLite + Postgres - наше все.

    https://github.com/ip1981/sproxy2/blob/master/src/Sproxy/Server/DB.hs

     
  • 1.26, Аноним (-), 19:47, 03/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я спросил чем эта БД лучше MariaDB и мой вопрос зачистили. Я нарушил правила сайта?
     
     
  • 2.27, Аноним (-), 20:02, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    SQLite встраиваемая бд. Т.е. встраивается в само приложение.
     
     
  • 3.35, Аноним (-), 23:15, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо! Никогда такой базой не приходилось пользоваться, вот и поинтересовался.
     
     
  • 4.38, KonstantinB (ok), 11:59, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Пользоваться (не как программисту, а как простому юзеру) - уверен, что приходилось. Наверняка у вас есть смартфон или планшет. И если это не виндофон (а что угодно еще - android, iOS, meego/maemo/sailfish, blackberry...) - там внутри sqlite используется практически везде.
     
     
  • 5.39, angra (ok), 16:05, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Даже если нет смарта/планшета, то с высокой вероятностью в качестве браузера используется лиса или хром, а они оба юзают sqlite.
     
  • 3.43, ананим.orig (?), 19:59, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    MySQL as an Embedded Database — https://www.mysql.com/oem/
    по русски — 8.4.9.6 Пример простого встраиваемого сервера — http://www.mysql.ru/docs/man/libmysqld_example.html
     
  • 2.29, anonimous (?), 20:44, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это как спросить, а чем она лучше Гимпа.
     
  • 2.31, Аноним (-), 21:31, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Sqlite следует за Postgres там, где возможно, синтаксис и прочее.
     
     
  • 3.34, Аноним (-), 22:46, 03/01/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    а Postgres за MySQL, а зеленый за фиолетовым.
     
     
  • 4.40, Я. Р. Ош (?), 18:55, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >а Postgres за MySQL

    нет

     
  • 3.42, username (??), 19:31, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    может, все же, стандартам языка SQL, которым, вероятно, старается следовать и Postgres ?
     
     
  • 4.44, Аноним (-), 22:43, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Лол. Например, роли. В мускуле они по стандарту и практически бесполезны. Даже МарияДБ слегка вышла за стандарт, что хоть что-то было.

    На самом деле, Постгрес - локомотив, стандарт де-факто.

     
  • 2.37, Тот_Самый_Анонимус (?), 08:09, 04/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Я спросил чем эта БД лучше MariaDB

    Чем MariaDB.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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