4paradigm / 4paradigm/OpenMLDB

Support get_columns and parse protobuf object for Python SDK

Ouverte
#3,180 1 commentaire 0 réactions 1 personne assignée Réclamée par @tobegit3hub Voir sur GitHub
sdk
Langage dominant
C++
Étoiles
1.7k
Forks
331
Merge moyen
12 j 12 h
PR mergées (30 j)
1

Description

Here is the code to test.

```
import sqlalchemy as db
from sqlalchemy import inspect

zk_cluster = "127.0.0.1:2181"
zk_path = "/openmldb"

engine = db.create_engine(f'openmldb:///db1?zk={zk_cluster}&zkPath={zk_path}')
connection = engine.connect()

insp = inspect(engine)
print(insp.get_table_names())

columns = insp.get_columns('employees')

for column in columns:
print(column)
```

We may add the code in `openmldb_dialect.py`.

```
def get_columns(self, connection, table_name, schema=None, **kw):
"""
columns_info = [
{
'name': 'name',
'type': sqlalchemy.String(),
'nullable': False,
'default': None,
'primary_key': False,
'autoincrement': False,
'comment': 'Unique identifier for the row'
}
]
return columns_info
"""
raise NotImplementedError()
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

The issue is about implementing get_columns and protobuf parsing in openmldb_dialect.py. Start by examining the existing dialect code to understand the connection and table structure. You'll need to fetch column metadata from OpenMLDB, likely via its API or SQL, and map types to SQLAlchemy types. Check if there are existing tests for the dialect to run your implementation against.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, sqlalchemy
Domaine
backend, databases
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
65/100

Recevez les nouvelles issues par e-mail

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