MagicStack / MagicStack/asyncpg
[Feature Request]Adding compatibility support for KingbaseES
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 8.1k
- Forks
- 468
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hi asyncpg maintainers,
I am writing to propose adding support for KingbaseES, a widely used database in China that is highly compatible with the PostgreSQL wire protocol. I plan to contribute and maintain this adaptation over the next 2 months.
To ensure the performance and stability of asyncpg remain unaffected, I will follow these principles:
1.Non-Invasive Implementation: I will not modify the Cython-based protocol parser (asyncpg/protocol/). The changes will be isolated to Authentication tweaks and Type Introspection SQL adjustments (handling minor pg_catalog differences).
2.Strict Testing: I will run the full asyncpg test suite against KingbaseES and add dedicated integration tests for any variant-specific edge cases.
3.Maintenance Commitment: I fully understand the burden of supporting variants. I commit to taking long-term ownership of Kingbase-related issues to keep the driver up-to-date.
I have already verified basic connections locally. Would the community be open to accepting a Pull Request for this? Also, do you prefer handling such variants via automatic detection (server version) or explicit connection flags?
Thank you for your incredible work on this high-performance driver!
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Durchsicht von asyncpg/protocol/ und der vorhandenen SQL-Pfade für Authentication und Type Introspection, um die für KingbaseES relevanten PostgreSQL-Annahmen zu ermitteln. Vergleiche diese Pfade mit den gemeldeten Unterschieden in pg_catalog und entscheide, ob die Erkennung der Serverversion oder ein explizites Verbindungs-Flag angemessen ist. Als abgeschlossen gilt die Aufgabe, wenn grundlegende Verbindungen funktionieren, variantenspezifische Integrationstests bestehen und die vollständige asyncpg-Testsuite mit KingbaseES weiterhin stabil bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- postgresql, python
- Bereich
- databases
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100