google / google/google-sql-syntax-ts

Catastrophic backtracking issue in QueryFormatter

Ouverte
#7 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
10
Forks
4
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

There's a catastrophic backtracking regex issue that reproduces easily when there are too many newlines in the SQL file (as they match both the `\s` and `\n` in the `(\s|\n)+` and result in exponential backtracking).
Because of this, having too many consecutive newlines in any part of a SQL file results in never-ending formatting.

Reproduction and fix is in #6.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser QueryFormatter et l’expression `(\s|\n)+` décrite dans l’issue. Examinez la reproduction et le correctif référencés dans l’issue #6, puis vérifiez que du SQL contenant de nombreux sauts de ligne consécutifs est formaté rapidement sans backtracking catastrophique.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
performance
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.