ReadReplicationSlot returns the slot name as passed, not the one the server read

Ouverte
#6,735 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 6 jours

@Brar y travaille déjà.

Depuis le 1/11/2026.

  • #6736 par @Brar — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

replication

PhysicalReplicationConnection.ReadReplicationSlot (PhysicalReplicationConnection.cs:90) returns a PhysicalReplicationSlot whose Name is its argument lowercased (ReplicationConnection.cs:397-398), because the result of READ_REPLICATION_SLOT has no name, only slot_type, restart_lsn and restart_tli (walsender.c:492-497). The server reads the name as an identifier, though, so the returned name can differ from the slot it read:

  • ReadReplicationSlot(" myslot ") reads the slot myslot, since the server skips the whitespace, but returns the name " myslot ".
  • ReadReplicationSlot("\"1abc\"") reads the slot 1abc but returns the name "\"1abc\"", quotes included.

Passing the returned object back to Npgsql reaches the same slot again, but its Name isn't the slot's name. The Create*ReplicationSlot methods take the name from the server's result (ReplicationConnection.cs:353). ReadReplicationSlot should return the slot's name as the server read it too: without surrounding whitespace, and without the quotes of a quoted name.

Langage dominant
C#
Étoiles
3.7k
Forks
890
Merge moyen
4 j 11 h
PR mergées (30 j)
19

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

  • Aucun Dockerfile ni fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

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 npgsql/npgsql

Toutes les issues de npgsql/npgsql

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

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