Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

The params of `COM_STMT_EXECUTE` may not be shown in `tiproxy_traffic_replay.fail`

Ouverte
#703 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
go
Domaine
backend, databases

Piste de recherche

Commencez par suivre la manière dont les paquets COM_STMT_PREPARE et COM_STMT_EXECUTE sont analysés lors de la relecture du trafic, en vous concentrant sur paramNum, paramTypes et la restauration de l’état de la session. Reproduisez le rapport en capturant une instruction paramétrée, en la relisant après la suppression d’une base de données et en vérifiant sample_stmt dans tiproxy_traffic_replay.fail. La tâche est terminée lorsque les paramètres enregistrés sont affichés correctement.

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

Description

bug

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)
  1. Prepare a statement and then capture traffic
  2. Execute the statement with parameters
  3. Stop capture and replay with errors (such as replay after dropping the database)
  4. Check the sample_stmt in the table tiproxy_traffic_replay.fail
2. What did you expect to see? (Required)

The parameters are correct

3. What did you see instead (Required)

The parameter is nil.
Reason:
paramNum is contained in the ComStmtPrepare but paramTypes is contained in the first ComStmtExecute (with newParamBoundFlag==1). TiDB parses the paramTypes by the paramNum and then stores it.
If the prepared statement is not executed before and is parsed from the session states, the paramTypes is empty. Besides, the paramNum is not in the session states. When the first ComStmtExecute comes, TiProxy is unable to parse paramTypes because it doesn't know the paramNum.

4. What is your version? (Required)

v1.3.0

Langage dominant
Go
Étoiles
73
Forks
40
Merge moyen
4 h 14 min
PR mergées (30 j)
9

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de pingcap/tiproxy

Toutes les issues de pingcap/tiproxy

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

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