Skip to content

Commit

Permalink
Merge pull request #230 from LowlyDBA/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
lowlydba authored Jan 26, 2022
2 parents 52d4b51 + 2326060 commit c753d4a
Show file tree
Hide file tree
Showing 12 changed files with 107 additions and 60 deletions.
11 changes: 8 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# linguist overrides
*.sql linguist-language=TSQL
*.sql diff
*.sql linguist-language=TSQL
*.sql diff

# exclude from releases
.* export-ignore
/tests export-ignore
/appveyor export-ignore

# line endings for code coverage files
appveyor/sqlcover/* text eol=lf
appveyor/sqlcover/* text eol=lf
10 changes: 8 additions & 2 deletions .github/linter-conf/.tsqllintrc_150
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
{
"rules": {
"case-sensitive-variables": "error",
"concat-strings": "error",
"conditional-begin-end": "error",
"conditional-begin-end": "off",
"count-star": "error",
"cross-database-transaction": "error",
"data-compression": "warn",
"data-type-length": "error",
"delete-where": "error",
"disallow-cursors": "off",
"full-text": "error",
"information-schema": "error",
"keyword-capitalization": "error",
"linked-server": "error",
"multi-table-alias": "error",
"named-constraint": "error",
"non-sargable": "warn",
"object-property": "error",
"print-statement": "error",
Expand All @@ -22,7 +26,9 @@
"set-quoted-identifier": "error",
"set-transaction-isolation-level": "off",
"set-variable": "off",
"upper-lower": "error"
"update-where": "error",
"upper-lower": "error",
"unicode-string": "error"
},
"compatability-level": 150
}
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 John McCall
Copyright (c) 2018-2022 John McCall

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
4 changes: 2 additions & 2 deletions appveyor/sqlcover/[dbo].[sp_estindex]
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ sp_estindex - Estimate a new index's size and statistics.

Part of the DBA MultiTool http://dba-multitool.org

Version: 20210908
Version: 20220124

MIT License

Expand Down Expand Up @@ -267,7 +267,7 @@ BEGIN TRY
WHERE COALESCE([equality_columns] + ', ', '') + [inequality_columns] = @QuotedKeyColumns
AND ([included_columns] = @QuotedInclColumns OR [included_columns] IS NULL);

IF (SELECT COUNT(*) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
IF (SELECT COUNT(1) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
BEGIN;
SET @Msg = 'No matching missing index statistics found.';
RAISERROR(@Msg, 10, 1) WITH NOWAIT;
Expand Down
8 changes: 4 additions & 4 deletions appveyor/sqlcover/[dbo].[sp_helpme]
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ sp_helpme - A drop-in modern alternative to sp_help.

Part of the DBA MultiTool http://dba-multitool.org

Version: 20210622
Version: 20220124

MIT License

Expand Down Expand Up @@ -76,13 +76,13 @@ BEGIN
END;

/* Check for Hidden Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasHidden = 1;
END;

/* Check for Masked Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasMasked = 1;
END;
Expand Down Expand Up @@ -380,7 +380,7 @@ BEGIN
EXEC sys.sp_helpindex @ObjectName;
EXEC sys.sp_helpconstraint @ObjectName,'nomsg';

SET @SQLString = N'SELECT @HasDepen = COUNT(*)
SET @SQLString = N'SELECT @HasDepen = COUNT(1)
FROM sys.objects obj, sysdepends deps
WHERE obj.[type] =''V''
AND obj.[object_id] = deps.id
Expand Down
20 changes: 10 additions & 10 deletions appveyor/sqlcover/[dbo].[sp_sizeoptimiser]
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ sp_sizeoptimiser - Recommends space saving measures for data footprints.

Part of the DBA MultiTool http://dba-multitool.org

Version: 20210622
Version: 20220124

MIT License

Expand Down Expand Up @@ -74,7 +74,7 @@ BEGIN
END

/* Validate database list */
IF (SELECT COUNT(*) FROM @IncludeDatabases) >= 1 AND (SELECT COUNT(*) FROM @ExcludeDatabases) >= 1
IF (SELECT COUNT(1) FROM @IncludeDatabases) >= 1 AND (SELECT COUNT(1) FROM @ExcludeDatabases) >= 1
BEGIN
SET @Msg = 'Both @IncludeDatabases and @ExcludeDatabases cannot be specified.';
RAISERROR(@Msg, 16, 1);
Expand All @@ -84,7 +84,7 @@ BEGIN
[database_name] SYSNAME NOT NULL);

/* Build database list if no parameters set */
IF (SELECT COUNT(*) FROM @IncludeDatabases) = 0 AND (SELECT COUNT(*) FROM @ExcludeDatabases) = 0
IF (SELECT COUNT(1) FROM @IncludeDatabases) = 0 AND (SELECT COUNT(1) FROM @ExcludeDatabases) = 0
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand All @@ -96,7 +96,7 @@ BEGIN
AND DATABASEPROPERTYEX([sd].[name], 'STATUS') = N'ONLINE';
END;
/* Build database list from @IncludeDatabases */
ELSE IF (SELECT COUNT(*) FROM @IncludeDatabases) >= 1
ELSE IF (SELECT COUNT(1) FROM @IncludeDatabases) >= 1
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand All @@ -106,7 +106,7 @@ BEGIN
AND DATABASEPROPERTYEX([sd].[name], 'USERACCESS') = N'MULTI_USER'
AND DATABASEPROPERTYEX([sd].[name], 'STATUS') = N'ONLINE';

IF (SELECT COUNT(*) FROM @IncludeDatabases) > (SELECT COUNT(*) FROM #Databases)
IF (SELECT COUNT(1) FROM @IncludeDatabases) > (SELECT COUNT(1) FROM #Databases)
BEGIN
DECLARE @ErrorDatabaseList NVARCHAR(MAX);

Expand All @@ -125,7 +125,7 @@ BEGIN
END;
END;
/* Build database list from @ExcludeDatabases */
ELSE IF (SELECT COUNT(*) FROM @ExcludeDatabases) >= 1
ELSE IF (SELECT COUNT(1) FROM @ExcludeDatabases) >= 1
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand Down Expand Up @@ -824,18 +824,18 @@ BEGIN
FROM #Indexes; '

+ /* Find duplicate indexes */ +
N'SELECT COUNT(*) AS [num_dup_indexes], [ix_incl_checksum], [object_id]
N'SELECT COUNT(1) AS [num_dup_indexes], [ix_incl_checksum], [object_id]
INTO #MatchingIdxInclChecksum
FROM #IdxChecksum
GROUP BY [ix_incl_checksum], [object_id]
HAVING COUNT(*) > 1; '
HAVING COUNT(1) > 1; '

+ /* Find overlapping indexes with same indexed columns */ +
N'SELECT COUNT(*) AS [num_dup_indexes], [ix_checksum], [object_id]
N'SELECT COUNT(1) AS [num_dup_indexes], [ix_checksum], [object_id]
INTO #MatchingIdxChecksum
FROM #IdxChecksum
GROUP BY [ix_checksum], [object_id]
HAVING COUNT(*) > 1
HAVING COUNT(1) > 1

INSERT INTO #DuplicateIndex
SELECT N''Inefficient Indexes - Duplicate'' AS [check_type]
Expand Down
6 changes: 0 additions & 6 deletions docs/_config.yml

This file was deleted.

32 changes: 16 additions & 16 deletions install_dba-multitool.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2352,7 +2352,7 @@ sp_estindex - Estimate a new index's size and statistics.
Part of the DBA MultiTool http://dba-multitool.org
Version: 20210908
Version: 20220124
MIT License
Expand Down Expand Up @@ -2597,7 +2597,7 @@ BEGIN TRY
WHERE COALESCE([equality_columns] + ', ', '') + [inequality_columns] = @QuotedKeyColumns
AND ([included_columns] = @QuotedInclColumns OR [included_columns] IS NULL);

IF (SELECT COUNT(*) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
IF (SELECT COUNT(1) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
BEGIN;
SET @Msg = 'No matching missing index statistics found.';
RAISERROR(@Msg, 10, 1) WITH NOWAIT;
Expand Down Expand Up @@ -3205,7 +3205,7 @@ sp_helpme - A drop-in modern alternative to sp_help.
Part of the DBA MultiTool http://dba-multitool.org
Version: 20210622
Version: 20220124
MIT License
Expand Down Expand Up @@ -3269,13 +3269,13 @@ BEGIN
END;

/* Check for Hidden Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasHidden = 1;
END;

/* Check for Masked Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasMasked = 1;
END;
Expand Down Expand Up @@ -3573,7 +3573,7 @@ BEGIN
EXEC sys.sp_helpindex @ObjectName;
EXEC sys.sp_helpconstraint @ObjectName,'nomsg';

SET @SQLString = N'SELECT @HasDepen = COUNT(*)
SET @SQLString = N'SELECT @HasDepen = COUNT(1)
FROM sys.objects obj, sysdepends deps
WHERE obj.[type] =''V''
AND obj.[object_id] = deps.id
Expand Down Expand Up @@ -3749,7 +3749,7 @@ sp_sizeoptimiser - Recommends space saving measures for data footprints.
Part of the DBA MultiTool http://dba-multitool.org
Version: 20210622
Version: 20220124
MIT License
Expand Down Expand Up @@ -3804,7 +3804,7 @@ BEGIN
END

/* Validate database list */
IF (SELECT COUNT(*) FROM @IncludeDatabases) >= 1 AND (SELECT COUNT(*) FROM @ExcludeDatabases) >= 1
IF (SELECT COUNT(1) FROM @IncludeDatabases) >= 1 AND (SELECT COUNT(1) FROM @ExcludeDatabases) >= 1
BEGIN
SET @Msg = 'Both @IncludeDatabases and @ExcludeDatabases cannot be specified.';
RAISERROR(@Msg, 16, 1);
Expand All @@ -3814,7 +3814,7 @@ BEGIN
[database_name] SYSNAME NOT NULL);

/* Build database list if no parameters set */
IF (SELECT COUNT(*) FROM @IncludeDatabases) = 0 AND (SELECT COUNT(*) FROM @ExcludeDatabases) = 0
IF (SELECT COUNT(1) FROM @IncludeDatabases) = 0 AND (SELECT COUNT(1) FROM @ExcludeDatabases) = 0
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand All @@ -3826,7 +3826,7 @@ BEGIN
AND DATABASEPROPERTYEX([sd].[name], 'STATUS') = N'ONLINE';
END;
/* Build database list from @IncludeDatabases */
ELSE IF (SELECT COUNT(*) FROM @IncludeDatabases) >= 1
ELSE IF (SELECT COUNT(1) FROM @IncludeDatabases) >= 1
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand All @@ -3836,7 +3836,7 @@ BEGIN
AND DATABASEPROPERTYEX([sd].[name], 'USERACCESS') = N'MULTI_USER'
AND DATABASEPROPERTYEX([sd].[name], 'STATUS') = N'ONLINE';

IF (SELECT COUNT(*) FROM @IncludeDatabases) > (SELECT COUNT(*) FROM #Databases)
IF (SELECT COUNT(1) FROM @IncludeDatabases) > (SELECT COUNT(1) FROM #Databases)
BEGIN
DECLARE @ErrorDatabaseList NVARCHAR(MAX);

Expand All @@ -3855,7 +3855,7 @@ BEGIN
END;
END;
/* Build database list from @ExcludeDatabases */
ELSE IF (SELECT COUNT(*) FROM @ExcludeDatabases) >= 1
ELSE IF (SELECT COUNT(1) FROM @ExcludeDatabases) >= 1
BEGIN
INSERT INTO #Databases
SELECT [sd].[name]
Expand Down Expand Up @@ -4554,18 +4554,18 @@ BEGIN
FROM #Indexes; '

+ /* Find duplicate indexes */ +
N'SELECT COUNT(*) AS [num_dup_indexes], [ix_incl_checksum], [object_id]
N'SELECT COUNT(1) AS [num_dup_indexes], [ix_incl_checksum], [object_id]
INTO #MatchingIdxInclChecksum
FROM #IdxChecksum
GROUP BY [ix_incl_checksum], [object_id]
HAVING COUNT(*) > 1; '
HAVING COUNT(1) > 1; '

+ /* Find overlapping indexes with same indexed columns */ +
N'SELECT COUNT(*) AS [num_dup_indexes], [ix_checksum], [object_id]
N'SELECT COUNT(1) AS [num_dup_indexes], [ix_checksum], [object_id]
INTO #MatchingIdxChecksum
FROM #IdxChecksum
GROUP BY [ix_checksum], [object_id]
HAVING COUNT(*) > 1
HAVING COUNT(1) > 1
INSERT INTO #DuplicateIndex
SELECT N''Inefficient Indexes - Duplicate'' AS [check_type]
Expand Down
4 changes: 2 additions & 2 deletions sp_estindex.sql
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ sp_estindex - Estimate a new index's size and statistics.
Part of the DBA MultiTool http://dba-multitool.org
Version: 20210908
Version: 20220124
MIT License
Expand Down Expand Up @@ -353,7 +353,7 @@ BEGIN TRY
WHERE COALESCE([equality_columns] + ', ', '') + [inequality_columns] = @QuotedKeyColumns
AND ([included_columns] = @QuotedInclColumns OR [included_columns] IS NULL);

IF (SELECT COUNT(*) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
IF (SELECT COUNT(1) FROM ##TempMissingIndex) = 0 AND (@Verbose = 1)
BEGIN;
SET @Msg = 'No matching missing index statistics found.';
RAISERROR(@Msg, 10, 1) WITH NOWAIT;
Expand Down
8 changes: 4 additions & 4 deletions sp_helpme.sql
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ sp_helpme - A drop-in modern alternative to sp_help.
Part of the DBA MultiTool http://dba-multitool.org
Version: 20210622
Version: 20220124
MIT License
Expand Down Expand Up @@ -120,13 +120,13 @@ BEGIN
END;

/* Check for Hidden Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_hidden' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasHidden = 1;
END;

/* Check for Masked Columns feature */
IF 1 = (SELECT COUNT(*) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
IF 1 = (SELECT COUNT(1) FROM sys.all_columns AS ac WHERE ac.name = 'is_masked' AND OBJECT_NAME(ac.object_id) = 'all_columns')
BEGIN
SET @HasMasked = 1;
END;
Expand Down Expand Up @@ -424,7 +424,7 @@ BEGIN
EXEC sys.sp_helpindex @ObjectName;
EXEC sys.sp_helpconstraint @ObjectName,'nomsg';

SET @SQLString = N'SELECT @HasDepen = COUNT(*)
SET @SQLString = N'SELECT @HasDepen = COUNT(1)
FROM sys.objects obj, sysdepends deps
WHERE obj.[type] =''V''
AND obj.[object_id] = deps.id
Expand Down
Loading

0 comments on commit c753d4a

Please sign in to comment.