| 
 | 
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAНе поймёт так пнёт какого-нибудь айтишника, который про себя подумает: "Что, дура, разве не видишь, что написано 'attempt to store duplicate value (visible to active transactions) in unique index PERS_IDX_LOGIN. Problematic key value is (<expression> = Vasya)'? Ясен пень, что такой логин уже есть!", - а в слух вежливо скажет, что надо придумать другой логин. это ты всерьез такие ошибки пользователю выводишь? боже.. В данной ситуации кстати когда система по-сути однопользовательская даже говнокод написанный хвостом "без заморочек на проверки" будет работать т.к. ты по-определению не можешь получить конфликты обновлений ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 09:41 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAА за Код: sql 1. 2. каких люлей отвесят и с какой аргументацией? это ты хвосту такие вопросы задавай, я логику в хранимках с возвратом кода исполнения уже забыл когда писал в последний раз ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 09:44 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordskyANAНе поймёт так пнёт какого-нибудь айтишника, который про себя подумает: "Что, дура, разве не видишь, что написано 'attempt to store duplicate value (visible to active transactions) in unique index PERS_IDX_LOGIN. Problematic key value is (<expression> = Vasya)'? Ясен пень, что такой логин уже есть!", - а в слух вежливо скажет, что надо придумать другой логин. это ты всерьез такие ошибки пользователю выводишь? боже.. Дурак что-ли? Конечно не вывожу. А ты покажешь код как ты понимаешь по ошибке, что именно логин такой уже существует, а не ник, не номер паспорта, или что-то ещё? Очень любопытно. Ну и хоть один сайт, где выводится сообщение о том, что такой логин уже существует в системе после того, как попытались что-то в БД записать. Давно таких не видел, тоже любопытно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:09 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordskyANAА за Код: sql 1. 2. каких люлей отвесят и с какой аргументацией? это ты хвосту такие вопросы задавай, я логику в хранимках с возвратом кода исполнения уже забыл когда писал в последний раз Я тоже давно так не писал. Но ты же большой спец по люлям на code review, вот я тебя и спрашиваю. Как-то "я логику в хранимках с возвратом кода исполнения уже забыл когда писал" не тянет на аргументацию в пользу люлей ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:10 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordлюбой аттрибут, на который навешано условие уникальности/ссылочной целостности должен проверяться на уровне БД Да, это же очевидно! Было бы странно, если бы создал уникальный индекс, а его уникальность не проверяется ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:13 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordлюбой аттрибут, на который навешано условие уникальности/ссылочной целостности должен проверяться на уровне БД Покажи место в этом треде, где говорилось иное, или хоть что-то, что противоречило этому утверждению, форумное балаболище. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:15 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я кстати видал на одном смежном горе проекте попытки парсить ошибки из СУБД, и переводить их на человечий язык пользователя. Во-первых, это работало только на том, что лично протестировал разработчик, при чём на локальной версии БД. При заливки на продакшен всё накрылось медным тазом, так как версия продакшена отличалась от дев. Во-вторых, после обновления версии БД, ошибки стали прилетать локализованные, всё опять накрылось, а разраба к тому времени уже выгнали (подробностей не знаю, но надеюсь с позором). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:34 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кстати внезапно в Microsoft придумали  UserValidator , что валидирует пользователей до сохранения. И ему, скуа, можно выставить свойство RequireUniqueEmail . Походу пора выезжать к ним, чтобы люлей раздать ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 10:35 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAКстати внезапно в Microsoft придумали  UserValidator , что валидирует пользователей до сохранения. И ему, скуа, можно выставить свойство RequireUniqueEmail . Походу пора выезжать к ним, чтобы люлей раздать а ты код посмотрел, как это реализовано? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 12:29 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Этот код проверяет не уникальность имейл, а кому он принадлежит в каком то тупом контексте какого то тупого менеджера юзеров ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 12:39 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Уникальность может обеспечить только владелец ресурса ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 12:42 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ViPRos, тут обсуждается сама идея вынести проверку уникальности логина в код, что отрабатывает до сохранения в БД реализация ясен пень зависит от ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 12:47 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  В последней части спора правы все. Но точно так же в последней части спора неправы многие. То есть просто нужно упомянуть разделение валидации ряда сущностей на периоды "до сохранения" и "в момент сохранения". В первый период мы отрезаем 99.9% проблем, а во второй - все оставшиеся. При этом если сохранением заведует сервер приложений, то вполне вероятна ситуация с кэшем интересующих нас сущностей, в котором и производится поиск и блокировка до сохранения или отмены, что позволяет объединить проверки "до" и "во время" сохранения. В общем опять всё уходит в сторону разнообразия требований, но тем не менее даже если "до" и "во время" объединены, всё равно не вредно помнить о наличии разделения на "до" и "во время". Поэтому stenford прав, что напомнил, а остальные правы, что указали ему на неполноту напоминания. Ну и ошибки по констрейнтам из базы вам всем как раз об этой теме и призваны напоминать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 12:51 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ViPRosЭтот код проверяет не уникальность имейл, а кому он принадлежит в каком то тупом контексте какого то тупого менеджера юзеров Ахаха, ну да этот тупой менеджер юзеров вызывает тупой метод FindByEmailAsync (говорят, что в компании камрада stenford за это выдают люлей на code review). И если юзер с таким мылом найден в хранилище, то формируется IdentityError с кодом DuplicateEmail и соответсвующим описанием проблемы. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:02 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  alex55555, а Вы сами-то как проверяете уникальность логина, домена, ника, почты при регистрации? До записи, или пишете в базу и обрабатываете ошибки? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:07 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAДурак что-ли? Конечно не вывожу. правда не выводишь? А сюда зачем тогда написал? Что-бы показать как не выводишь? Какая интересная поведенческая модель, по некоторым персонажам тут можно диссертации по психиатрии защищать skyANAА ты покажешь код как ты понимаешь по ошибке, что именно логин такой уже существует, а не ник, не номер паспорта, или что-то ещё? Очень любопытно. да легко Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. а теперь выложи-ка сюда аналог твоего кода, делающего тоже-самое, я правда знаю что там будет, но для полноты диссертации так сказать skyANAНу и хоть один сайт, где выводится сообщение о том, что такой логин уже существует в системе после того, как попытались что-то в БД записать. Давно таких не видел, тоже любопытно. ты сам-то понял, что написал? Ты по одному взгляду на сайт собрался определить реализацию конфликтов обновлений? Ты точно понимаешь о чем мы тут разговариваем-то? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:19 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAэто ты хвосту такие вопросы задавай, я логику в хранимках с возвратом кода исполнения уже забыл когда писал в последний раз Я тоже давно так не писал. Но ты же большой спец по люлям на code review, вот я тебя и спрашиваю. Как-то "я логику в хранимках с возвратом кода исполнения уже забыл когда писал" не тянет на аргументацию в пользу люлей [/quot] теперь спокойно сядь, подумай, и переформулируй вопрос в логически связанной форме, а то твой поток сознания парсить лень ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:22 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANAКстати внезапно в Microsoft придумали  UserValidator , что валидирует пользователей до сохранения. И ему, скуа, можно выставить свойство RequireUniqueEmail . Походу пора выезжать к ним, чтобы люлей раздать ты точно понимаешь о чем мы тут говорим? Конфликт обновления знаешь что такое? Знаешь как их надо обрабатывать? Или увидев флаг в менеджере юзеров решил что он все за тебя сам сделает? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:25 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  И все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:26 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  schiИ все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных  связано с незнанием принципов работы баз данных и того, как работают многопользовательские системы в целом ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:29 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenford  Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. Валидация на эксепшенах. И это тело ещё тут что-тото задвигает про code review, про собеседования и прочее? Это примерно как колхозник будет объяснять математикам, как правильно высчитывать площадь, с помощью квадратной фанеры метр на метр. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:32 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  stenfordschiИ все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных  связано с незнанием принципов работы баз данных и того, как работают многопользовательские системы в целом Да уже понятно про ваш колхоз всё ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:33 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  schiИ все-таки непонятно, с чем связано желание проверять уникальность до записи в базу данных  На пальцах 1. Разнесение логики валидации, это однозначно очень плохо, тут даже без комментариев 2. Невозможность протестировать валидацию, так как она становится завязана на инстанс базы данных 3. Валидация на сообщениях из базы данных, которые строго не регламентируются, так как это просто message, который может поменяться в любой версии и не совместим с другими СУБД в принципе 3.1. Посмотрите на убожеский код stenford , не видите проблему? Я вижу, он не отделяет нарушение разных констрейтов одного типа. Он на эксепшенах, а как ещё? Ведь ошибка БД это уже эксепшен. 4. Валидация на изменяющей операции БД, при которой создаётся транзакция, а это фейл и за это могут тупо отлупить по рукам, да и уволить нафиг. 5. Желание валидировать ДО операции в транзакции, это повсеместно. И вообще, я не понимаю, чего тут обсуждать, валидация на нарушениях констрейтов это полный идиотизм, skyANA же просто интеллигентно троллит колхозника, очевидно. И печально. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:44 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ViPRosЭтот код проверяет не уникальность имейл, а кому он принадлежит в каком то тупом контексте какого то тупого менеджера юзеров seriously? видно, насколько внимательно ты смотрел.. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:46 | 
  
  
  
   | 
||
| 
 
Ссылочная целостность. Проверка данных до записи или обработка ошибок после? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  alex55555Ну и ошибки по констрейнтам из базы вам всем как раз об этой теме и призваны напоминать. Ну тогда и не проблема все ошибки и эксепшены показывать пользователю. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2018, 13:48 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=33&msg=39629089&tid=1547229]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    58ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    57ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 238ms | 
| total: | 395ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.