С новым старым глюком в TPS!

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

Игорь Столяров писал(а): 14 Декабрь 2023, 13:50 ранить хеш, и по нему уже строить индекс и проверять дублирование
У меня есть кусок. когда хеш генерится за раз для, около, 100000 случайных строк в несколько килобайт. И раза два в год эта уникальность ломается. Я много могу об этом рассказать.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7377
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

С новым старым глюком в TPS!

Сообщение Игорь Столяров »

Губин Игорь писал(а): 14 Декабрь 2023, 14:43 Размер локатора вторичен от размера строки для проверки на дублирование
Возможно мы разное называем "локатором" ?
Для меня локатор - это последовательность вводимых (для BROWSE) символов, для которой сразу
отображается запись в списке. Кто-то будет вводить для поиска более 40 (120) символов таких формул ?
Губин Игорь писал(а): 14 Декабрь 2023, 14:43 Кроме того, выравнивание регистров не всегда допустимо
Не нормализуйте - это опция. Если у Вас "a+b-c" и "a+ b-C" - это разное, просто желаю удачи в поиске.
Губин Игорь писал(а): 14 Декабрь 2023, 15:00 И раза два в год эта уникальность ломается. Я много могу об этом рассказать.
Таки попробуйте взять современный алгоритм, вместо 30-летнего SHA1 / MD5. ;)
Или по ГОСТ от Crypto-Pro c допуском для гостайны, если есть достойная задача.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

Игорь Столяров писал(а): 14 Декабрь 2023, 15:21 Возможно мы разное называем "локатором" ?
Для меня локатор - это последовательность вводимых (для BROWSE) символов, для которой сразу
отображается запись в списке. Кто-то будет вводить для поиска более 40 (120) символов таких формул ?
Мы понимаем одно и то же. Но длина поля локатора может быть длиной хоть со всю строку в ключе - никаких проблем не создаёт. Не понятно, с чего ты этому прицепились.
Игорь Столяров писал(а): 14 Декабрь 2023, 15:21 Если у Вас "a+b-c" и "a+ b-C" - это разное, просто желаю удачи в поиске.
Пробелы, да и кое что ещё, я подчищаю. А вот "a+b-c" и "a+b-C" у меня, действительно, разные формулы, что порождает массу проблем, но это совсем другая история.

Поясняю, в формуле в пару десятков символов уже сложно найти отличия, замыливается глаз у девочки, а когда формулы в 1000 символов и различие всего в одной цифре... Вот тут без точной проверки на уникальность не обойтись. Иначе девочки, в начале, наплодят кучу одинаковых или почти одинаковых записей, а потом в них запутаются.
Игорь Столяров писал(а): 14 Декабрь 2023, 15:21 Таки попробуйте взять современный алгоритм, вместо 30-летнего SHA1 / MD5.
Или по ГОСТ от Crypto-Pro c допуском для гостайны, если есть достойная задача.
Одному мне кажется, что проще оказалось решить проблему с длиной строки? :dizzy: :lol: :lol: :lol: :lol: :lol: :lol: :lol:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

ЛЮДИ!!! Объясняю ещё раз: сверхзадача самыми простыми и надёжными методами отловить случай ввода уже ранее введённой строки, если оператор "поплыла" и начинает не замечать записи. Т.е. самый примитивный Duplicate идеально решает эту задачу.

А проблема возникла из-за того, что если длина строки в ключе 1024, что совсем не много, то для файла TPS ломается или ключ или драйвер или не знаю что, но ни одно из средств просмотра содержимого файла (ни среда, ни topscan, ни view, ни примитивный SetNext) по ключу не отрабатывает нормально. Сейчас всё решилось урезанием строки до 512 символов (90% случаев) и особыми алгоритмами ввода для более длинных записей.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7377
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

С новым старым глюком в TPS!

Сообщение Игорь Столяров »

Губин Игорь писал(а): 14 Декабрь 2023, 15:50 сверхзадача самыми простыми и надёжными методами
1. Есть проблема с индексаций длинных строк в TPS (скорее всего просто незаявленное ограничение).
2. Если тупо работать с строкой "как есть" - то либо перебор и сравнение, либо смена драйвера для списка.
3. Давно хочу попробовать встроенный SQLite, там вообще нет понятия длины строки, а просто TEXT ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

Игорь Столяров писал(а): 14 Декабрь 2023, 16:04 1. Есть проблема с индексаций длинных строк в TPS (скорее всего просто незаявленное ограничение).
Очень много лет драйверу. Как раз удивительно, что не всплывало. Но больше всего похоже на баг в драйвере.
Игорь Столяров писал(а): 14 Декабрь 2023, 16:04 2. Если тупо работать с строкой "как есть" - то либо перебор и сравнение, либо смена драйвера для списка.
Тупой перебор это жестоко. Такое у меня есть в куске упаковки файлов и не самая быстрая операция.
Игорь Столяров писал(а): 14 Декабрь 2023, 16:04 3. Давно хочу попробовать встроенный SQLite, там вообще нет понятия длины строки, а просто TEXT ...
Я с ним работал в задачах обмена с мобильными устройствами. Для небольших файлов вполне приемлемо.
Это я только кажусь дураком! На самом деле я полный идиот!
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

С новым старым глюком в TPS!

Сообщение kreator »

Сортировка по ключу не работает. А если без ключа, просто по ORDER?
We are hard at work… for you. :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1377
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

С новым старым глюком в TPS!

Сообщение RaFaeL »

Губин Игорь писал(а): 14 Декабрь 2023, 15:00 У меня есть кусок. когда хеш генерится за раз для, около, 100000 случайных строк в несколько килобайт. И раза два в год эта уникальность ломается. Я много могу об этом рассказать.
А можно примеры?
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

RaFaeL писал(а): 15 Декабрь 2023, 19:35А можно примеры
Если честно, то очень долго вырезать. Это во встроенном контроле целостности критических данных. И кстати, как по заказу, только что вывалилось. :lol:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7377
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

С новым старым глюком в TPS!

Сообщение Игорь Столяров »

Чего вырезать-то ? Просто покажите 2 текстовых строки у которых одинаковый SHA1 / MD5 ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

Игорь Столяров писал(а): 15 Декабрь 2023, 22:10 Чего вырезать-то ? Просто покажите 2 текстовых строки у которых одинаковый SHA1 / MD5 ...
Хорошо, когда будет - постараюсь прислать. Это "глухой" кусок, который надо будет переделать для вывода. Да и самого совпадения надо ждать. Надеюсь, что долго :lol:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7377
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

С новым старым глюком в TPS!

Сообщение Игорь Столяров »

Лет десять назад, на каком-то саммите по безопасности, были предъявлены 2 читаемых PDF файла с одинаковым SHA1.
Это вызвало переполох, но разработчики SHA1 тогда заявили, что это сложный, но именно фокус, т.к. формат PDF
позволяет набивать в него бинарный мусор и любой дурак может попробовать получить коллизию методом перебора.
И попросили тревожных предъявить текст с одинаковым хешем SHA1. На том всё и заглохло навсегда ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

С новым старым глюком в TPS!

Сообщение Губин Игорь »

Игорь Столяров писал(а): 16 Декабрь 2023, 12:34 И попросили тревожных предъявить текст с одинаковым хешем SHA1. На том всё и заглохло навсегда ...
У меня сходная ситуация, т.к. не какой-то внятный текст, а бессмысленный набор байтов с некоторой закономерностью.

Ну вот, сегодня, тьфу, тьфу, тьфу, без совпадений. :lol: Хотя прогнал в несколько раз больше записей. :nono:

P.S. Ну, чисто математически, коллизия должна, рано или поздно, возникать. Иначе будет как в том очень старом программистском анекдоте про то, как любой файл ужать до двух символов. :cat:
Это я только кажусь дураком! На самом деле я полный идиот!
Ответить