Переключение на Главную Страницу Страницы: 1 ... 74 75 [76] 77 78 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1sqlite (число прочтений - 477597 )
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1125 - 13. Июня 2023 :: 08:07
Печать  
А!!! "яя" Ну это логично, если по LIKE 'яя%' сначала накладывается условие BETWEEN 'яя' AND 'я?', где '?' должна быть следующая буква после 'я', то хм... а какая там следующая буква в 1251 после 'я'?  Смех

P.S. Странно, у меня проблема DESCR LIKE '%яя%' не воспроизводится, и план запроса что без плюса, что с плюсом абсолютно идентичны.
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1sqlite
Ответ #1126 - 13. Июня 2023 :: 09:11
Печать  
Код (SQL)
Выбрать все
SELECT Спр.deScr FROM Справочник_Клиенты as Спр WHERE Спр.DESCR LIKE '%яя%' LIMIT 1 



Обрати внимание на LIMIT 1!

Без него - работает!
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1127 - 13. Июня 2023 :: 09:19
Печать  
На это я обратил внимание и использовал limit 1, но воспроизвести не удается.

upd: Поймал, я обычно пишу так (удобнее отлаживать):
Код (SQL)
Выбрать все
WHERE TRUE
AND DESCR LIKE '%яя%' 


без TRUE и AND в сочетании с LIMIT действительно 0 строк.
Похоже на ошибку в sqlite, надо бы в cli попробовать воспроизвести.
https://gyazo.com/0b782695e506eef76b0ecd0f083483ab
В правой части like вычисляется, в левой нет.

upd2: В cli не воспроизводится, ошибка в оптимизаторе 1sqlite.
Вроде исправил, попробуй 1sqlite_3.42.0.30_draft2.zip
« Последняя редакция: 13. Июня 2023 :: 11:24 - Djelf »  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1sqlite
Ответ #1128 - 13. Июня 2023 :: 13:15
Печать  
Да, draft2 выполнил запрос

Код (SQL)
Выбрать все
SELECT Спр.deScr FROM Справочник_Клиенты as Спр WHERE Спр.DESCR LIKE '%яя%' LIMIT 1 



LIKE 'яя%' - не работает.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 65
Зарегистрирован: 06. Февраля 2019
Re: 1sqlite
Ответ #1129 - 13. Июня 2023 :: 14:13
Печать  
draft и draft2 падают на
Код
Выбрать все
SQLiteBase.УложитьОбъекты(ВыбНоменклатура,"vt_ТМЦ",0,"Номенклатура"); 

где ВыбНоменклатура это группа
28 и 29 нет
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1130 - 13. Июня 2023 :: 15:42
Печать  
alyuev писал(а) 13. Июня 2023 :: 13:15:
LIKE 'яя%' - не работает.

Он и не сможет по индексу, причина была описана выше.

Остальное починю.
  
Наверх
www  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1131 - 17. Июня 2023 :: 08:44
Печать  
Падение при УложитьОбъекты починил.
Оптимизацию по LIKE, через использование BETWEEN отключил, она все равно не будет корректно работать с базами 1251.
IMHO, Это не совсем так, оно такое сможет, но нужна воля разработчиков.
Тема: https://sqlite.org/forum/forumpost/be08a39899

1sqlite_3.42.0.30_draft3.zip https://cloud.mail.ru/public/LgJJ/iyaqyCWey

P.S. draft потому что пришлось изрядно откатить, а потом накатить  Круглые глаза
Не все окучено тестами, но вроде почти финальный...

P.P.S. извините, рано или поздно, но надо делать небольшой рефакторинг.
« Последняя редакция: 17. Июня 2023 :: 11:59 - Djelf »  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1sqlite
Ответ #1132 - 19. Июня 2023 :: 07:50
Печать  
У меня на draft3 успешно пройдены все мои юнит-тесты.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1133 - 20. Июня 2023 :: 11:03
Печать  
alyuev писал(а) 19. Июня 2023 :: 07:50:
У меня на draft3 успешно пройдены все мои юнит-тесты.

Мои тоже все проходят, значит это видимо и есть/будет релиз.

P.S. Печаль, https://github.com/aergoio/sqlite-stored-procedures под gcc заточен, под msvc не собирается, а то бы и следующий этап эволюции освоили...
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1sqlite
Ответ #1134 - 26. Июня 2023 :: 07:19
Печать  
Так что, можно запускать (draft3) его на рабочей базе? Или ты подготовишь "официальный" релиз?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 634
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: 1sqlite
Ответ #1135 - 27. Июня 2023 :: 14:03
Печать  
alyuev писал(а) 26. Июня 2023 :: 07:19:
Так что, можно запускать (draft3) его на рабочей базе? Или ты подготовишь "официальный" релиз?

Раз претензий больше нет, то это и релиз.
Могу переименовать, сборки по причине краша винта пока преостановлены (но все уже спасено).
З.Ы. В топку эти хдд да и ссд тоже. Клинопись, вот что спасет мир!
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: 1sqlite
Ответ #1136 - 27. Июня 2023 :: 15:52
Печать  
Djelf писал(а) 27. Июня 2023 :: 14:03:
З.Ы. В топку эти хдд да и ссд тоже. Клинопись, вот что спасет мир!


А как же NAS? Улыбка
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 65
Зарегистрирован: 06. Февраля 2019
Re: 1sqlite
Ответ #1137 - 28. Июня 2023 :: 10:35
Печать  
Djelf писал(а) 27. Июня 2023 :: 14:03:
Раз претензий больше нет, то это и релиз.

Я уже неделю Смех гоняю в проде - проблем нет
Djelf писал(а) 27. Июня 2023 :: 14:03:
Могу переименовать, сборки по причине краша винта пока преостановлены (но все уже спасено).
З.Ы. В топку эти хдд да и ссд тоже. Клинопись, вот что спасет мир!

Ужас Ужас Ужас
  
Наверх
 
IP записан
 
zelenprog
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 44
Зарегистрирован: 03. Июня 2022
Пол: Мужской
Re: 1sqlite
Ответ #1138 - 28. Июня 2023 :: 10:43
Печать  
Записываю во внешнюю sqlite-базу данные вот таким образом:

Код (C++)
Выбрать все
лТЗ = СоздатьОбъект("ТаблицаЗначений");
лТЗ.НоваяКолонка("ID", "Строка", 100);
лТЗ.НоваяКолонка("Наименование", "Строка", 100);
...
лЛокБаза.УложитьТЗ(лТЗ, "Контрагенты", 1);
 



Потом читаю из этой базы.
И оказывается, что все строки дополнились справа пробелами и стали одинаковой длины - 100 символов.
Наименование вместо "Ромашка" стало "Ромашка                ".

Это нормально?
SQLite не умеет работать со строками переменной длины?
Или это ТаблицаЗначений косячит?
Или это я где-то накосячил?

В общем надо как-то записать в базу строку той длины, как она есть изначально.
Если "Ромашка", то и записать надо "Ромашка", и чтобы хранилось в базе тоже "Ромашка".

  
Наверх
 
IP записан
 
Arbuz
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 65
Зарегистрирован: 06. Февраля 2019
Re: 1sqlite
Ответ #1139 - 28. Июня 2023 :: 14:21
Печать  
zelenprog писал(а) 28. Июня 2023 :: 10:43:
Или это ТаблицаЗначений косячит?

Это ТаблицаЗначений. И она не косячит, это штатное поведение.
Что мешает проверить
Код (Javascript)
Выбрать все
Сообщить(СтрДлина(лТЗ.Наименование)) 

?
Не задавай длину строки в НоваяКолонка(), например.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 74 75 [76] 77 78 79
ОтправитьПечать