- or
9 results found
-
PE006 is Too Noisy for Temp table Parallel INSERT
We use the WITH (TABLOCK) hint extensively for loading temp tables - see https://www.sqlshack.com/use-parallel-insert-sql-server-2016-improve-query-performance/
PE006 is far too picky - it yells at every such statement in our high-volume hybrid solution. It would be good to "silence" this kind of rule-breakage so we can see any REAL violations on persisted tables.
Please augment to utterly ignore temp tables.
1 vote -
PE019
I'd like to vote for adding PE019 (Consider using EXISTS instead of IN) to the issues which can be auto-fixed.
It feels like the kind of re-write that would probably be simpler for a computer to do than a person.
5 votes -
Code Analysis Disable Rule for specific cases
Hi,
it would be extremely useful to allow the user to disable a code analysis rule for specific cases and not just on a global scope.
E.g.
cast(cast(0 as binary) pops up the issue BP008 (CAST/CONVERT to var types without length) which my be correct for certain cases but not always.It would be very hand if I could tell the analyzer to not give any warning for this single line, perhaps by adding a pseudo comment like --##BP008 or similar.
This comment would temporarily disable the warning for this single line/case but not for the rest of a script.
…
18 votes -
Remove PE019 (Consider using EXISTS instead of IN), or allow it to be disabled
Following the suggestions of rule PE019 (Consider using EXISTS instead of IN) leads to performance issues, by creating correlated subqueries. Even the documentation of the rule admits that there is no longer a performance benefit of doing what is suggested. Please remove the rule or allow the rule to be disabled across a team. At the moment, the disabling of rules is done per developer, and a developer who did not know to switch off this rule, followed the advice, creating a performance problem.
3 votes -
Place space before END when collapsing shorter case statements
When collapsing CASE expressions shorter then XXX, the END has no space if there is a preceding parenthesis.
Example1 = CASE t1.Col004 WHEN 1 THEN t1.Col006 END,
Example1 = CASE t1.Col004 WHEN 1 THEN TRY_CONVERT(int, t1.Col006)END4 votes -
Implement all SQL Code Guard Rules in SQL Prompt Code Analysis
There are several rules that are only available in SQL Code Guard. And with SQL Code Guard no longer being maintained they should be implemented in SQL Prompt Code Analysis so that we can avoid having to use two products.
By our count here are the rules currently not implemented in Code Analysis:
DEP004 COMPUTE and COMPUTE BY clauses are deprecated
DEP005 FASTFIRSTROW table hint is deprecated
DEP008 PASSWORD/MEDIAPASSWORD options in BACKUP/RESTORE statement are deprecated
DEP010 DBCC CONCURRENCYVIOLATION is deprecated
DEP017 NON-ANSI join (= or =) is used
EI001 Incompatible variable type for procedure call
EI002 Incompatible literal…5 votes -
Refactor Select Into Statement as Create and Insert
I would like an efficient way to refactor this kind of statement...
SELECT ID, Name, Job INTO #Employee FROM Employees
into something like this-
CREATE TABLE #Employee (ID int, Name varchar(max), Job varchar(max))
INSERT INTO #Employee
SELECT ID, Name, Job
FROM EmployeesThe PE003 rule keeps triggering on these statements but it takes an annoyingly long time to write out the column definitions by hand for longer tables.
2 votes -
Database-specific snippets
Database-specific snippets.
We have 80 or so databases scattered across 200+ instances and many tables have similar names or identical names with differing schemas: compare person.personpe, dbo.person & finance.personpe. This particular is extreme and there are more examples but the principle applies.
I would love to be able to define pe as a snippet at a database level so that I can keep my snippet names short and so that I don't have to rename them manually when I am in SSMS with a lesser used database.
1 vote -
Place space before END when collapsing shorter case statements
When collapsing CASE expressions shorter then XXX, the END has no space if there is a preceding parenthesis.
Example1 = CASE t1.Col004 WHEN 1 THEN t1.Col006 END,
Example1 = CASE t1.Col004 WHEN 1 THEN TRY_CONVERT(int, t1.Col006)END,0 votes
- Don't see your idea?