Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 683e016

Browse files
Merge pull request dataplat#3902 from andrekamman/development
Fixed QueryName list bugs
2 parents 60c3f3e + 6bff9fc commit 683e016

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

‎functions/Invoke-DbaDiagnosticQuery.ps1

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,23 @@ function Invoke-DbaDiagnosticQuery {
273273
if ($UseSelectionHelper -and $first) {
274274
$QueryName = Invoke-DiagnosticQuerySelectionHelper $parsedscript
275275
$first = $false
276+
if ($QueryName.Count -eq 0) {
277+
Write-Message -Level Output -Message "No query selected through SelectionHelper, halting script execution"
278+
return
279+
}
276280
}
277-
#since some database level queries can take longer (such as fragmentation) calculate progress with database specific queries * count of databases to run against into context
278-
$CountOfDatabases = ($databases).Count
279281

282+
if ($QueryName.Count -eq 0) {
283+
$QueryName = $parsedscript | Select-Object -ExpandProperty QueryName
284+
}
285+
280286
if ($ExcludeQuery) {
281287
$QueryName = Compare-Object -ReferenceObject $QueryName -DifferenceObject $ExcludeQuery | Where-Object SideIndicator -eq "<=" | Select-Object -ExpandProperty InputObject
282288
}
283289

290+
#since some database level queries can take longer (such as fragmentation) calculate progress with database specific queries * count of databases to run against into context
291+
$CountOfDatabases = ($databases).Count
292+
284293
if ($QueryName.Count -ne 0) {
285294
#if running all queries, then calculate total to run by instance queries count + (db specific count * databases to run each against)
286295
$countDBSpecific = @($parsedscript | Where-Object {$_.QueryName -in $QueryName -and $_.DBSpecific -eq $true}).Count

‎tests/Invoke-DbaDiagnosticQuery.Tests.ps1

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,16 @@ Describe "$CommandName Integration Tests" -Tags "IntegrationTests" {
5151
@($results | Where-Object {$_.Database -eq $Database}).Count | Should -BeGreaterThan 1
5252
@($results | Where-Object {$_.Database -eq $Database2}).Count | Should -Be 0
5353
}
54-
It "Correctly excludes queries" {
55-
$results = Invoke-DbaDiagnosticQuery -SqlInstance $script:instance2 -QueryName 'Version Info', 'Core Counts', 'Server Properties' -ExcludeQuery 'Core Counts'
54+
It "Correctly excludes queries when QueryName and ExcludeQuery parameters are used" {
55+
$results = Invoke-DbaDiagnosticQuery -SqlInstance $script:instance2 -QueryName 'Version Info', 'Core Counts', 'Server Properties' -ExcludeQuery 'Core Counts'-WhatIf
5656
@($results).Count | Should be 2
5757
}
58+
It "Correctly excludes queries when only ExcludeQuery parameter is used" {
59+
$results = Invoke-DbaDiagnosticQuery -SqlInstance $script:instance2 -ExcludeQuery "Missing Index Warnings", "Buffer Usage" -whatif
60+
@($results).Count | Should -BeGreaterThan 0
61+
@($results | Where-Object Name -eq "Missing Index Warnings").Count | Should be 0
62+
@($results | Where-Object Name -eq "Buffer Usage").Count | Should be 0
63+
}
5864

5965
$columnnames = 'Item', 'RowError', 'RowState', 'Table', 'ItemArray', 'HasErrors'
6066
$TestCases = @()

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /