php / php/php-src

Feature request: mysqli_poll async support for prepared statements also

Offen
#20,640 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Extension: mysqli 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

Recently PHP True Async RFC was rejected. It was supposed to have ONE worker and multiple coroutines. But that functionality would be useful only for external calls (like DB, HTTP etc.) that need time to respond.

While for HTTP calls there is curl_multi_init, for parallel DB queries there is no alternative when prepared statements are needed.

So we propose to finish mysqli_poll or implement similar one for running parallel prepared statements.

We already use mysqli_poll to eager load relations in Eloquent that don't have bindings when the number of relations is big (over 20).

https://stackoverflow.com/questions/36358865/mysqli-async-available-with-prepared-statements-in-php

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

Das Issue nennt mysqli_poll und vorbereitete Statements, aber keine Quelldateien oder Tests; beginne damit, diese Einstiegspunkte in php-src nachzuverfolgen und festzustellen, wie das bestehende asynchrone Polling nicht vorbereitete Abfragen behandelt. Definiere das unterstützte Verhalten für vorbereitete Statements und überprüfe den parallelen Abschluss mit einer Regressionstestabdeckung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, php
Bereich
database
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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