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

Исходное сообщение
"Выпуск СУБД SQLite 3.36"

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

Подробнее: https://www.opennet.me/opennews/art.shtml?num=55354


Содержание

Сообщения в этом обсуждении
"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 13:10 
> Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум

надо было на Rust переписать,тогда бы деньги потекли рекой


"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 13:21 
Это, конечно, было бы великолепно, но такой крупный проект наверняка само по себе было бы дорого переписывать

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 13:59 
Нет, конечно, на раст невозможно не то что переписать, а даже написать такой проект как SQLite.

"Выпуск СУБД SQLite 3.36"
Отправлено Fracta1L , 19-Июн-21 14:49 
Припадки хейтеров Раста уже на конвульсии похожи

"Выпуск СУБД SQLite 3.36"
Отправлено deeaitch , 25-Июн-21 22:11 
> Припадки хейтеров Раста уже на конвульсии похожи

Как приятно когда есть на свете адекватные люди, скрывающие твои комментарии. Как всегда до безобразия глупые. Тем более что ты сам это понимаешь. Ты ведь ни один язык не осилил. Твоё тявканье про раст похоже на дёрганье беспомощьной амёбы


"Выпуск СУБД SQLite 3.36"
Отправлено acroobat , 19-Июн-21 14:03 
Гугл все оплатит.

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 13:20 
>> Обеспечена генерация ошибки при попытках доступа к идентификатору строки (rowid) в представлении (VIEW) или подзапросе. Для возвращения возможности доступа к rowid для представлений предусмотрена сборочная опцмия "-DSQLITE_ALLOW_ROWID_IN_VIEW"

А почему?


"Выпуск СУБД SQLite 3.36"
Отправлено x3who , 19-Июн-21 15:04 
Перевод не очень удачный. У вьюх и поздапросов не может быть своих ROWIDов, поэтому обращаться к ним - плохая примета. Но, поскольку у корпорастов принято всё делать в трансанальном стиле, то для них оставили лазейку с опцией SQLITE_ALLOW_ROWID_IN_VIEW при включении которой они будут получать значение -1 (кажется).

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 17:32 
ну в корпорастных как ты изволил выразиться базах вполне себе можно писать во вьюхи, что тут такого плохого. Если отношение не биективно, но тебе просто не даст писать

"Выпуск СУБД SQLite 3.36"
Отправлено Михрютка , 19-Июн-21 22:19 
>>> У вьюх и поздапросов не может быть своих ROWIDов

товарищ, у вас гибернатор разморозился.

1) нет причин, по которым single table view не может иметь rowid
2) rtfm://"updatable join view"


"Выпуск СУБД SQLite 3.36"
Отправлено x3who , 20-Июн-21 01:41 
> 1) нет причин, по которым single table view не может иметь rowid

Нет, запись в таблице может иметь rowid, и такое вполне себе работает в сабжевой версии:

create table test(i integer primary key, s text);

create view vtest as select rowid as 'rowid', i, s from test;

> 2) rtfm://"updatable join view"

The 'O' in "SQLite" stands for "Oracle". Вы, товарищ, многого ждёте от встраиваемой БД.
В SQLite вьюхи тупо не апдейтятся [1]. Но можно повесить триггер, который будет делать инсерт или апдейт соответствующей или вообще другой таблицы. Только вью не узнает что там в результате изменилось. Например продолжим издеваться над vtest созданным выше:

create trigger TTestInsert instead of insert on vtest begin insert into test values (new.i, 'LOL!'); end;

create trigger TTestUpdate instead of update on vtest begin update test set i=new.i, s='BWOGHAGHA' where i=old.i and s=old.s; end;

insert into vtest(s) values('x') returning *;
<null> | <null> | x

select * from vtest;
22 |22 | LOL!

update vtest set s='y' returning *;
<null> | 22 | y

select * from vtest;
22 | 22 | BWOGHAGHA

Вот как-то примерно так.


Список литературы:

[1] https://sqlite.org/omitted.html


"Выпуск СУБД SQLite 3.36"
Отправлено x3who , 20-Июн-21 02:15 
Ну и до кучи проверил в постгресе пункт (1)
Если явно не включать в текст запроса во вьюхе oid - то и в Pg заселектить его из вьюхи не получится, ровно как в SQLite:

create table test(i serial primary key, s text) with oids;
create view vtest as select * from test;

insert into vtest(s) values ('a') returning *; -- works
insert into vtest(s) values ('b') returning oid,*; -- failing
insert into  test(s) values ('c') returning oid,*; -- works

select oid, ctid, i, s from test;  -- works
select oid, i, s from vtest; -- failing

В Оракле проверять лень..


"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 16:44 
Используют для разработки, кстати, fossil, а не git

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 17:31 
наверное потому что Рич написал fossil тоже

"Выпуск СУБД SQLite 3.36"
Отправлено Михрютка , 19-Июн-21 22:23 
>>>потому что Рич написал fossil

господи и он фидошник штоль?


"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 17:42 
Лишь бы не rust

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 18:16 
Почему?

"Выпуск СУБД SQLite 3.36"
Отправлено Туши пукан , 19-Июн-21 22:24 
Rust его и многих других впопеннетчиц в детстве гнобил 🤣 Детские-с травмы, сэр!

"Выпуск СУБД SQLite 3.36"
Отправлено пох. , 24-Июн-21 12:54 
Чувак, они tcl используют, настолько немодные. Хруст им не грозит еще лет сорок.

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 18:15 
Хорошая СУБД

"Выпуск СУБД SQLite 3.36"
Отправлено Lex , 19-Июн-21 19:06 
Все-таки, неплохая БД.
На днях ее как раз поминал, когда потребовалось вытащить часть файлов из бэкапа яблочно устройства.. а там они - в каталогах с именами с 00 по ff, вместо имен файлов - хеши и без каких-либо расширений. Притом, все вперемешку от фоток и заметок и до смс'ок, контактов, закладок и приложений. Сопоставления между именами в резервной копии, реальным именем, адресом и к чему относится - в многомегабайтной БД.

Слава б.-гу, что, если где и попадаются встраиваемые бд, то это скорее всего "оно" и его запросто можно расковырять весьма обширным инструментарием, а то и скрипты какие-нибудь набросать по быстрому.


"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 19-Июн-21 23:40 
Чем оно лучше firebird?

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 20-Июн-21 08:31 
чем firebird ))

"Выпуск СУБД SQLite 3.36"
Отправлено Егор , 20-Июн-21 22:37 
Удобвством интеграции в проект. Никаких пакетов и зависимостей. Один файл с исходным кодом на C и заголовочный, и sqlite используется в программе.

"Выпуск СУБД SQLite 3.36"
Отправлено acroobat , 20-Июн-21 06:41 
Чем Dqlite не угодил?

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 20-Июн-21 08:31 
какой-то неведомый труп студента

"Выпуск СУБД SQLite 3.36"
Отправлено kai3341 , 20-Июн-21 17:40 
Я снова упёрся рогом в отсутствие явных секвенсов =/

На запрос в гугле `sqlite sequence` всплывает статья на сайте разработчика SQLite, где автор др*чит на автоинкременты.

Причём печаль в том, что автоинкремент фактически реализует функционал секвенса. В SQLite есть всё, чтобы реализовать явные секвенсы. Но их нет.


"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 20-Июн-21 18:25 
У тебя в языке нет мьютекса или переменных?

"Выпуск СУБД SQLite 3.36"
Отправлено Егор , 20-Июн-21 22:44 
Ты странный. sqlite не предназначен для параллельной модификации данных. Поэтому и генераторы уникальных последовательностей не нужны.

"Выпуск СУБД SQLite 3.36"
Отправлено kai3341 , 04-Июл-21 22:34 
> Ты странный. sqlite не предназначен для параллельной модификации данных. Поэтому и генераторы
> уникальных последовательностей не нужны.

сгенерируйте мне уникальную последовательность для НЕ первичного ключа? Например, для связи many-to-many?


"Выпуск СУБД SQLite 3.36"
Отправлено iZEN , 20-Июн-21 19:23 
Embarcadero сделала InterBase 2020, в том числе для Android. Зачем что-то ещё?

"Выпуск СУБД SQLite 3.36"
Отправлено муу , 21-Июн-21 03:28 
дед, ты опять таблетки выпить забыл?

"Выпуск СУБД SQLite 3.36"
Отправлено Аноним , 21-Июн-21 12:24 
проприетарный какашок.

а сабж давно под ведройдом работает...