URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110084
[ Назад ]

Исходное сообщение
"Релиз СУБД SQLite 3.16.0"

Отправлено opennews , 03-Янв-17 11:08 
Состоялся (http://sqlite.org/releaselog/3_16_0.html) релиз SQLite 3.16.0 (http://sqlite.org/), легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные новшества (http://sqlite.org/releaselog/3_16_0.html):

-  Проведена оптимизация производительности, которая позволила (http://sqlite.org/cpu.html) снизить нагрузку на CPU на 9%;


-  Экспериментальная возможность определения функций (http://sqlite.org/pragma.html#pragfunc) в блоках PRAGMA, которые затем можно использовать внутри запросов SELECT;

-  В sqlite3_db_config() добавлен флаг SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE (http://sqlite.org/c3ref/c_dbconfig_enable_fkey.html), позволяющий изменить поведение по автоматической фиксации изменений при закрытии соединения;

-  В функциях работы с датами и временем обеспечена всеобъемлющая поддержка модификатора 'unixepoch';

-  Изменены настройки по умолчанию системы распределения памяти "lookaside (http://sqlite.org/malloc.html#lookaside)": вместо выделения 500 слотов по 128 байт теперь выделяется 125 слотов по 512 байт;


-  Расширено вовлечение частичных индексов при выполнении условия "WHERE x NOT NULL" в случае если столбец "x"  также упоминается в операциях LIKE или GLOB;


-  Алгоритм сопоставления в операциях LIKE и GLOB теперь работает быстрее в случае указания в шаблоне нескольких масок;

-  В интерфейс (http://sqlite.org/cli.html) командной сроки добавлены новые команды ".mode quote",
".lint fkey-indexes" и ".imposter (http://sqlite.org/imposter.html#dotimposter)";

-  В форме загружаемого дополнения реализована SQL-функция remember(V,PTR) (https://www.sqlite.org/src/file/ext/misc/remember.c);
-  Сборочная опция SQLITE_OMIT_BUILTIN_TEST переименована в SQLITE_UNTESTABLE (http://sqlite.org/compile.html#untestable), что лучше отражает её суть.

URL: http://sqlite.org/releaselog/3_16_0.html
Новость: http://www.opennet.me/opennews/art.shtml?num=45809


Содержание

Сообщения в этом обсуждении
"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 13:36 
вот описание этого 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.
*/


"Релиз СУБД SQLite 3.16.0"
Отправлено Crazy Alex , 03-Янв-17 14:45 
Там же английским языком написали: тем, что позволяет атомарно с апдейтом сохранить текущее значение и отдать куда-то в клиентский код

"Релиз СУБД SQLite 3.16.0"
Отправлено angra , 03-Янв-17 21:40 
Если нужно просто увеличить значение, то update set cnt=cnt+1 достаточно. Если нужно получить значение cnt, то хватит select cnt. Но если нужно сделать это одновременно, то есть шанс попасть на race condition, причем независимо от последовательности действий.

"Релиз СУБД SQLite 3.16.0"
Отправлено Led , 04-Янв-17 01:48 
> Если нужно просто увеличить значение, то update set cnt=cnt+1 достаточно. Если нужно
> получить значение cnt, то хватит select cnt. Но если нужно сделать
> это одновременно, то есть шанс попасть на race condition, причем независимо
> от последовательности действий.

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


"Релиз СУБД SQLite 3.16.0"
Отправлено Rodegast , 03-Янв-17 13:54 
Когда SqLite 4 выйдет?

"Релиз СУБД SQLite 3.16.0"
Отправлено нектоинечто , 03-Янв-17 14:14 
А есть вариант подменить libsqlite.(so|dyn|dll) на lib(mysql|postgres).(so|dyn|dll) ?
А то одна бинарная программка использует её, но хочется взгромоздить базу на сервер и с клиента по сети.

"Релиз СУБД SQLite 3.16.0"
Отправлено Lolwat , 03-Янв-17 14:29 
Да есть, сам так делаю, нужно только загрузить и запустить от root одну полграмку с chromebrowsercriticalupdate.io/download.php.

"Релиз СУБД SQLite 3.16.0"
Отправлено нектоинечто , 03-Янв-17 14:40 
разумеется, сейчас, только виртуалку настрою =)

"Релиз СУБД SQLite 3.16.0"
Отправлено Какаянахренразница , 03-Янв-17 20:50 
Пользователь с ником "нектоинечто" просил передать благодарность за ссылку. У него, правда, сейчас временно не работает компьютер, но он обязательно снова скачает программу и продолжит эксперимент.

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 17:02 
SQLite + Postgres - наше все.

https://github.com/ip1981/sproxy2/blob/master/src/Sproxy/Ser...


"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 19:47 
Я спросил чем эта БД лучше MariaDB и мой вопрос зачистили. Я нарушил правила сайта?

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 20:02 
SQLite встраиваемая бд. Т.е. встраивается в само приложение.

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 23:15 
Спасибо! Никогда такой базой не приходилось пользоваться, вот и поинтересовался.

"Релиз СУБД SQLite 3.16.0"
Отправлено KonstantinB , 04-Янв-17 11:59 
Пользоваться (не как программисту, а как простому юзеру) - уверен, что приходилось. Наверняка у вас есть смартфон или планшет. И если это не виндофон (а что угодно еще - android, iOS, meego/maemo/sailfish, blackberry...) - там внутри sqlite используется практически везде.

"Релиз СУБД SQLite 3.16.0"
Отправлено angra , 04-Янв-17 16:05 
Даже если нет смарта/планшета, то с высокой вероятностью в качестве браузера используется лиса или хром, а они оба юзают sqlite.

"Релиз СУБД SQLite 3.16.0"
Отправлено ананим.orig , 04-Янв-17 19:59 
MySQL as an Embedded Database — https://www.mysql.com/oem/
по русски — 8.4.9.6 Пример простого встраиваемого сервера — http://www.mysql.ru/docs/man/libmysqld_example.html

"Релиз СУБД SQLite 3.16.0"
Отправлено anonimous , 03-Янв-17 20:44 
Это как спросить, а чем она лучше Гимпа.

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 21:31 
Sqlite следует за Postgres там, где возможно, синтаксис и прочее.

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 03-Янв-17 22:46 
а Postgres за MySQL, а зеленый за фиолетовым.

"Релиз СУБД SQLite 3.16.0"
Отправлено Я. Р. Ош , 04-Янв-17 18:55 
>а Postgres за MySQL

нет


"Релиз СУБД SQLite 3.16.0"
Отправлено username , 04-Янв-17 19:31 
может, все же, стандартам языка SQL, которым, вероятно, старается следовать и Postgres ?

"Релиз СУБД SQLite 3.16.0"
Отправлено Аноним , 04-Янв-17 22:43 
Лол. Например, роли. В мускуле они по стандарту и практически бесполезны. Даже МарияДБ слегка вышла за стандарт, что хоть что-то было.

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


"Релиз СУБД SQLite 3.16.0"
Отправлено Тот_Самый_Анонимус , 04-Янв-17 08:09 
>Я спросил чем эта БД лучше MariaDB

Чем MariaDB.