SQL Prompt

Welcome to the SQL Prompt feature suggestion list. Find out more information about SQL Prompt at http://www.red-gate.com/products/sql-development/sql-prompt/.

If you have any questions, need help or have found a bug in SQL Prompt, please visit the forums or our support portal.

SQL Prompt

Categories

JUMP TO ANOTHER FORUM

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Currently there is no way to tell Code Analysis to ignore this specific object for a specific rule which has led to several false positives and wasted time re-investigating how to address the issue in the object only to come to the same conclusion as before that this is one of the rare cases where breaking that rule is ok.

    My example is we have one stored procedure out of a thousand where the use of a NVARCHAR(2) makes sense and is actually more efficient then switching to a NCHAR(2) for what the code needs to do. Unfortunately the procedure…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  2. Consider I've got a variable of varchar(35)

    I perform an update on a column of varchar(10), it should suggest that there will be a truncation

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  3. There's an obscure coding bug that I've seen multiple times in my 20 years of working with SQL Server, and it can be particularly difficult to spot as it doesn't cause a syntax error, yet the havoc it wreaks can be widespread. Consider the following scenario with two tables; they are similar but have differing column names. Now say I want to insert records from StagingTable into FinalTable, but only if they don't already exist there. Yes, there are other ways to handle this like Merge, Left Outer Join etc., but this is still commonly used and you will no…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  4. In a large query, it can be a hassle to check every join to make sure the data types match up exactly (for example, nvarchar(50) <-> varchar(100)). These differences can have huge impacts on query performance in some circumstances, or lead to confusing results if data types are converted in an unexpected way. A suggestion to call out boolean statements comparing mismatched data types could be extremely useful.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  5. Please create a rule that detects when the data type of input parameters, local variables, and/or expressions do not match the data type of the column in a predicate.

    For example, if we have

    a Person table, with column LastName varchar(60) NOT NULL, and

    in the body of a stored procedure which has an input parameter defined as @LastName nvarchar(100)... and a predicate like WHERE Person.LastName = @LastName [join, apply, correlation, and functions also need this]

    It would be wonderful - save me massive amounts of time - if SQLPrompt could flag this and help reduce implicit conversions.

    Thank you!

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  6. 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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  7. At the moment a warning is given "Non-scalar subquery in place of a scalar" when trying to assign a variable to the result of a query filtered by the primary key column. In this case only one result can be returned so the warning appears inaccurate and wrapping the result in a TOP 1 { } ORDER BY statement seems an overkill just to remove the warning. This is kind of a special case however where the subquery contains only one table filtered with "=" on the primary key column, but it is a very common one.

    Example:
    DECLARE @X…

    5 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  8. Could we have the ability to change the background colour when Code Analysis detects an issue with the code. My scheme is black background and light coloured fonts. When code analysis detects an issue, the code becomes unreadable. Below has an example:

    https://forum.red-gate.com/discussion/86480/code-analysis-selection-background-colour#latest

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  9. Add option to prevent SQL Prompt from looking across DBs for joins. We have DB Servers with 5000 DBs on them. SQL Prompt struggles to try and evaluate possible cross DB joins. It'd be nice to be able to turn that off so that it only tries to do analysis on the currently selected DB.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  10. Open the Rules Engine API so that we can create our own organizational specific rules.

    For example, I would like to be able to flag datetime, getdate(), getutcdate().

    5 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  11. Currently Code Analysis does not implement all of the items that Find Unused Variables and Parameters does.

    Specifically I know it's missing:
    - Declared variables that are used before a value is assigned
    - Assigned values that are never used

    Ex.
    With this code:

    DECLARE @Test NVARCHAR(1)
    DECLARE @Test2 INT
    DECLARE @Test3 DATE

    SET @Test = 1

    SET @Test = N'Test' + @Test2

    Code Analysis will flag the DECLARE for @Test for having a NVARCHAR of size 1 and @Test3 for not being used, but it will not flag @Test2 for being used before a value is assigned to it…

    6 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  12. The list is useful to drive code positioning, but that's all it does. Rules like ST011 that go against authoritative SQLPass presentations are noise. Yes, we can click the SQP Menu, nav to manage, scroll down, and finally disable, save, then refresh... (out of breath!). Just right-click and Disable rule, which also refreshes the list. That kind of useful RC-Menu. And instead of having to go to the Rule Maint to see exactly what the rule is enforcing, RC-menu has "Show Issue Help" in a bubble, built in. And for those cases where a rule isn't to be shut down,…

    4 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  13. It helps avoiding join on the same column (especially at inner join).
    Example:
    UPDATE A SET Column1 = B.Column2 FROM TableA AS A INNER JOIN Table B ON A.Column3 = A.Column3.
    It happens usually by accident. The statement should be:
    UPDATE A SET Column1 = B.Column2 FROM TableA AS A INNER JOIN Table B ON A.Column3 = B.Column3.

    13 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  14. With the deprecation of SQL Code Guard and it's replacement by Code Analysis there is one feature that we heavily used that is now no longer there, and that is the ability to run SQL Code Guard against the whole DB not just the query on the screen.

    This allowed us to investigate new DBs that we'd inherited to see what sort of cleanup we might be looking at as well as giving us the ability to see if anything had snuck in to our existing DBs without going file by file.

    I know there are other tools (like SQL…

    16 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  15. Sometimes line-endings get messed up by source-control (looking at you Git) and "intellisense" will give you lots of green squigglies that you'd rather not commit to the branch.

    A good menu option for SQL Prompt would be 'Normalize Line Endings' with a sub-menu selection of 'Windows' or 'Unix'. Then fire off a regex expression powered search and replace on the file. It's fairly easy to do manually with a Ctrl+Shift+F in Visual Studio, but in SSMS, it's more complicated to do so manually, I think.

    Git does this to me once in a while, and I have to open the…

    8 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  16. SQL Prompt should be able to Visualize the Code and represent the code like Flow Chart.
    This Feature will be very useful while working with heavy Stored Procedures.

    The Sample Code Visualization image is shared below:

    https://drive.google.com/file/d/1dE0H7UP1MOuOZ4A3e4urUkDlR0FD4474/view?usp=sharing

    21 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  17. To help our developers we - as dba's - perform validation against their procedures and database code. The library of rules that is incorporated in SQLPrompt could be a good rule of thumb for the basic stuff of reviewing, so that we can focus on other stuff when validating.
    Is it possible to run the rules "engine" of SQLPrompt against an existing database without having to open the code manually?

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  18. Sometimes I would like to just copy/paste the issues discovered and include in an email. Currently, I cannot copy the Issues list. It takes too much time/effort to export to a file and then attach that file to an email. Copy/paste would be so much easier.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  19. When I call a stored procedure, I want SQL Prompt's code analysis rules to be able to tell me if the variables I am passing to the stored procedure are OK.

    For example, if I pass a bigint variable to a SP that has a tinyint input parameter, I want SQL prompt to flag that as a potential issue.

    Similarly, if I am passing a string variable defined locally as nvarchar(150) to a SP that takes only nvarchar(100), it should be flagged as an issue (because I am passing a string that may not "fit" into the input parameter).

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
  20. Create auto fix for Issue code: DEP01 non-standard column aliases because of single quote delimiter. Also need to update SQL Format tool, it is currently using single quote and there is no way I could find to switch it to double quote.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Code Analysis  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1
  • Don't see your idea?