MagicStack / MagicStack/asyncpg
[Feature Request]Adding compatibility support for KingbaseES
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 8.1k
- Fork
- 468
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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!
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando asyncpg/protocol/ e i percorsi SQL esistenti per Authentication e Type Introspection, per identificare le assunzioni di PostgreSQL rilevanti per KingbaseES. Confronta questi percorsi con le differenze segnalate in pg_catalog e decidi se sia appropriato il rilevamento della versione del server o un flag di connessione esplicito. Il lavoro è completato quando le connessioni di base funzionano, i test di integrazione specifici della variante passano e l’intera suite di test di asyncpg rimane stabile con KingbaseES.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- postgresql, python
- Ambito
- databases
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100