Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7   вперед  Ctrl      все
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior
locky
на стенде такой вариант работает нормально
Да, так только на одной машине вываливается? :(
Отбой.

пробовал и наоборот - ставить под юзером под UAC - требует логин с правами - работаем и в сессии текущего юзера, и в сессии админа
10 окт 12, 15:06    [13296480]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Да забейте, это пробемы скорее локальные и самой системы Addon-ов, а не вашего конкретно.
(там вааще пользователь залогинен и заблокирован , а адон вообще не виден в списке установленных программ)

К примеру, если поставить и снести не перегружая машину, то менюшки останутся. Если их нажимать, то ругается.
10 окт 12, 17:08    [13297734]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior
Да забейте, это пробемы скорее локальные и самой системы Addon-ов, а не вашего конкретно.
(там вааще пользователь залогинен и заблокирован , а адон вообще не виден в списке установленных программ)

К примеру, если поставить и снести не перегружая машину, то менюшки останутся. Если их нажимать, то ругается.

Не, если снести - то да, меню остается
По хорошему надо допиливать инсталлер, чтобы при деинсталляции... ну, что-нить он там делал....
но т.к. побочный эффект не смертельный (3 раза ткнул - меню исчезло), то пока не разбирался толком.
Хотя неаккуратненько, конечно :(
10 окт 12, 17:11    [13297772]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
А неужели с XMLNAMESPACES есть проблемы?
Это же зарезервированное слово, нельзя создавать CTE с таким именем (кроме как заквотированное)
WITH [XMLNAMESPACES] AS (SELECT 'http://bla.bla' AS bla)
SELECT	*
FROM	XMLNAMESPACES;
GO
WITH XMLNAMESPACES AS (SELECT 'http://bla.bla' AS bla)
SELECT	*
FROM	XMLNAMESPACES;
GO
Msg 156, Level 15, State 1, Line 5
Неправильный синтаксис около ключевого слова "AS".
11 окт 12, 10:30    [13300760]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
-- Не обрабатывает SEND, остальные команды с диалогом нормально
SEND ON CONVERSATION |@Dialog
	MESSAGE TYPE MRequest
	(@@Request);
-- Название лейблы (Destroy и MRETURN:) не нравится, остальные нормально
Destroy|:EXEC @ErrCode = sys.sp_OADestroy	@OLEXMLBulk
-- OUT что-ли не нравится ему?
|EXEC ('begin :Res = Packet.Function(:Param); end;',@Res OUT,@Param) AT Link
-- Одноместные операторы присваивания в UPDATE не воспринимает
|UPDATE	<Table>
SET	 Field1	-= <Exp1>
	,Field2	+= <Exp2>
...
-- Осталось с прошлого раза
|SET LANGUAGE 'Russian'	-- в кавычках не воспринимает, можно в нежелательное (Best practic)
|BULK INSERT ...
|WRITETEXT	-- В Deprecated
|UPDATETEXT	-- В Deprecated
-- Тупо такая комбинация (NOT MATCHED BY TARGET, MATCHED), меняете местами и уже не "падает"
MERGE	X T
USING	X S ON T.X = S.X
WHEN	NOT MATCHED BY TARGET
THEN	INSERT	(  X)
	VALUES	(S.X)
|WHEN	    MATCHED
THEN	UPDATE
	SET	 X = S.X

SELECT	*
FROM	OPENXML(@h, N'/X')
WITH (X VarChar(50) COLLATE Cyrillic_General_CS_AS '@X')
;
-- На такой конструкции: 8-O
SELECT @Var (SELECT 1) -- Когда сразу за _переменной_ идёт скобка (не важно, пробелы или ентеры)
Но XMLNAMESPACES львиная доля. На одно базе 122 Unparsed случаев и думаю не менее 9/10 это XMLNAMESPACES.

Короче, те же ошибки, только решены:
Reserved Words. Нигде не замечено. Многое стало парсироваться. Спасибо. Видимо тут было очень много работы.
SET LOCK_TIMEOUT -1
И добавлена с лейбой Destroy
11 окт 12, 13:16    [13302003]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
DECLARE @XML XML
SELECT	@XML.value('text()[1]','NVarChar(max)')			-- Работает
SELECT	(@XML).value('text()[1]','NVarChar(max)')		-- Ошибка
SELECT	(SELECT @XML).value('text()[1]','NVarChar(max)')	-- Ошибка
Тут надо обработать XML Expression. Где FOR XML это одно из.
11 окт 12, 13:23    [13302066]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
автор
-- Название лейблы (Destroy и MRETURN:) не нравится, остальные нормально
Destroy|:EXEC @ErrCode = sys.sp_OADestroy @OLEXMLBulk

Нужен более полный контекст
в различных ситуациях оно может парсится, а может не парсится

Это - не парсится
select * from Table1 
destroy:
go


а это - парсится
select * from Table1 t1
destroy:
go

declare @i int
destroy:
go


в первом случае destroy воспринимается как альяс для Table1, после чего парсинг падает на "непонятно откуда взявшемся" двоеточии.
11 окт 12, 13:56    [13302397]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Согласен, обленился.
Можно протестировать на этом примере: 8075805
11 окт 12, 14:57    [13302924]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior,
Destroy: EXEC @ErrCode = sys.sp_OADestroy	@OLEXMLBulk

добавить пробел после двоеточия
забавная ошибка.
11 окт 12, 14:59    [13302948]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
locky
добавить пробел
Ха.
SELECT CASE 1WHEN 1THEN 0WHEN''THEN 2 END
Ан нет, не валится.
А вот на форуме подсветка летит.
11 окт 12, 15:48    [13303403]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior
locky
добавить пробел
Ха.
SELECT CASE 1WHEN 1THEN 0WHEN''THEN 2 END
Ан нет, не валится.
А вот на форуме подсветка летит.

?
ну да, не валится.
11 окт 12, 15:52    [13303433]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Ну хотел "проверить", ведь во многих местах может не быть разделителей, только вот протестить полноценно лень.

Вон с "@Var (" тоже баг забавный.
SELECT @Var (SELECT 1)
11 окт 12, 16:56    [13303876]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior
Ну хотел "проверить", ведь во многих местах может не быть разделителей, только вот протестить полноценно лень.

Вон с "@Var (" тоже баг забавный.
SELECT @Var (SELECT 1)

ну.... разделители - штука такая
с меткой это был баг токенайзера - неудачная попытка описать системные функции ::function()

в случае же с SELECT CASE 1WHEN 1THEN 0WHEN''THEN 2 END, то 1WHEN не является ни ключевым словом, ни идентификатором - и то, и другое должно начинаться или с буквы или (если идентификатор) - подчеркивание, собака, решетка
т.к. это не так, то это - литерал, целочисленный или numeric - 1
ну а WHEN - это уже следующий токен :)

а с (SELECT 1) - я просто не рассматриваю такую ситуацию :)
11 окт 12, 17:03    [13303931]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
locky
а с (SELECT 1) - я просто не рассматриваю такую ситуацию :)

Хотя синтаксис и описан, оказывается :(
Внимательнее надо читать документацию :(
11 окт 12, 17:07    [13303956]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
locky
я просто не рассматриваю такую ситуацию :)
Ну э, я как понимаю, что неважно что написано, если оно компилируется, значит не должно валится в ошибки.
Другое дело как на это реагировать.
Лишние скобки тоже надо в best practic, адназначна. Ибо такой код вводит в заблуждение.
Такова задача Code Analisys - потом и кровью надо все варианты разобрать.
11 окт 12, 17:48    [13304235]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
На этой неделе видимо завал.
Пожелаем locky удачи, лёгких решений и побольше свободного времени и хорошего настроения.

15 окт 12, 19:08    [13322478]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
UPDATE SET SomeField = SomeFiled
Выдавать предупреждения, если явно заменяется на тоже значение.
Это явно профтык или какой-то хитрый костыль.

Кстати, в статических анализах кода, можно отмечать те варнинги, которые проверены и должны так и остаться, но чтоб далее глаза не мазолили.
15 окт 12, 22:06    [13323007]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Update to 2.1.4692 Added support of SSMS 2012

Других толковых изменений с прошлого раза - не произошло
5 ноя 12, 17:35    [13423089]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
I_Hate_Registration
Member

Откуда:
Сообщений: 3
locky,

Добрый день!

Есть 2 запроса по функционалу связанных с sql guard API:
1) Необходимо получить code complexity через API, в данный момент только через SSMS Addin.
2) Получить Issue Cathegory (не Code) через API.
21 янв 13, 19:49    [13805573]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
I_Hate_Registration,

пока никак.
Постараюсь сделать в ближайшее время, не факт, что релизное, но всё-таки
ссылку кину в приват
21 янв 13, 20:14    [13805633]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
locky, извини что подымаю, времени наверно у вас нет, но не хочу забыть и выкидываю сюда.
Возможно уже есть, или предлагалось, но не могу сейчас проверить.

Нужно добавить проверку на строковые константы.
Т.е. проверять, если символы в ней не подходят под текущую кодировку базы (для переменных) или не сходятся с колейшином колонки (учитывая тип таблицы, колейшин tempdb, standalone базы 2012).

Тут две проверки, одно на отсутсвие префикса N'Unicode chars'
Другая на не схождение с приёмником.
12 июл 13, 14:59    [14558548]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Mnior,

спасибо, я запишу в чеклист
не факт, что будет сделано быстро, но тем не менее
12 июл 13, 15:52    [14558989]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
http://www.sqlcodeguard.com/
Breaking news! SQL Code Guard is now part of Red Gate ecosystem project! (framework is included in SCG installation package)
Давно не заглядывал, темка не всплывает, а тут такое.
20 фев 14, 11:29    [15596351]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Mnior
http://www.sqlcodeguard.com/
Breaking news! SQL Code Guard is now part of Red Gate ecosystem project! (framework is included in SCG installation package)
Давно не заглядывал, темка не всплывает, а тут такое.


во как, прогресс ;-)
20 фев 14, 11:59    [15596712]     Ответить | Цитировать Сообщить модератору
 Re: SqlCodeGuard - бесплатный addin для SSMS  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
добавим немного пиару

https://www.sql.ru/blogs/locky/1778
20 фев 14, 13:29    [15597716]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить