The OpenNET Project / Index page

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



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

"Выпуск СУБД 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

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

Оглавление

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

1. Сообщение от Аноним (-), 19-Июн-21, 13:10   –5 +/
> Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

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

А почему?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

3. Сообщение от Аноним (3), 19-Июн-21, 13:21   –1 +/
Это, конечно, было бы великолепно, но такой крупный проект наверняка само по себе было бы дорого переписывать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #4, #5

4. Сообщение от Аноним (4), 19-Июн-21, 13:59   +1 +/
Нет, конечно, на раст невозможно не то что переписать, а даже написать такой проект как SQLite.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #7

5. Сообщение от acroobat (??), 19-Июн-21, 14:03   –1 +/
Гугл все оплатит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

7. Сообщение от Fracta1L (ok), 19-Июн-21, 14:49   –5 +/
Припадки хейтеров Раста уже на конвульсии похожи
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #36

8. Сообщение от x3who (?), 19-Июн-21, 15:04   +5 +/
Перевод не очень удачный. У вьюх и поздапросов не может быть своих ROWIDов, поэтому обращаться к ним - плохая примета. Но, поскольку у корпорастов принято всё делать в трансанальном стиле, то для них оставили лазейку с опцией SQLITE_ALLOW_ROWID_IN_VIEW при включении которой они будут получать значение -1 (кажется).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #14, #19

12. Сообщение от Аноним (12), 19-Июн-21, 16:44   +/
Используют для разработки, кстати, fossil, а не git
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #15

13. Сообщение от Аноним (-), 19-Июн-21, 17:31   +2 +/
наверное потому что Рич написал fossil тоже
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #20

14. Сообщение от Аноним (-), 19-Июн-21, 17:32   +2 +/
ну в корпорастных как ты изволил выразиться базах вполне себе можно писать во вьюхи, что тут такого плохого. Если отношение не биективно, но тебе просто не даст писать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

15. Сообщение от Аноним (15), 19-Июн-21, 17:42   –2 +/
Лишь бы не rust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #17, #35

16. Сообщение от Аноним (17), 19-Июн-21, 18:15   –1 +/
Хорошая СУБД
Ответить | Правка | Наверх | Cообщить модератору

17. Сообщение от Аноним (17), 19-Июн-21, 18:16   +/
Почему?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #21

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

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

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

19. Сообщение от Михрютка (ok), 19-Июн-21, 22:19   +/
>>> У вьюх и поздапросов не может быть своих ROWIDов

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #23

20. Сообщение от Михрютка (ok), 19-Июн-21, 22:23   –1 +/
>>>потому что Рич написал fossil

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

21. Сообщение от Туши пукан (?), 19-Июн-21, 22:24   –2 +/
Rust его и многих других впопеннетчиц в детстве гнобил 🤣 Детские-с травмы, сэр!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

22. Сообщение от Аноним (22), 19-Июн-21, 23:40   –1 +/
Чем оно лучше firebird?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #26, #31

23. Сообщение от x3who (?), 20-Июн-21, 01:41   +1 +/
> 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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #24

24. Сообщение от x3who (?), 20-Июн-21, 02:15   +1 +/
Ну и до кучи проверил в постгресе пункт (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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

25. Сообщение от acroobatemail (??), 20-Июн-21, 06:41   –1 +/
Чем Dqlite не угодил?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27

26. Сообщение от Аноним (2), 20-Июн-21, 08:31   +1 +/
чем firebird ))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

27. Сообщение от Аноним (2), 20-Июн-21, 08:31   +2 +/
какой-то неведомый труп студента
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

28. Сообщение от kai3341 (ok), 20-Июн-21, 17:40   +/
Я снова упёрся рогом в отсутствие явных секвенсов =/

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #32

29. Сообщение от Аноним (29), 20-Июн-21, 18:25   +/
У тебя в языке нет мьютекса или переменных?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

30. Сообщение от iZENemail (ok), 20-Июн-21, 19:23   +/
Embarcadero сделала InterBase 2020, в том числе для Android. Зачем что-то ещё?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #34

31. Сообщение от Егор (??), 20-Июн-21, 22:37   +/
Удобвством интеграции в проект. Никаких пакетов и зависимостей. Один файл с исходным кодом на C и заголовочный, и sqlite используется в программе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

32. Сообщение от Егор (??), 20-Июн-21, 22:44   +/
Ты странный. sqlite не предназначен для параллельной модификации данных. Поэтому и генераторы уникальных последовательностей не нужны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #37

33. Сообщение от муу (?), 21-Июн-21, 03:28   +1 +/
дед, ты опять таблетки выпить забыл?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

34. Сообщение от Аноним (34), 21-Июн-21, 12:24   +/
проприетарный какашок.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

35. Сообщение от пох. (?), 24-Июн-21, 12:54   +/
Чувак, они tcl используют, настолько немодные. Хруст им не грозит еще лет сорок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

36. Сообщение от deeaitch (ok), 25-Июн-21, 22:11   +/
> Припадки хейтеров Раста уже на конвульсии похожи

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

37. Сообщение от kai3341 (ok), 04-Июл-21, 22:34   +/
> Ты странный. sqlite не предназначен для параллельной модификации данных. Поэтому и генераторы
> уникальных последовательностей не нужны.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32


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

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




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

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