ISKEYWORD ignores words in hints such as nolock, hash
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginnen Sie damit, das bereitgestellte PowerShell-Skript mit TSql150Parser auszuführen, und untersuchen Sie die Ausgabe von ScriptTokenStream für nolock und hash; konzentrieren Sie sich dabei auf ihre Token-Typen und die Ergebnisse von IsKeyword(). Verfolgen Sie, wie TSql150Parser diese Hinweiswörter klassifiziert, und überprüfen Sie, dass die korrigierte Klassifizierung ohne Parsing-Fehler im Token-Stream widergespiegelt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
- SqlPackage or DacFx Version:
- .NET Framework (Windows-only) or .NET Core: .NET Framework
- Environment (local platform and source/target platforms):
Parser for 2019, Windows
Steps to Reproduce:
- Powershell script as below - does not recognize nolock , returns no for iskeyword.
$ScriptData = @"
--Testing tokens
begin tran
SELECT * FROM mytable (nolock);
commit tran
"@
Add-Type -Path "C:\ugpresentation\ScriptDom\Microsoft.SqlServer.TransactSql.ScriptDom.dll"
Write-Host "Attempting to parse..."
try {
$parser = New-Object Microsoft.SqlServer.TransactSql.ScriptDom.TSql150Parser($true)
#object to handle parsing errors if any
$parseErrors = New-Object System.Collections.Generic.List[Microsoft.SqlServer.TransactSql.ScriptDom.ParseError]
#object that handles strings script to parse
$stringReader = New-Object System.IO.StringReader($ScriptData)
#parser creates parsed objects from strings
$parsedObjects = $parser.Parse($stringReader, [ref]$parseErrors)
$ctr = 0
foreach ($token in $parsedobjects.ScriptTokenStream)
{
write-host "Text: " $token.text -ForegroundColor Cyan
write-host "Type: " $token.tokentype -ForegroundColor green
write-host "Location: Line" $parsedobjects.ScriptTokenStream[$ctr].Line "Column " $parsedobjects.ScriptTokenStream[$ctr].column -ForegroundColor yellow
write-host "Is this a Reserved Word? " $token.IsKeyword()-ForegroundColor white
$ctr++
} #token
if($parseErrors.Count -gt 0) {
throw "$($parseErrors.Count) parsing error(s): $(($parseErrors | ConvertTo-Json))"
}
Write-Host "Complete!" -ForegroundColor Green
}
catch {
throw
}
Did this occur in prior versions? If not - which version(s) did it work in?
Works same on every version
(DacFx/SqlPackage/SSMS/Azure Data Studio)
- Vorherrschende Sprache
- GAP
- Sterne
- 277
- Forks
- 43
- Ø Merge
- 6 T. 17 Std.
- Gemergte PRs (30 T.)
- 3
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/SqlScriptDOM
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
microsoft/SqlScriptDOM#228 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
microsoft/SqlScriptDOM#183 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
microsoft/SqlScriptDOM#226 · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
microsoft/SqlScriptDOM#225 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
microsoft/SqlScriptDOM#224 ·
Alle Issues in microsoft/SqlScriptDOM
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
objectionary/eo#8923 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Offencoarray
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
internal.h中,漏掉了1个定义。 Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100