ISKEYWORD ignores words in hints such as nolock, hash
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par exécuter le script PowerShell fourni avec TSql150Parser et inspectez la sortie de ScriptTokenStream pour nolock et hash, en vous concentrant sur leurs types de token et les résultats de IsKeyword(). Suivez la manière dont TSql150Parser classe ces mots d’indication et vérifiez que la classification corrigée se reflète dans le flux de tokens sans erreurs d’analyse.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
- 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)
- Langage dominant
- GAP
- Étoiles
- 277
- Forks
- 43
- Merge moyen
- 6 j 17 h
- PR mergées (30 j)
- 3
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/SqlScriptDOM
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
microsoft/SqlScriptDOM#228 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
microsoft/SqlScriptDOM#183 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
microsoft/SqlScriptDOM#226 · 1 réaction ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
microsoft/SqlScriptDOM#225 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
microsoft/SqlScriptDOM#224 ·
Toutes les issues de microsoft/SqlScriptDOM
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
internal.h中,漏掉了1个定义。 Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
oxc-project/oxc#26944 ·