4paradigm / 4paradigm/OpenMLDB
Support get_columns and parse protobuf object for Python SDK
- Ngôn ngữ chính
- C++
- Star
- 1.7k
- Fork
- 331
- Merge trung bình
- 12 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
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()
```
Hướng dẫn đóng góp
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python, sqlalchemy
- Lĩnh vực
- backend, databases
- Loại issue
- Tính năng
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 65/100