to post messages and comments.

@Bazileus:

Есть спецы по этой БД? Есть таблица с полем id и автоинкрементом, уникальным номером клиента, и доп данными. Очень интересует как можно выполнить вставку так, что если введено неуникальное значение, то данные в строке изменились, но без изменения значения последовательности? А то смотрю в sqlite_sequence для этой таблицы seq увеличивается... Пробовал INSERT OR REPLACE , но в этом случае строка сначала удаляется, и вставляется уже с новыми данными

@paulfertser:

Лёгкий OpenID сервер, зависит от Perl, некоторых модулей из CPAN, SQlite и mod_rewrite из Apache: gitorious.org

@GovnoMor:

жуйк, где найти пиздатую CMS для создания визиток? единственное условие — без mySQL. То есть, либо SQLite, либо XML, либо flat file. Спасибо.

@maximko:

Запилил sqlite3 базу вот с этими данными: rossvyaz.ru Если кому надо — выложу.

@amyodov:

SQLite пошёл по пути web-scale баз (типа MongoDB) и, начиная с вышедшей 4 дня назад версии 3.7.17, научился использовать memory-mapped файлы (вместо всяких пошлых read()/write()). В отдельных случаях производительность повышается чуть ли не двукратно. sqlite.org

@Commaster:

Репозитарий и разработка самой мощной библиотеки *SQLite для *Java перекочевала на *BitBucket, чему я несказанно рад. ^_^

@helgi:

Мне только что адски помог group_concat.

@skobkin-ru:

Жуйк, чем под виндой принято ковыряться в SQLite базах?

@folex:

Арррргх. Ебаное говно. Переводит цшарпный код в скулайтный запрос на лету, вместо того, что бы сначала получать значения — это класс. Особенно если делать это ВСЕГДА, даже тогда, когда НЕ МОЖЕШЬ. Нет команды huygovnoequals в скулайте? Нет, мы не преобращуем ленивый запрос в данные, и не попробуем применить операцию для них, НЕТ. МЫ ХУЙНЕМ ЭКСЕПШН. А ЛУЧШЕ ДВА.

@OCTAGRAM:

sqlite.org
Locking and concurrency control are handled by the pager module. The pager module is responsible for making SQLite "ACID" (Atomic, Consistent, Isolated, and Durable). The pager module makes sure changes happen all at once, that either all changes occur or none of them do, that two or more processes do not try to access the database in incompatible ways at the same time, and that once changes have been written they persist until explicitly deleted. The pager also provides a memory cache of some of the contents of the disk file.
The pager is unconcerned with the details of B-Trees, text encodings, indices, and so forth. From the point of view of the pager the database consists of a single file of uniform-sized blocks. Each block is called a "page" and is usually 1024 bytes in size. The pages are numbered beginning with 1. So the first 1024 bytes of the database are called "page 1" and the second 1024 bytes are call "page 2" and so forth. All other encoding details are handled by higher layers of the library. The pager communicates with the operating system using one of several modules (Examples: os_unix.c, os_win.c) that provides a uniform abstraction for operating system services.
The pager module effectively controls access for separate threads, or separate processes, or both. Throughout this document whenever the word "process" is written you may substitute the word "thread" without changing the truth of the statement.

Интересный модуль. Особенно, если хранить данные в своих форматах (/me косо поглядывает на bitcoind)

@k0st1x:

только что заметил, что на офф сайте sqlite доступна для скачивания версия для win8 winrt

т.е. есть люди, которые на под winrt что то пишут

@k0st1x:

внезапно узнал, что sqlite не работает на .net framework 4 (

@TheKinematiX:

Он что полметра весит? О_о

@Marchael:

Не нашел лучше ничего кроме как пересобрать ulogd c --with-sqlite3-log-ip-as-string
БД стала расти быстрее, но в общем это приемлемо. Зато скорость select`а по ip_saddr и ip_daddr заметно подросла. ЧЯДНТ?

@Marchael:

Замечали, что некоторые сконвертированные ipv4 адреса в sqlite отрицательные? Есть workaround как сделать обратное преобразование для них?

@vbooh:

Обнаружил для себя коварную особенность SQL, в частности в sqlite: автоматическое удаление нулей в начале числа, которое указано как искомое и без кавычек.
Например, если в SELECT'е указать для поиска числовое значение с нулями в начале и без кавычек, а искомое значение хранится в текстовом столбце, то поиск будет неудачным. Что, конечно, верно, т.к. либо надо искать строку и, следовательно, заключать её в кавычки, либо надо иметь числовой столбец. Однако до меня это не сразу дошло.
CREATE TABLE Events (group_uid TEXT);
INSERT INTO Events VALUES ('0269236');
SELECT group_uid FROM Events WHERE group_uid=0269236;
— Ничего не в результате.
SELECT group_uid FROM Events WHERE group_uid='0269236';
0269236
— Искомое значение.

@Stiletto:

SQLite это такая SQL-библиотека, которую 95% людей юзают в приложениях, в которых SQL ВООБЩЕ БЛЯТЬ НАХУЙ НЕ НУЖЕН, СУКА

@zeks:

Подскажите — есть ли возможность использовать один триггер для нескольких таблиц?

@gelin:

В андроидовом SQLite нет не только on delete cascade, но и просто рекурсивных триггеров.

@stanis:

@birariver интересуется, бывают ли гуишные интерфейсы для sqlite3. Я лично не знаю, плотно с ним не работал, консольки хватало...

@gelin:

Поймал тут красоту:
Failure 21 (out of memory) on 0x0 when preparing 'BEGIN EXCLUSIVE;'.Все, оказывается, просто: stackoverflow.com
Хм... Буду проверять.
Вообще интересно, позволительно ли SQLiteную базу из одного процесса кучу раз открывать и закрывать?

@Kxepal:

Создатели CouchDB и SQLite представили UnQL, аналог SQL для систем NoSQL
opennet.ru

Компания Couchbase, развивающая такие системы, как CouchDB, Memcached и Membase, анонсировала создание нового языка запросов — UnQL (Unstructured Data Query Language), напоминающего SQL, но ориентированного на работу с неструктурированными данными. Проект выполнен совместными усилиями Ричарда Гиппа (Richard Hipp), создателя SQLite, и Дэмиена Каца (Damien Katz), основателя проекта CouchDB. Разработка передана сообществу в виде общественного достояния.

Основной целью разработки было создание для NoSQL-систем привычного и стандартизованного языка для определения и манипулирования данными. UnQL выступает в роли неструктурированного эквивалента SQL и призван заполнить образовавшуюся нишу, связанную с отсутствием единой формы задания модели данных и языка запросов, которые могли бы стать стандартом для нереляционных баз данных, манипулирующих неструктурированными данными в формате ключ/значение.

@aix27249:

Какой идиот придумал, что индексы в sqlite3_bind_* считаются с единицы, а не с нуля?

@amyodov:

Одна из причин, почему мне не нравится SQLite: goo.gl

@gelin:

ВНЕЗАПНО в Android (1.5) SQLite version 3.5.9. Foreign key — нема.

@Kibab:

> head -n9 /usr/local/include/sqlite3.h
/*
** 2001 September 15
**
** 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.

Вот это круто, я считаю. Fuck you GPL.

@amyodov:

А вы знаете, что если на goo.gl написано, что индекс при LIKE/GLOB поиске в SQLite3 будет использоваться при "2. The right-hand side of the LIKE or GLOB must be either a string literal or a parameter bound to a string literal that does not begin with a wildcard character", то... они именно это и имеют в виду? И, например, если WHERE filetable.pathfield GLOB '/home/markzucker/' будет использовать индекс, то, например, WHERE filetable.pathfield GLOB '/home/markzucker/' || '' уже не будет?..

@amyodov:

Перешёл со встроенного в Python модуля sqlite3 на pysqlite2. Кто бы мог подумать, что оно мне понадобится…

@amyodov:

В долбанном SQLite3 нет функции нахождения подстроки в строке. Ненавижу!

@ComradeDOS:

SQLite позволяет много вольностей. Помни об этом!

@Akademic:

Gajim хранит логи в sqlite. Интересно когда это начнёт тормозить...
Хотя разработчиков я вполне понимаю. Удобно жеж.

@gelraen:

howfuckedismydatabase.com

@gelraen:

Жуйк, ты гонял когда-нибудь BDB и/или SQLite под хорошей нагрузкой? Интересует сможет ли оно вменяемо добавлять 10-20 тысяч записей в секунду и паралельно делать поиск по тому же масиву данных.

@chemikadze:

Жуйк, я правильно понимаю, что текущая реализация QSqlite при открытии транзакции ждет, если другая программа имеет незакрытую транзакцию? Вообще, стоит задача запилить очередь сообщений для нескольких локальных клиентов на одной машине, текущая реализация с одним клиентом использовала сабж.
Указания на то, что это извращение, без примеров можно не постить.

@infidel:

У Чака Норриса, как известно, каждое яйцо больше другого. А вот у SQLite наоборот — каждый NULL меньше любого другого. Удивительное — оно рядом, достаточно просто почитать инструкцию ;)
sqlite.org
==
3.0 Comparison Expressions
SQLite version 3 has the usual set of SQL comparison operators. The results of a comparison depend on the storage classes of the operands, according to the following rules:
1. A value with storage class NULL is considered less than any other value (including another value with storage class NULL).
==

@Gordio:

В общем данных копейки были но каждый занял места по своему :)
PostgreSQL : 6.2 MB vs SQLite : 90KB vs MySQL : 66KB

@stanis:

Вон, народ массово ругает bzr. А мне, например, очень не понравился monotone. За sqlite и за здоровущий размер базы у долго живущего проекта. Может, чего-то не понимаю, но, кажется, вечно жить мне на git. ;)
Да и вообще, на sqlite какая-то нездоровая мода. @alv недавно показал: у empathy, который, как мне казалось, вообще должен быть простейшим, лог частично в sqlite хранится. А частично в текстовых файлах. Зачем? Чтоб було? Непонятно.

@stanis:

На практике, желательно придерживаться размера SQLite базы меньше 100 гигабайт для избежания проблем производительности.

@DeeZ:

Как из базы данных SQLite, из таблицы DETAILS удалить строку с ID 1290?
Ключ — первый столбец, он же ID.

@deadlink:

Мой новый php класс для автоматического составления SQL запросов на основе построеной "цепочки" параметров и выполнения запросов через подключаемый драйвер БД.
Если есть желающие потестить или ознакомиться:
code.google.com