Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions sp_BlitzIndex.sql
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,25 @@ SET @DatabaseName = COALESCE(@DatabaseName, PARSENAME(@ObjectName, 3)) /* 3 = Da
SET @SchemaName = COALESCE(@SchemaName, PARSENAME(@ObjectName, 2)) /* 2 = Schema name */
SET @TableName = COALESCE(@TableName, PARSENAME(@ObjectName, 1)) /* 1 = Table name */

/* Handle already quoted input if it wasn't fully qualified*/
SET @DatabaseName = PARSENAME(@DatabaseName,1);
SET @SchemaName = ISNULL(PARSENAME(@SchemaName,1),PARSENAME(@TableName,2));
SET @TableName = PARSENAME(@TableName,1);
/* Handle already quoted input if it wasn't fully qualified - only if @ObjectName is null*/
IF (@ObjectName IS NULL)
BEGIN
SELECT @DatabaseName = CASE WHEN @DatabaseName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@DatabaseName,1) ELSE @DatabaseName
END,
@SchemaName = ISNULL(
CASE /*only apply parsename if the schema is actually quoted*/
WHEN @SchemaName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@SchemaName,1) ELSE @SchemaName
END,
CASE /*if we already have @TableName in the form of [some.schema].[some.table]*/
WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,2)
/*I'm making an assumption here that people who use . in their naming conventions would have one in each object name*/
WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,2) ELSE NULL
END),
@TableName = CASE
WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' OR @TableName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,1)
WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,1) ELSE @TableName
END;
END;

/* If we're on Azure SQL DB let's cut people some slack */
IF (@TableName IS NOT NULL AND @AzureSQLDB = 1 AND @DatabaseName IS NULL)
Expand Down
Loading