powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Эмулятор компилятора MySQL.
10 сообщений из 10, страница 1 из 1
Эмулятор компилятора MySQL.
    #39081278
Basil_Tsvetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи!

Хорошо бы иметь средство проверки хранимых процедур такого типа, чтобы можно было ловить использование необъявленных переменных хотя бы. Столько глупых ошибок бы сразу ушло.

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

Версия 5.5.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081295
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil_Tsvetkovиспользование необъявленных переменных хотя бы.
Не используйте User-Defined Variables, и всё. Строго DECLARE. Ошибки вылезут сами.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081322
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используй dbForge foe Mysql
и будет тебе счастье
с ошибками просто не сохранишь хранимку, и по шага отладить сможешь
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081336
Basil_Tsvetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Перечитайте начало, я пишу именно про DECLARE, точнее, про случаи, когда про DECLARE забыли.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081495
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil_TsvetkovПеречитайте начало, я пишу именно про DECLARE
Перечитал. Учитесь формулировать - то, что там написано, намекает именно на пользовательские переменные, только их можно использовать необъявленными по причине разрешённого неявного создания. А при забытой декларации никакого использования не будет, будет ошибка.
Basil_Tsvetkovслучаи, когда про DECLARE забыли
Вообще-то первое действие после создания процедуры - это проверка оной выполнением с тестовыми данными. Не увидеть последствий забытого DECLARE при этом невозможно.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081647
Basil_Tsvetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaBasil_TsvetkovПеречитайте начало, я пишу именно про DECLARE
Перечитал. Учитесь формулировать - то, что там написано, намекает именно на пользовательские переменные, только их можно использовать необъявленными по причине разрешённого неявного создания. А при забытой декларации никакого использования не будет, будет ошибка.
Basil_Tsvetkovслучаи, когда про DECLARE забыли
Вообще-то первое действие после создания процедуры - это проверка оной выполнением с тестовыми данными. Не увидеть последствий забытого DECLARE при этом невозможно.


Вы идеалист насчет тестирования. Будете тестировать все обработчики ошибок и все ветвления в процедуре, буквально каждую строку?

И расскажите заодно как протестировать все до единой строки каждой процедуры из уже существующих.

Решительно не понимаю как можно жить без нормального компилятора? Каменный век вообще!
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39081659
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil_TsvetkovБудете тестировать все обработчики ошибок и все ветвления в процедуре, буквально каждую строку?А что, выдавать на-гора код, который даёт верные результаты только по большим праздникам - лучше? Обязательно буду, и не только на "равномерные" данные, но и на все возможные кривые и граничные наборы.

Basil_Tsvetkovкак протестировать все до единой строки каждой процедуры из уже существующих.
Элементарно. Промежуточные значения заносятся в отладочную таблицу и анализируются на предмет отсутствия ошибок, в простейшем случае - сравниваются с эталонными. Проверенный и отлаженный код затем чистится от отладочных операторов - в ходе работы установкой сигнальной переменной, а в готовом коде комментированием или удалением.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39082008
Basil_Tsvetkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaBasil_TsvetkovБудете тестировать все обработчики ошибок и все ветвления в процедуре, буквально каждую строку?А что, выдавать на-гора код, который даёт верные результаты только по большим праздникам - лучше? Обязательно буду, и не только на "равномерные" данные, но и на все возможные кривые и граничные наборы.

Basil_Tsvetkovкак протестировать все до единой строки каждой процедуры из уже существующих.

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

Подозреваю, что в случае тривиальной доработки в одну строчку для старой процедуры вам будет жалко времени на это всё.

И скорее всего ошибку, которая там уже была вы не найдете.

И когда она вылезет вы поймете о чем вообще здесь шла речь.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39082018
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil_Tsvetkov,
я предложил вариант 18303006 , котоый воплощает все твои хотелки, я его уже не один год использую, нареканий нет, все твои проблемы решаются на стадии написания и сохранения.
...
Рейтинг: 0 / 0
Эмулятор компилятора MySQL.
    #39082029
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil_TsvetkovПодозреваю, что
Да пожалуйста, подозревайте.

Для вразумления тех, у кого неожиданно рухнул жёсткий диск, существует поговорка "Одни люди делают бэкапы, а другие будут их делать". В данном случае ситуация по сути совершенно аналогичная, пусть и на радикально ином материале. Жалеете время на тестирование - потом будете жалеть время, потраченное на восстановление работоспособности системы и валидности информации. Причём второго скорее всего потратится больше. Но убеждать не стану - каждый ССЗБ.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Эмулятор компилятора MySQL.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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