Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose Вот есть шанс проявить знания. Значит ситуация такая. Наши тупые ораклоиды сваяли базу где айдишники на рекорды не формируются и они их сами придумывают для уникальности. Как результат, там сборная солянка ссср: цифры, буквы, точки, тире и т.п. ерунда. Вобщем обещали мне сделать уникальность. Загружаю в скуль - хрена лысого. Коллэйшен на сервере и базе "кэйс инсенситив". А у этих придурков уникальные айдишники различаются по заглавным-прописным буквам. Кинул им предъяву, они говорят что "такова их ораклиная сущносная уникальность". Ломанулся к дизайнерам, говорю нужно коллейшен на базе, ну или хотя-бы на таблицах-полях поменять чтоб шрифт различало. Они тоже в отлуп. Типа "не могу поступиться принципами"... Вобщем задача - как различить айдишники, различающиеся заглавным-прописным буквами. Теоретически на скуле это было-бы просто. Что-то типа такого: Код: SQL 1. 2.
Но проблема в том что мне нужно это делать "на лету", до вставки в базу, иначе будет много танцев с бубном. Делаю в SSIS, а там BINARY_CHECKSUM функции нет. Можно было-бы сваять Сишный модуль, но меня с ним тех-поддержка не пропустит. Типа "это очень сложно" и "как мы это потом поддерживать будем?" Значит идея такая: - Тянуть уникальное айди прямо с оракла. Вот и вопрос: Есть там "BINARY_CHECKSUM" и если есть, то будет-ли выдавать достаточно уникальные значения и будут ли значения заглавных-прописных букв различаться? ЗЫ Походу наши даже такого слова никогда не слышали, поэтому у них и такая уникальность. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
07.04.2021, 05:10 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
standard_hash например ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 05:42 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
А вообще ты что-то непонятное мутишь. Раз ты меняешь айди на свои, то делай обычный автоинкремент и не парься. Страшные оригинальные айди сохрани на память в отдельном поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 06:04 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 07.04.2021, 06:04 А вообще ты что-то непонятное мутишь. Раз ты меняешь айди на свои, то делай обычный автоинкремент и не парься. Страшные оригинальные айди сохрани на память в отдельном поле. Там тупая задача. В оракле они не могут отследить если запись была удалена. Ну они её тупо удаляют. Поэтому мне приходится каждый раз читать лист всех текущих айдишников чтоб вычислить какие записи были удалены и пометить их в моей базе как удалённые. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
07.04.2021, 15:20 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 07.04.2021, 05:42 standard_hash например ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
07.04.2021, 15:20 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 07.04.2021, 15:20 В оракле они не могут отследить если запись была удалена. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 16:20 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 07.04.2021, 16:20 SandalTree 07.04.2021, 15:20 В оракле они не могут отследить если запись была удалена. И тим лид из них. Хэш не пошёл. Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив. Они так и подумали. Поэтому "приняли к сведению" Отсюда выросло решение "в скуле это нормально и так и должно быть!" Как результат: В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром. Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки. На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет. Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
07.04.2021, 18:52 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 07.04.2021, 18:52 eNose 07.04.2021, 16:20 SandalTree 07.04.2021, 15:20 ... И тим лид из них. Хэш не пошёл. Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив. Они так и подумали. Поэтому "приняли к сведению" Отсюда выросло решение "в скуле это нормально и так и должно быть!" Как результат: В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром. Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки. На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет. Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик. Делай сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2021, 18:58 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 07.04.2021, 18:58 SandalTree 07.04.2021, 18:52 eNose 07.04.2021, 16:20 ... И тим лид из них. Хэш не пошёл. Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль, то по дефолту он был кейс инсенситив. Они так и подумали. Поэтому "приняли к сведению" Отсюда выросло решение "в скуле это нормально и так и должно быть!" Как результат: В кейс инсенситив поле будут валяться дупликаты, различающиеся регистром. Я обьяснил что это только дело времени когда в ваши данные закрадутся ошибки. На что мне сказали: - Это ты знаешь, мы знаем, никто больше не знает и проверить не сможет. Короче, вместо того чтоб выучить новую фичу и сделать по уму, замели сор под половик. Делай сам. Делаю что велят. Не удивлюсь если у меня зряплата раза в 2 больше чем у этого тим-лида. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
07.04.2021, 19:00 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 07.04.2021, 18:52 Хэш не пошёл у тебя же есть доступ к базе оракловой? покажи запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 08:19 |
|
Шанс для ораклоидов
#2925383
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
может просто версия оракла старая? вот в 9.2 что можно использовать но хэш не даёт уникальности, если что... ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
08.04.2021, 08:32 |
|
Шанс для ораклоидов
#2925529
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
08.04.2021, 10:33 |
|
Шанс для ораклоидов
#2925680
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
SandalTree 07.04.2021, 05:10 Что-то типа такого: уникальность будет обеспечена ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
08.04.2021, 11:24 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
А в varbinary конвертнуть не поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 12:09 |
|
Шанс для ораклоидов
#2926099
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
08.04.2021, 14:40 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 08.04.2021, 08:19 SandalTree 07.04.2021, 18:52 Хэш не пошёл у тебя же есть доступ к базе оракловой? покажи запрос. Люди не сработали. Цитата Не потому что он "не работает", а потому что когда ораклоиды увидели Скуль .... ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
08.04.2021, 18:41 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 08.04.2021, 10:33 ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
08.04.2021, 18:42 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 08.04.2021, 14:37 Наверное даже лучше чем хэш. Я-б так и сделал, но у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
08.04.2021, 18:45 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
Сделай им вычислимое поле ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 18:55 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 08.04.2021, 18:45 у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что возможно есть устраивающий всех вариант решения ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2021, 20:37 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 08.04.2021, 20:37 SandalTree 08.04.2021, 18:45 у этих идиотов требование чтоб каждый дебил, (т.е. они сами) мог трейсовать данные и проверять если что возможно есть устраивающий всех вариант решения Повторяю: Задача супер-стандартная: 1. Из оракла нужно ежедневно выкалупливать кучу таблиц. 2. Во всех этих таблицах есть "уникальное" поле и поля даты "последнего изменения" 3. Ежедневно нужно делать 3 операции - Выкалупливать новые записи - Обновлять изменённые - Помечать удалённые как удалённые. Решение простое: 1. Ежедневно высасываем из оракла все "изменившиеся" записи - Выделяем новые и вставляем - Выделяем имеющиеся и обновляем имеющиеся 2. Для каждой таблицы высасываем уникальное поле для ВСЕХ записей. - Сравниваем список с уже имеющимся и помечаем исчезнувшие. Проблема: "уникальное" поле уникально в Оракле, но не уникально в Скуле, потому что по дефолту он не различает регистры, но никто об этом не знал (год 2020-й!) и сейчас менять "уже поздно". Дополнительные требования: 1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо". Т.е. Никаких хэшей и т.п. 2. Даже на одно поле нельзя ставить коллейшен, чтоб оно различало регистры. Т.е. им нужно, если есть 2 записи "ааа" и "ААА" то по запросу на "ааа" оно выдавало обе записи. Решение: Таки я поставил регистрово-небезразличный коллейшен на промежуточную табличку, в которую качаю из оракла и обновляю записи в обычных таблицах апдейтом. Кривизна и косячность дизайна - очевидны. Любой GROUP BY или какой поиск будут выдавать чёрти что, но никого это не волнует. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
08.04.2021, 23:52 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 08.04.2021, 23:52 1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо". Т.е. Никаких хэшей и т.п. или ваши скульщики настолько тупые, что не могут отдать ораклоидам то, что им нужно? я не вижу проблемы в создании в мсскл "своих" ключей и выдаче ораклоидам вьюхи в "нужном им формате". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 08:38 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
SandalTree 08.04.2021, 23:52 им нужно, если есть 2 записи "ааа" и "ААА" то по запросу на "ааа" оно выдавало обе записи ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 08:39 |
|
Шанс для ораклоидов
|
|||
---|---|---|---|
#18+
eNose 09.04.2021, 08:38 SandalTree 08.04.2021, 23:52 1. Каждая "уникальная" запись в скуле должна быть читаема и сравнима с Оракловой базой, чтоб любой ораклоид мог посмотреть что всё "как надо". Т.е. Никаких хэшей и т.п. или ваши скульщики настолько тупые, что не могут отдать ораклоидам то, что им нужно? я не вижу проблемы в создании в мсскл "своих" ключей и выдаче ораклоидам вьюхи в "нужном им формате". Про "тупых ораклоидов" мы уже говорили. Они используют вложеные вьюхи - это их конь. Скульщики вообще ничего не дают. С них даже молока не возьмёшь. ... |
|||
А вы шо думали, всё так просто?
:
Нравится:
Не нравится:
|
|||
09.04.2021, 16:36 |
|
Start [/forum-old/topic.php?fid=2&tid=60850&msg=2927796&do_citate=2927796]: |
0ms |
get settings: |
1ms |
get forum list: |
2ms |
check forum access: |
0ms |
check topic access: |
0ms |
track hit: |
178ms |
get topic data: |
3ms |
get forum data: |
0ms |
get page messages: |
43ms |
update_topic_read_status (60850): 09.04.2021 16:36:52: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
5ms |
others: | 13ms |
total: | 245ms |
0 / 0 |