powered by simpleCommunicator - 21.11.28     © 2024 Programmizd 02
Map
Форумы / Вопросы по IT / Шанс для ораклоидов
25 сообщений из 37, страница 1 из 2
Шанс для ораклоидов
    #2922881
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose

Вот есть шанс проявить знания.

Значит ситуация такая.
Наши тупые ораклоиды сваяли базу где айдишники на рекорды не формируются и они их сами придумывают для уникальности.
Как результат, там сборная солянка ссср: цифры, буквы, точки, тире и т.п. ерунда.
Вобщем обещали мне сделать уникальность.
Загружаю в скуль - хрена лысого.

Коллэйшен на сервере и базе "кэйс инсенситив".
А у этих придурков уникальные айдишники различаются по заглавным-прописным буквам.
Кинул им предъяву, они говорят что "такова их ораклиная сущносная уникальность".
Ломанулся к дизайнерам, говорю нужно коллейшен на базе, ну или хотя-бы на таблицах-полях поменять чтоб шрифт различало.
Они тоже в отлуп. Типа "не могу поступиться принципами"...

Вобщем задача - как различить айдишники, различающиеся заглавным-прописным буквами.

Теоретически на скуле это было-бы просто.

Что-то типа такого:
Код: SQL
1.
2.
UPDATE MyTable
SET RecordID = RecordID + CAST(BINARY_CHECKSUM(RecordID) as VARCHAR(64))
И уникальность обеспечена.

Но проблема в том что мне нужно это делать "на лету", до вставки в базу, иначе будет много танцев с бубном.

Делаю в SSIS, а там BINARY_CHECKSUM функции нет.
Можно было-бы сваять Сишный модуль, но меня с ним тех-поддержка не пропустит.
Типа "это очень сложно" и "как мы это потом поддерживать будем?"

Значит идея такая: - Тянуть уникальное айди прямо с оракла.

Вот и вопрос: Есть там "BINARY_CHECKSUM" и если есть, то будет-ли выдавать достаточно уникальные значения и будут ли значения заглавных-прописных букв различаться?

ЗЫ Походу наши даже такого слова никогда не слышали, поэтому у них и такая уникальность.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2922892
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
standard_hash например
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2922901
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
А вообще ты что-то непонятное мутишь.

Раз ты меняешь айди на свои, то делай обычный автоинкремент и не парься.

Страшные оригинальные айди сохрани на память в отдельном поле.
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2923968
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  07.04.2021, 06:04
А вообще ты что-то непонятное мутишь.

Раз ты меняешь айди на свои, то делай обычный автоинкремент и не парься.

Страшные оригинальные айди сохрани на память в отдельном поле.
Я их и сохраняю.
Там тупая задача.
В оракле они не могут отследить если запись была удалена.
Ну они её тупо удаляют.
Поэтому мне приходится каждый раз читать лист всех текущих айдишников чтоб вычислить какие записи были удалены и пометить их в моей базе как удалённые.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2923969
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  07.04.2021, 05:42
standard_hash например
Спасибо. Сейчас попробую
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2924116
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  07.04.2021, 15:20
В оракле они не могут отследить если запись была удалена.
в триггер на удаление (ну или в процедуру удаления) пусть допишут запись в таблицу (название сам придумай) ID, ДатаВремя
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2924400
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  07.04.2021, 16:20
SandalTree  07.04.2021, 15:20
В оракле они не могут отследить если запись была удалена.
в триггер на удаление (ну или в процедуру удаления) пусть допишут запись в таблицу (название сам придумай) ID, ДатаВремя
Они тупые.

И тим лид из них.

Хэш не пошёл.
Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив.
Они так и подумали.

Поэтому "приняли к сведению"
Отсюда выросло решение "в скуле это нормально и так и должно быть!"

Как результат:
В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром.

Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки.

На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет.

Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2924414
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  07.04.2021, 18:52
eNose  07.04.2021, 16:20
SandalTree  07.04.2021, 15:20
...
в триггер на удаление (ну или в процедуру удаления) пусть допишут запись в таблицу (название сам придумай) ID, ДатаВремя
Они тупые.

И тим лид из них.

Хэш не пошёл.
Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив.
Они так и подумали.

Поэтому "приняли к сведению"
Отсюда выросло решение "в скуле это нормально и так и должно быть!"

Как результат:
В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром.

Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки.

На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет.

Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик.
А зачем они тебе нужны?
Делай сам.
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2924419
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  07.04.2021, 18:58
SandalTree  07.04.2021, 18:52
eNose  07.04.2021, 16:20
...
Они тупые.

И тим лид из них.

Хэш не пошёл.
Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив.
Они так и подумали.

Поэтому "приняли к сведению"
Отсюда выросло решение "в скуле это нормально и так и должно быть!"

Как результат:
В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром.

Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки.

На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет.

Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик.
А зачем они тебе нужны?
Делай сам.
Я контрактор.
Делаю что велят.
Не удивлюсь если у меня зряплата раза в 2 больше чем у этого тим-лида.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2925377
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  07.04.2021, 18:52
Хэш не пошёл
что значит "не пошёл" ?

у тебя же есть доступ к базе оракловой?
покажи запрос.
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2925383
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
может просто версия оракла старая?

вот в 9.2 что можно использовать

но хэш не даёт уникальности, если что...
pasted_image.png
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2925529
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
но в качестве "довеска" к существующему ключу использовать наверное можно
pasted_image.png
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2925680
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  07.04.2021, 05:10
Что-то типа такого:
замени буквы их кодами

уникальность будет обеспечена
pasted_image.png
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2925813
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose  08.04.2021, 11:24
SandalTree  07.04.2021, 05:10
Что-то типа такого:
замени буквы их кодами

уникальность будет обеспечена
pasted_image.png
А в varbinary конвертнуть не поможет?
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926096
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
WildMage  08.04.2021, 12:09
eNose  08.04.2021, 11:24
SandalTree  07.04.2021, 05:10
...
замени буквы их кодами

уникальность будет обеспечена
pasted_image.png
А в varbinary конвертнуть не поможет?
зачем?
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926099
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
pasted_image.png
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926683
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  08.04.2021, 08:19
SandalTree  07.04.2021, 18:52
Хэш не пошёл
что значит "не пошёл" ?

у тебя же есть доступ к базе оракловой?
покажи запрос.
Скрипт-то сработал.
Люди не сработали.
Цитата 
Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль ....
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926689
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  08.04.2021, 10:33
но в качестве "довеска" к существующему ключу использовать наверное можно
pasted_image.png
Ну я так и планировал.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926701
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  08.04.2021, 14:37
WildMage  08.04.2021, 12:09
eNose  08.04.2021, 11:24
...
А в varbinary конвертнуть не поможет?
зачем?
Идея тоже хорошая.
Наверное даже лучше чем хэш.
Я-б так и сделал, но у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2926764
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTree  08.04.2021, 18:45
eNose  08.04.2021, 14:37
WildMage  08.04.2021, 12:09
...
зачем?
Идея тоже хорошая.
Наверное даже лучше чем хэш.
Я-б так и сделал, но у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что.
Сделай им вычислимое поле
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2927164
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  08.04.2021, 18:45
у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что
опиши задачу

возможно есть устраивающий всех вариант решения
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2927669
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  08.04.2021, 20:37
SandalTree  08.04.2021, 18:45
у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что
опиши задачу

возможно есть устраивающий всех вариант решения
я-ж уже описал.
Повторяю:
Задача супер-стандартная:
1. Из оракла нужно ежедневно выкалупливать кучу таблиц.
2. Во всех этих таблицах есть "уникальное" поле и поля даты "последнего изменения"
3. Ежедневно нужно делать 3 операции
- Выкалупливать новые записи
- Обновлять изменённые
- Помечать удалённые как удалённые.

Решение простое:
1. Ежедневно высасываем из оракла все "изменившиеся" записи
- Выделяем новые и вставляем
- Выделяем имеющиеся и обновляем имеющиеся
2. Для каждой таблицы высасываем уникальное поле для ВСЕХ записей.
- Сравниваем список с уже имеющимся и помечаем исчезнувшие.

Проблема:
"уникальное" поле уникально в Оракле, но не уникально в Скуле, потому что по дефолту он не различает регистры, но никто об этом не знал (год 2020-й!) и сейчас менять "уже поздно".

Дополнительные требования:
1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо".
Т.е. Никаких хэшей и т.п.
2. Даже на одно поле нельзя ставить коллейшен, чтоб оно различало регистры.
Т.е. им нужно, если есть 2 записи "ааа" и "ААА" то по запросу на "ааа" оно выдавало обе записи.

Решение:
Таки я поставил регистрово-небезразличный коллейшен на промежуточную табличку, в которую качаю из оракла и обновляю записи в обычных таблицах апдейтом.

Кривизна и косячность дизайна - очевидны.
Любой GROUP BY или какой поиск будут выдавать чёрти что, но никого это не волнует.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2927796
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  08.04.2021, 23:52
1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо".
Т.е. Никаких хэшей и т.п.
ваши ораклоиды настолько тупые, что используют select * from ... ?
или ваши скульщики настолько тупые, что не могут отдать ораклоидам то, что им нужно?

я не вижу проблемы в создании в мсскл "своих" ключей и выдаче ораклоидам вьюхи в "нужном им формате".
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2927797
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
SandalTree  08.04.2021, 23:52
им нужно, если есть 2 записи "ааа" и "ААА" то по запросу на "ааа" оно выдавало обе записи
приведи к upper и выдавай, в чем проблемы то?
...
Рейтинг: 0 / 0
Шанс для ораклоидов
    #2928713
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
eNose  09.04.2021, 08:38
SandalTree  08.04.2021, 23:52
1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо".
Т.е. Никаких хэшей и т.п.
ваши ораклоиды настолько тупые, что используют select * from ... ?
или ваши скульщики настолько тупые, что не могут отдать ораклоидам то, что им нужно?

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

Про "тупых ораклоидов" мы уже говорили.
Они используют вложеные вьюхи - это их конь.

Скульщики вообще ничего не дают. С них даже молока не возьмёшь.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Вопросы по IT / Шанс для ораклоидов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Игнорируют тему (1): Неуловимый Джо
Читали форум (3): Анонимы (1), Yandex Bot 1 мин., Bing Bot 5 мин.
Пользователи онлайн (4): Анонимы (2), Yandex Bot 1 мин., Bing Bot 2 мин.
x
x
Закрыть


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