19.11.2010, 10:22 | #1 |
Участник
|
Аккуратнее! Метод delete запускается даже для пустого курсора
Допустим мы выбираем курсор для обновления. Если запрос не вернул ни одной записи, то попытка сделать обновление этого курсора (вызвать метод update) завершится неудачей.
Текст сообшения об ошибке в таком случае звучит так: Невозможно отредактировать запись в <имя таблицы>. Запись не выбрана. Собственно вопрос: почему в системе нет аналогичной проверки на запуск табличного метода delete() для пустого курсора? Потенциальную проблему я вижу в том, что в табличном методе delete может находиться бизнесс логика, не рассчитанная на вызов в данном контексте. Таким образом, позабыв перед удалением проверить выбрана запись или нет, мы можем получить себе кучу проблем из неоткуда. Будьте бдительны! |
|
|
За это сообщение автора поблагодарили: lev (1). |
19.11.2010, 10:28 | #2 |
Ищущий знания...
|
думаю разработчики рассчитывают на то, что бизнес логика для пустого курсора не отработает.
так же они рассчитывают на то, что перед тем как вызвать метод delete() выполнится проверка курсора, выбралось что или нет. а вообще согласен, думаю логично было бы сделать что то на подобие update и при выполнении delete.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
Теги |
удаление |
|
|