php / php/php-src

mysqlnd (+ mysqli etc.) - expose the gtid to PHP in the OkPacket

Offen
#19,782 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Extension: mysqlnd Feature Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

Looks like the gtid is already being parsed, but not exposed in PHP. It would be great to just be able to access it from the OkPacket with something like packet->gtid or packet->state_changes->gtid.

why

I can use it to track what user did what gtid change to with a gtid aware cdc on mysql. This is already working on a nodejs server (using mysql2). From my PHP server, I can only track from my ORM with timestamp + table + primary-key-id instead of gtid.

The other state changes would also be helpful from PHP-land, e.g. database for limiting the number of pools I need to run in a multi-db environment, which i cant implement in PHP at all.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, nachzuverfolgen, wie mysqlnd das MySQL OkPacket über mysqli analysiert und verfügbar macht, mit Fokus auf die vorhandene Verarbeitung von Paketen und Zustandsänderungen. Als abgeschlossen gilt die Aufgabe, wenn PHP-Code auf die GTID des Pakets und, sofern verfügbar, auf die anderen angeforderten Zustandsänderungen zugreifen kann; überprüfe das Verhalten mit einem MySQL-Setup, das GTID-fähige Antworten erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, mysql
Bereich
databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.