powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Сборки SQLite
57 сообщений из 57, показаны все 3 страниц
Сборки SQLite
    #36762866
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладываю мою сборку SQLite 3.7.0 c ICU для WINDOWS
Опции компиляции:
ENABLE_COLUMN_METADATA;
ENABLE_FTS3;
ENABLE_ICU;
ENABLE_RTREE;
TEMP_STORE=1;
THREADSAFE=1.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36794586
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сборка SQLite 3.7.0.1 c ICU для ОС WINDOWS
Опции компиляции:
ENABLE_COLUMN_METADATA
ENABLE_FTS3
ENABLE_ICU
ENABLE_LOAD_EXTENSION
ENABLE_RTREE
TEMP_STORE=1
THREADSAFE=1
...
Рейтинг: 0 / 0
Сборки SQLite
    #36796656
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Alexbootch,

Дело хорошее, но стоило бы еще размер страницы и кэша подкрутить.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36796660
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGAlexbootch,

Дело хорошее, но стоило бы еще размер страницы и кэша подкрутить.

Какой размер страницы и кэша нужно?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36798214
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
AlexbootchКакой размер страницы и кэша нужно?

Для PostgreSQL, MS SQL и, возможно, других популярных СУБД размер страницы 8к. По моим тестам - для эскулайт оптимален этот же размер, скорость работы с диском утраивается по сравнению с дефолтовой страницей 1к.

Что касается размера кэша, тут интереснее. Увеличив в 8 раз размер страницы, мы во столько же раз увеличили размер кэша. По умолчанию 2000 страниц, считая 8к каждая, получится 16 Мб кэш. Но и этого мало. Полагаю, для десктопа оптимально 64Мб, т.е. размер кэша равен 8000 страниц.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36799056
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG, если я все правильно понял - при компиляции добавить такие ключи:

SQLITE_DEFAULT_PAGE_SIZE=8192
SQLITE_DEFAULT_CACHE_SIZE=8000
...
Рейтинг: 0 / 0
Сборки SQLite
    #36799996
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Alexbootch MBG, если я все правильно понял - при компиляции добавить такие ключи:

SQLITE_DEFAULT_PAGE_SIZE=8192
SQLITE_DEFAULT_CACHE_SIZE=8000

Еще стоит указать DEFAULT_TEMP_CACHE_SIZE=2000. Но это далеко не все, что полезно подкрутить.

Для десктопа предлагаю собирать вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    -DSQLITE_CORE=1 \
    -DSQLITE_ENABLE_COLUMN_METADATA \
    -DSQLITE_ENABLE_STAT2 \
    -DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1 \
    -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \
    -DSQLITE_ENABLE_RTREE \
    -DSQLITE_ENABLE_ICU \
    -DSQLITE_DEFAULT_PAGE_SIZE=8192 \
    -DSQLITE_DEFAULT_CACHE_SIZE=8000 \
    -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000 \
    -DSQLITE_DEFAULT_FILE_FORMAT=4 \
    -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
    -DSQLITE_THREADSAFE=1

Здесь включены некоторые дополнительные возможности полнотекстового поиска и оптимизатора. По сравнению со значениями по умолчанию такие настройки дают огромный прирост производительности (для эскулайт умолчания ориентированы традиционно для эмбеддед устройств).
...
Рейтинг: 0 / 0
Сборки SQLite
    #36800028
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что еще кроме следующего влияет на производительность ?
Код: plaintext
1.
2.
3.
4.
-DSQLITE_DEFAULT_PAGE_SIZE= 8192  \    
-DSQLITE_DEFAULT_CACHE_SIZE= 8000  \    
-DSQLITE_DEFAULT_TEMP_CACHE_SIZE= 2000  \    
-DSQLITE_DEFAULT_FILE_FORMAT= 4  \    
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT= 1048576  \
...
Рейтинг: 0 / 0
Сборки SQLite
    #36800823
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Dmitry ArefievА что еще кроме следующего влияет на производительность ?

-DSQLITE_ENABLE_STAT2, вестимо. Об этом мало информации, но планировщик эскулайт пользуется собранной статистикой для оптимизации запросов. Сбор статистики выполняется командой ANALYZE, ее временами нужно запускать, если есть проблемы с производительностью (актуально для средних и больших баз).

У меня базы от нескольких мегабайт до гигабайт, тестовые до десятков гигабайт, и указанный параметр весьма актуален. Поскольку апстрим недавно поддался моим аргументам и включил в свои тесты базы в 5 гигабайт (наконец-то!), то можно считать базы в гигабайты и десятки гигабайт официально поддерживаемыми и спокойно работать с ними. Кстати, на SSD дисках эскулайт показывает чудеса производительности, 100 миллионов записей с полнотекстовым поиском и индексами - запросто на нетбуке. Тесты я выкладывал:

http://book.mobigroup.ru/dir?name=web_project_DBMS/distributed_schema

P.S. Сейчас планирую покупать сервер с рэйдом на несколько терабайт, будет интересно проверить, как терабайтные эскулайт базы будут работать. На 32-бит ОС, к тому же :-)
...
Рейтинг: 0 / 0
Сборки SQLite
    #36801488
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG, скомпилировал библиотеку SQLite 3.7.0.1 с предложенными Вам ключами. От себя добавил ключ -DSQLITE_ENABLE_LOAD_EXTENSION=1, т.к. использую дополнительные расширения библиотеки SQLite. Протестировал - действительно скорость работы на больших базах данных заметно увеличивается. Оптимизированную библиотеку SQLite 3.7.0.1 собранную с ключами:

-DSQLITE_CORE=1 \
-DSQLITE_ENABLE_COLUMN_METADATA \
-DSQLITE_ENABLE_STAT2 \
-DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1 \
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_ICU \
-DSQLITE_DEFAULT_PAGE_SIZE=8192 \
-DSQLITE_DEFAULT_CACHE_SIZE=8000 \
-DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000 \
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
-DSQLITE_THREADSAFE=1 \
-DSQLITE_ENABLE_LOAD_EXTENSION=1 \

можно скачать здесь
...
Рейтинг: 0 / 0
Сборки SQLite
    #36804187
leone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,Други)
Хотел поинтересоваться, какая версия ICU нужна для сборки sqlite 3.7.1(с ключем ENABLE_ICU,естественно) ?
А то что-то вот:
,,,,
./.libs/libsqlite3.so: undefined reference to `uregex_matches_44'
./.libs/libsqlite3.so: undefined reference to `uregex_setText_44'
./.libs/libsqlite3.so: undefined reference to `u_isspace_44'
./.libs/libsqlite3.so: undefined reference to `uregex_close_44'
./.libs/libsqlite3.so: undefined reference to `ucol_strcoll_44'
,,,,
Без icu собирается и даже работает)
icu 4.4.1 тоже собралось и поставилось...
сборка под openSuse
Спасибо
...
Рейтинг: 0 / 0
Сборки SQLite
    #36804693
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leoneЗдравствуйте,Други)
Хотел поинтересоваться, какая версия ICU нужна для сборки sqlite 3.7.1(с ключем ENABLE_ICU,естественно) ?
А то что-то вот:
,,,,
./.libs/libsqlite3.so: undefined reference to `uregex_matches_44'
./.libs/libsqlite3.so: undefined reference to `uregex_setText_44'
./.libs/libsqlite3.so: undefined reference to `u_isspace_44'
./.libs/libsqlite3.so: undefined reference to `uregex_close_44'
./.libs/libsqlite3.so: undefined reference to `ucol_strcoll_44'
,,,,
Без icu собирается и даже работает)
icu 4.4.1 тоже собралось и поставилось...
сборка под openSuse
Спасибо


Вам же написано - undefined reference, т.е. не определена ссылка. Вывод: при компиляции нужно указать путь до собранной icu, а также перечень подключаемых библиотек. Насчет версии, то версия может быть любая поддерживаемая соответствующей ОС.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36805737
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Dmitry ArefievMBG, интересно ... Похоже только ты один умеешь готовить SQLite БД
на сотни гиг. Большинство других считают, что SQLite дай Бог потянет
100 записей, сумев выбрать их за пол часа

В рассылке sqlite-users есть участники, работающие в продакшене с целыми кластерами баз эскулайт (как пример: 10 серверов с общим объемом ОЗУ 320 гиг, вся память занята эскулайт базами). В то время как у меня базы размером в сто гиг только тестовые были, рабочие не более нескольких десятков гиг. Вот в рунете да, примеров особо не найти, и не только по эскулайт.

Dmitry ArefievКстати, для топика больше ничего не прибавилось ?

Есть еще действующий проект с базой эскулайт на КПК с винмобайл (несколько десятков пользователей примерно в течении 5-ти лет), а также эскулайт используется в разных проектах как вспомогательная база (например, при перезапуске/выключении серверов приложений в базы эскулайт сбрасываются пользовательские сессии и при старте оттуда восстанавливаются). Также система поиска на базе эскулайт в продакшене работает. За исключением приложения под винмобайл, весь вышеназванный софт есть в моих репозиториях. Если в репозитории покопаться, и еще что-то вспомню :-) Да, вспомнил, есть еще база и утилиты для работы с КЛАДР. Имхо нет особого смысла о таких примерах упоминать.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36809268
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оптимизированную библиотеку SQLite 3.7.2 собранную с ключами:

-DSQLITE_CORE=1 \
-DSQLITE_ENABLE_COLUMN_METADATA \
-DSQLITE_ENABLE_STAT2 \
-DSQLITE_DEFAULT_RECURSIVE_TRIGGERS=1 \
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_ICU \
-DSQLITE_DEFAULT_PAGE_SIZE=8192 \
-DSQLITE_DEFAULT_CACHE_SIZE=8000 \
-DSQLITE_DEFAULT_TEMP_CACHE_SIZE=2000 \
-DSQLITE_DEFAULT_FILE_FORMAT=4 \
-DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \
-DSQLITE_THREADSAFE=1 \
-DSQLITE_ENABLE_LOAD_EXTENSION=1 \

можно скачать здесь
...
Рейтинг: 0 / 0
Сборки SQLite
    #36812884
Миколай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОптимизированную библиотеку SQLite 3.7.2 собранную с ключами:
И как ее проинсталировать в систему? Пытаюсь создать ODBC Driver и на создании источника данных появляется ошибка 126
...
Рейтинг: 0 / 0
Сборки SQLite
    #36814111
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МиколайИ как ее проинсталировать в систему? Пытаюсь создать ODBC Driver и на создании источника данных появляется ошибка 126

Никак, эта библиотека не является ODBC Driver и предназначена для замены в программах, работающих непосредственно с библиотекой sqlite3.dll
...
Рейтинг: 0 / 0
Сборки SQLite
    #36842038
aesapronov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрых суток!
Со сборками вы полезное дело затеяли, ибо у самого возникают проблемы при компиляции под Win32 с SQLITE_ENABLE_ICU. Главное, чего хочу достичь - Case Insensitive для кириллицы при FTS.

Код: plaintext
1.
2.
3.
CREATE VIRTUAL TABLE t USING fts3(tokenize=icu ru_RU);
INSERT INTO t VALUES('Однажды в студёную зимнюю пору');
SELECT * FROM t WHERE t MATCH 'Однажды'; --> 'Однажды в студёную зимнюю пору'
SELECT * FROM t WHERE t MATCH 'однажды';  --> 'Однажды в студёную зимнюю пору'


Так вот, попробовал ваши сборки там, где можно заменить sqlite3.dll - SQLite Expert, FireFox SQLite Manager.

Итог:
1. БД создаётся
2. таблица с "tokenize=icu ru_RU" создаётся
3. INSERT в такую таблицу не происходит (ошибки ниже)
4. Посему нельзя проверить CI для кириллицы

Ошибка FF SQlite Manager:

SQLiteManager: Query: INSERT INTO test VALUES('Однажды в студёную зимнюю пору'); - executeStep failed
Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageStatement.executeStep]

Ошибка SQLite Expert 3.1.11:
Exception:
-----------------------------------------------------------------------------------------
2.1 Date : Sat, 11 Sep 2010 21:38:52 +0400
2.2 Address : 009D5ED7
2.3 Module Name : SQLiteExpertPro.exe - (The complete administration tool for SQLite)
2.4 Module Version: 3.1.11.2087
2.5 Type : ESQLiteException
2.6 Message : SQL logic error or missing database.
2.7 ID : D21E
2.8 Count : 1
2.9 Status : New
2.10 Note :


Зато:
1. SELECT 'ы' LIKE 'Ы' --> 1
2. таблица с "tokenize=simple" создаётся
3. INSERT в неё происходит
4. Выборка данных происходит, работает Case Insensitive для ENG, но не работает для кириллицы (((

Как думаете, почему не работает?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36842537
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
aesapronovКак думаете, почему не работает?

А коллэйшен ru_RU откуда возьмется? :-) Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36844416
IIITOPOR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBG Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД.

А можно подробнее что за патч, где взять и как создать колейшн?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36844922
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
IIITOPORMBG Нужно или его создавать по умолчанию при инициализации SQLite (соответствующий патч можно взять из моего репозитория), или создавать вручную при каждом подключении к БД.

А можно подробнее что за патч, где взять и как создать колейшн?

А поиск по форуму сделать никак?..
Помогите с like и кодировками
...
Рейтинг: 0 / 0
Сборки SQLite
    #36845952
IIITOPOR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачал icu.c скомпилировал в libsqliteicu.so при подключению выдает ошибку error during initialization:
...
Рейтинг: 0 / 0
Сборки SQLite
    #36846399
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aesapronov, перезалил библиотеку sqlite 3.7.2 - все должно работать, т.к. не работало из-за того, что в первоначальной библиотеке был битый файл icudt38.dll

Проверил все работает
Код: plaintext
1.
2.
3.
CREATE VIRTUAL TABLE t USING fts3(tokenize=icu ru_RU);
INSERT INTO t VALUES('Однажды в студёную зимнюю пору');
SELECT * FROM t WHERE t MATCH 'Однажды'; --> 'Однажды в студёную зимнюю пору'
SELECT * FROM t WHERE t MATCH 'однажды';  --> 'Однажды в студёную зимнюю пору'

Так же можно загружать и другие коллэйшены:

Код: plaintext
SELECT icu_load_collation('pl_PL', 'POLISH');

Сортировать с учетом указанного коллэйшена (после его загрузки)

Код: plaintext
SELECT * FROM tbd ORDER BY name COLLATE POLISH;
...
Рейтинг: 0 / 0
Сборки SQLite
    #36846696
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBG,
И где в Вашем репозитарии http://mobigroup.ru/debian.html можно сыскать файлы для Windows?
Раньше была папка http://mobigroup.ru/files/icu-3.8-win/ но сейчас ее нет. Может быть, повторно выложите куда-нибудь.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36846709
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexbootch
Так же можно загружать и другие коллэйшены:

Код: plaintext
SELECT icu_load_collation('pl_PL', 'POLISH');

Проверил с Вашей сборкой optimal_sqlite3_7_2 в SQLite Maestro, получаю ошибку
SQL Error: ICU error: ucol_open(): U_FILE_ACCESS_ERROR
Как я понимаю, не хватает еще какого-то файла, кроме icudt38.dll, icuin38.dll, icuuc38.dll, mingwm10.dll, sqlite3.dll.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36847099
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dzh2000, у меня все работает. Обновите файлы из выложенного мной архива SQLite 3.7.2
...
Рейтинг: 0 / 0
Сборки SQLite
    #36847631
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexbootch dzh2000, у меня все работает. Обновите файлы из выложенного мной архива SQLite 3.7.2
В папке находятся:
Код: plaintext
1.
2.
3.
4.
5.
 27 . 07 . 2010    02 : 06               22   473  icudt38.dll
 27 . 07 . 2010    02 : 07            5   965   457  icuin38.dll
 27 . 07 . 2010    02 : 07            4   000   773  icuuc38.dll
 04 . 09 . 2008    21 : 21               15   964  mingwm10.dll
 24 . 08 . 2010    22 : 44              306   106  sqlite3.dll
 23 . 08 . 2010    18 : 57              553   309  sqlite3.exe
Запускаю sqlite3.exe, выполняю запрос и получаю (см.рис.). Что делаю не так?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36849200
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexbootchФайл icudt38.dll опять битый виложился. Завтра перезалью архив, т.к. сейчас с телефона пишу и нет возможности залить указанный файл
Буду ждать.

Еще вопрос. Как организовать сортировку без учета регистра?
Такое не проходит
Код: plaintext
1.
SELECT * FROM mytable ORDER BY myfield;
SELECT * FROM mytable ORDER BY myfield COLLATE NOCASE;
Описание поля с COLLATE NOCASE тоже не проходит.

Остается только такое
Код: plaintext
SELECT * FROM mytable ORDER BY UPPER(myfield);
или есть вариант поизящнее?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36849207
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
dzh2000MBG,
И где в Вашем репозитарии http://mobigroup.ru/debian.html можно сыскать файлы для Windows?

В репозитории для линукса debian не стоит искать файлы для windows :-)

dzh2000
Раньше была папка http://mobigroup.ru/files/icu-3.8-win/ но сейчас ее нет. Может быть, повторно выложите куда-нибудь.

Удалил, т.к. там версия эскулайта устарела, а на этом форуме Alexbootch выложил свежий релиз. OS windows у меня нет, да еще и появились новые версии - xp sp3, vista, windows7 и т.п., про которые я ничего не знаю, так что я просто выкладываю кроссплатформенный софт и патчи, которые можно скачать и скомпилировать в линуксе, бсд или виндоус. Сборки под дебиан использую для работы, так что и держу соответствующий репозиторий.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851386
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dzh2000, перезалил архив optimal_sqlite3_7_2 . В sqlite3.exe вот это

Код: plaintext
SELECT icu_load_collation('pl_PL', 'POLISH');

будет работать только после загрузки дополнительного расширения:

Код: plaintext
.load 'libSqliteIcu.dll'

Далее можно использовать указанный коллейнш:

Код: plaintext
SELECT * FROM some_table ORDER BY name COLLATE POLISH;

Кроме всего прочего в cmd до загрузки sqlite3.exe нужно сменить кодировку на utf-8, т.к. ICU работает только с уникодом.

При использовании SQLite Maestro загружать libSqliteIcu.dll не нужно, т.к. коллейшены будут загружаться и без указанной библиотеки, при условии замены файлов из архива optimal_sqlite3_7_2. То есть примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CREATE TABLE tt (t TEXT);

INSERT INTO tt VALUES ('береза');
INSERT INTO tt VALUES ('ясень');
INSERT INTO tt VALUES ('ёлка');
INSERT INTO tt VALUES ('сосна');
INSERT INTO tt VALUES ('осина');

-- Пробуем отсортировать:
select * from tt order by t;

-- Получаем результат:
--береза
--осина
--сосна
--ясень
--ёлка

--Подключаем коллейшн ru_RU
SELECT icu_load_collation('ru_RU', 'russian');

-- Пробуем отсортировать:
select * from tt order by t COLLATE russian;

--Получаем результат:
--береза
--ёлка
--осина
--сосна
--ясень
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851408
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexbootchперезалил архив optimal_sqlite3_7_2.
Спасибо большое, Alexbootch, сейчас все в порядке.

Alexbootch-- Пробуем отсортировать:
select * from tt order by t COLLATE russian;
В таком виде записи сортируются без учета регистра, что также радует.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851413
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таком виде тоже сортируются без учета регистра

Код: plaintext
select * from tt order by t;
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851425
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexbootchбудет работать только после загрузки дополнительного расширения:

Код: plaintext
.load 'libSqliteIcu.dll'

Откуда можно скачать libSqliteIcu.dll ? В архиве optimal_sqlite3_7_2 ее не оказалось.
И почему в SQLite Maestro без нее работает?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851434
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexbootchВ таком виде тоже сортируются без учета регистра

Код: plaintext
select * from tt order by t;

Нет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT icu_load_collation('ru_RU', 'RUSSIAN');

CREATE TABLE tt (t TEXT);

INSERT INTO tt VALUES ('береза');
INSERT INTO tt VALUES ('ЯСЕНЬ');

select * from tt order by t;
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851436
dzh2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результат предыдущего запроса:
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851463
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dzh2000Результат предыдущего запроса:

Это тоже сортировка, только сначала сортируются все слова в верхнем регистре, а потом в нижнем регистре
...
Рейтинг: 0 / 0
Сборки SQLite
    #36851466
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dzh2000Откуда можно скачать libSqliteIcu.dll ? В архиве optimal_sqlite3_7_2 ее не оказалось. И почему в SQLite Maestro без нее работает?

Можно скачать исходный код icu.c с репозитория SQLite либо из других репозиториев и скомпилировать в libSqliteIcu.dll.Вот только нужно ли оно тебе? SQLite Maestro работает без указанной библиотеки потому что так задумано :) В принципе должно работать в любой программе работающей с базами данных SQLite непосредственно в кодировке UTF-8
...
Рейтинг: 0 / 0
Сборки SQLite
    #36861395
aesapronov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрых суток!

Alexbootch aesapronov, перезалил библиотеку sqlite 3.7.2 - все должно работать, т.к. не работало из-за того, что в первоначальной библиотеке был битый файл icudt38.dll


Alexbootch , а где сборку можно взять? Ссылки на "народе" сейчас недействительны :-(
Сам я здесь не появлялся, ибо время не терпело. В релизе 1.0 сформировал таблицу для FTS-поиска с принудительным приведением всего и вся к нижнему регистру, и по нему произвожу поиск. Ясно, что не красиво выглядит, поэтому сборка с collation=ru_RU и CI всё ещё очень актуальна.

Заранее спасибо!
...
Рейтинг: 0 / 0
Сборки SQLite
    #36866336
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот правильная ссылка на optimal_sqlite3_7_2
...
Рейтинг: 0 / 0
Сборки SQLite
    #36866659
aesapronov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexbootchВот правильная ссылка на optimal_sqlite3_7_2

Вот теперь всё работает, как я хочу)) БЛАГОДАРЮ!
...
Рейтинг: 0 / 0
Сборки SQLite
    #36867099
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно собрать sqlite3.dll под Windows Mobile. Может кто поделится опытом либо статьей по сборке указанной библиотеки под Windows Mobile?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36867558
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
AlexbootchНужно собрать sqlite3.dll под Windows Mobile. Может кто поделится опытом либо статьей по сборке указанной библиотеки под Windows Mobile?

Просто компилируете под эту архитектуру, проблем никаких нет. Хоть бесплатным компилятором от микрософт, хоть вижуал студией или портом gcc.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36868065
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGПросто компилируете под эту архитектуру, проблем никаких нет. Хоть бесплатным компилятором от микрософт, хоть вижуал студией или портом gcc.

MBG, а не подскажите с какими ключами нужно компилировать с помощью gcc под Windows Mobile?
...
Рейтинг: 0 / 0
Сборки SQLite
    #36868220
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Dmitry ArefievНе пора ли замутить FAQ ? Где первым делом ответить с примерами -
что нужно и как собирать SQLite под ту или иную платформу ?
Похоже, это самый что ни на есть frequently asked question :)

На оффсайте все есть, в вики:
How To Compile
И о кросскомпиляции здесь же рассказано. Вообще распространяемая сборка - это один-единственный C-файл, его как бы совсем не сложно скомпилировать. Вот о сборке из дерева исходников не рассказывается, но это редкий случай, только для разработчиков самого эскулайта нужно.
...
Рейтинг: 0 / 0
Сборки SQLite
    #36895197
IIITOPOR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выложите, пожалуйста, новую сборку sqlite 3.7.3 c ICU
...
Рейтинг: 0 / 0
Сборки SQLite
    #36917227
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IIITOPORВыложите, пожалуйста, новую сборку sqlite 3.7.3 c ICU

MBGНа оффсайте все есть, в вики:
How To Compile
И о кросскомпиляции здесь же рассказано. Вообще распространяемая сборка - это один-единственный C-файл, его как бы совсем не сложно скомпилировать.
...
Рейтинг: 0 / 0
Сборки SQLite
    #37062863
nata267
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а где взять libSqliteIcu.dll не подскажете?
...
Рейтинг: 0 / 0
Сборки SQLite
    #37105221
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xyz_zyxP.S. Буду признателен тому, кто распишет по шагам компиляцию SQLite+ICU под Windows. Тогда можно будет и тему закрыть.Шаг первый: идешь на http://site.icu-project.org/download Тыкаешь в ссылку свежайшей версии (4.6). В середине страницы ищешь ICU4C Binary Download и видишь там два готовых пакета для Win32 и Win64. Выкачиваешь нужный. Получаешь готовый набор из .dll, .exe, .lib и .h. Ставишь этот набор куда-нибудь.
Шаг второй: Выкачиваешь амальгаму свежайшего SQLite. Первая ссылка на странице http://www.sqlite.org/download.html получаешь готовый к компиляции исходник sqlite.
Компилируешь sqlite.c с указанием флага SQLITE_ENABLE_ICU и указанием на каталоги куда ты установил сам ICU.
Все.

А если хочешь выразить свою признательность - зарегестрируйся на форуме по человечески и выучи английский.
...
Рейтинг: 0 / 0
Сборки SQLite
    #37174518
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLite 3.7.5 с поддержкой 3.8.1 брать здесь
...
Рейтинг: 0 / 0
Сборки SQLite
    #37174520
Alexbootch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexbootchSQLite 3.7.5 с поддержкой 3.8.1 брать здесь

SQLite 3.7.5 с поддержкой ICU 3.8.1 брать здесь
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Сборки SQLite
    #38163328
ColdSilence
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Из тех кто выкладывал здесь свои сборки SQlite скиньте пожалуйста опции компилятора (или настройки проекта )visual studio
для того , что бы можно было собрать sqlite3.dll самостоятельно.

Спасибо.
...
Рейтинг: 0 / 0
Сборки SQLite
    #38178167
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
ColdSilence,

Опции сборки можно посмотреть в моих деб-пакетах.
...
Рейтинг: 0 / 0
Сборки SQLite
    #38223232
AndySolo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexbootchSQLite 3.7.5 с поддержкой ICU 3.8.1 брать...

При работе с SQLite я использую библиотеку "sqlite-netFx40-binary-bundle-x64-2010-1.0.81.0.zip" (System.Data.SQLite.dll, System.Data.SQLite.Linq.dll). Туда можно добавить поддержку ICU?
...
Рейтинг: 0 / 0
Сборки SQLite
    #38223961
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndySolo,

Нет.
...
Рейтинг: 0 / 0
Сборки SQLite
    #38224237
AndySolo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНет.
А это о чем тогда?

...необходимо сделать – выбрать нужную версию сборки System.Data.SQLite.dll. Сама сборка скомпилирована в различных вариациях:
1.Managed Only – оптимальный вариант, для тех, кто создает приложения, которые должны работать как в Windows, так и в Linux-based операционных системах. В данном случае сборка включает в себя только управляемый код провайдера, а в зависимости от ОС понадобиться родная версия библиотеки SQLite (например: sqlite3.dll в Windows), которые можно взять с...
...
Рейтинг: 0 / 0
Сборки SQLite
    #38224573
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndySoloWhite OwlНет.
А это о чем тогда?Выбрать сборку и добавить что-то в существующую это две разные вещи.
Если тебе сварили суп, ты не сможешь сделать из него жаркое. Но если перед тобой стоят две тарелки - ты можешь выбрать то что тебе нравится.

"При работе с SQLite я использую библиотеку "sqlite-netFx40-binary-bundle-x64-2010-1.0.81.0.zip" (System.Data.SQLite.dll, System.Data.SQLite.Linq.dll)."
Вот ЭТО - суп. Хочешь жаркое - ищи другую библиотеку.
...
Рейтинг: 0 / 0
Сборки SQLite
    #38233585
matrix0005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
необходимо подключить icu к sqlcipher для windows qt4 драйвера - попробовал, не заработало.

На собранной вручную обычной версии sqlite тоже проблемы:
http://www.sqlite.org/2013/sqlite-src-3071602.zip
http://download.icu-project.org/files/icu4c/51.1/icu4c-51_1-src.tgz

Сборка sqlite

Код: plaintext
1.
2.
3.
./configure --prefix=/c/data/bin/ --disable-tcl --disable-amalgamation --enable-load-extension CFLAGS="-DENABLE_COLUMN_METADATA -DENABLE_FTS3 -DENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_ICU -DSQLITE_ENABLE_FTS4 -DSQLITE_TEMP_STORE=2 -DSQLITE_MAX_ATTACHED=62 -DSQLITE_ENABLE_LOAD_EXTENSION  -I./ext/fts3 -I./ext/icu -L/c/data/bin/lib -I/c/data/bin/include" LDFLAGS="-licuuc -licuin -licudt"
make && make install
gcc -shared icu.c -o icu.dll -I./ext/fts3 -I./ext/icu -L/c/data/bin/lib /c/data/bin/include -licuuc -licuin -I../../src -I../../


Сборка icu:

Код: plaintext
1.
2.
./configure --prefix=/c/data/bin/ --enable-static
make && make install



Результат следующий:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
sqlite> .load icu.dll
sqlite> pragma encoding;
UTF-8
sqlite> select icu_load_collation('ru_RU', 'RUSSIAN');

sqlite> CREATE TABLE text1(name TEXT);
sqlite> insert into text1 values ('ТЕКСТ');
sqlite> select lower(name) from text1;
┬Т┬Е┬К┬С┬Т
sqlite> select name from text1;
ТЕКСТ
sqlite> SELECT 'текст';
текст
sqlite> SELECT lower('текст');
текя┐╜я┐╜
sqlite> select 'ы' LIKE 'Ы';
0
sqlite>



хотя под линуксом аналогичное работает
...
Рейтинг: 0 / 0
Сборки SQLite
    #38253434
matrix0005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто-нибудь собирал работоспособную версию обычного sqlite с icu с помощью mingw?
...
Рейтинг: 0 / 0
57 сообщений из 57, показаны все 3 страниц
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Сборки SQLite
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]