U-SQL Intellisense от псевдонима

Если я использую псевдоним в U-SQL, IntelliSense ничего не запрашивает. Например,

@query =
  SELECT PropertyOne,
         PropertyTwo
  FROM @some_table;

@intellisense_test =
  SELECT PropertyOne
    FROM @query;

В этом случае intellisense будет работать. Но в примере ниже этого не будет.

@intellisense_test = 
  SELECT q.PropertyOne 
    FROM @query AS q;

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


person Ben Kotvis    schedule 28.10.2016    source источник
comment
Привет, Бен... не уверен, что должно работать... Я прошу прокомментировать одного из членов группы инструментов. Я бы в любом случае рекомендовал отправить предложение по адресу aka.ms/adlfeedback.   -  person Michael Rys    schedule 28.10.2016
comment
Хорошо, Майкл, сделаю.   -  person Ben Kotvis    schedule 28.10.2016


Ответы (2)


Это типичная проблема "SQL" для IntelliSense. Поскольку синтаксический анализатор intellisense может использовать только уже просмотренные привязки, он не знает в предложении SELECT, что содержит предложение FROM. Я попросил их проверить, есть ли способ заглянуть в предложение FROM в случае SELECT, но пока, к сожалению, его нет.

person Michael Rys    schedule 31.10.2016
comment
Спасибо за продолжение. - person Ben Kotvis; 01.11.2016

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

Если вы пишете псевдоним, за которым сразу же следует квадратная скобка, IntelliSense возвращает список полей из таблицы псевдонимов.

Например:

@intellisense_test = 
  SELECT q[PropertyOne]
FROM @query AS q;

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

Не идеально, но это допустимый обходной путь.

Надеюсь это поможет.

person Paul Andrew    schedule 10.11.2016
comment
PS. Это использовалось Visual Studio 2015 и расширение Data Lake Tools версии 2.2. - person Paul Andrew; 10.11.2016