Конференция "Базы" » MS SQL. Получить от сервера реальный исполняемый код
 
  • ВладОшин © (29.09.16 18:33) [0]
    Приветствую!
    Задумался вот о чем
    Есть код, допустим,
    declare @I int = 'TRUE'
    if @I = 'TRUE'
      exec Proc1
    else
      exec Proc2
    Отсылаю я серверу этот код
    Вопрос.. А могу ли я узнать из этого запроса, что код
    exec Proc2
    не будет выполнятся вообще?

    т.е. может сервер ответить, что вариант else в данной конструкции "мертвый"
    т.е., в общем случае, проанализировать запрос и выдать что-то вроде дельфого Declared but never used
    ?
  • ВладОшин © (29.09.16 18:41) [1]
    >> @I int = 'TRUE'
    )) varchar , да не важно на самом деле
  • iop © (29.09.16 20:09) [2]
    могу ли я узнать из этого запроса

    программист из этого запроса без труда узнает что элс здесь мертвый
    даже без сервера
  • kilkennycat © (29.09.16 20:41) [3]
    чет мне кажется, что такой анализ полезен при программировании, а не при работе с сервером бд. в противном случае, чего б ему еще и на неиспользумые поля в табличке не варгнить?
  • ВладОшин © (29.09.16 21:54) [4]

    >iop

    программисту сложно оценить даже такой код, если он его не видит

    >>kilkennycat ©
    Ну да.. Тогда анализатор что ли надо поискать какой
    Если код генерируется, очень лог раздувается.
    (не тот, который ldf, а обычный, мой, *.txt )) )
    Как бы хотелось - спросить сервер: а может из этого запроса что-то никогда и не выполнится? А сервер такой: а да, вот это выкинь, вот так спросишь если, ответ будет тот же самый. И это что бы он делал без выполнения.
  • Сергей Суровцев © (29.09.16 22:00) [5]
    >ВладОшин ©   (29.09.16 21:54) [4]
    >И это что бы он делал без выполнения.

    Тогда по большому счету это может делать и не сервер.
  • ВладОшин © (29.09.16 22:07) [6]

    > Сергей Суровцев ©   (29.09.16 22:00) [5]

    Да. Наверное, прав.
    Но я что про сервер спросил - он же все равно строит план как он будет это делать. Наверняка знает наперед, что уже выпало из прохода.
    А так - может быть вполне и аналайзер какой подойдет.. поищу.
  • kilkennycat © (29.09.16 22:09) [7]

    > Наверняка знает наперед, что уже выпало из прохода

    а если он как интерпретатор?
  • ВладОшин © (29.09.16 22:16) [8]

    > kilkennycat ©   (29.09.16 22:09) [7]

    да не могет быть..
    Такие планы по запросам строит - а по коду не глядит на полшажка вперед??
  • iop © (29.09.16 23:04) [9]
    план - это ты с прямым углом перепутал.

    он чтобы таблицы подешевле джойнить.

    а то что там в скрипте никогда не будет выполняться, так от этого ему ни жарко ни холодно.

    в одном случае действительно важный вопрос времени и ресурсов,
    в другом случае никому не важный невопрос про объем кода который наваял какой-то влад.
  • ВладОшин © (30.09.16 00:43) [10]

    > iop ©   (29.09.16 23:04) [9]

    Вы поймите, это не горит, это не смертельно, да и не особо надо. Но вот вам, как программисту ), разве не интересно можно или нет выцепить планы штаба дивизии, все 2 коллоды)

    зы
    у вас все нормально?
    ну там в семье, может.. Иногда надо высказаться, тяжело жить, наверное, желчью наружу то
  • iop © (30.09.16 08:44) [11]
    у нас все нормально.

    а тем, кто думает,
    что не задаваться по настоящему дурацкими вопросами - это девиация,
    вот тем провериться у медиков с психологами как раз и надо.
 
Конференция "Базы" » MS SQL. Получить от сервера реальный исполняемый код
Есть новые Нет новых   [118670   +55][b:0][p:0]