apache / apache/arrow-java

Consume COLUMN_DEF in JDBC Flight Driver

Đang mở
#1,134 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Type: enhancement
Ngôn ngữ chính
Java
Star
94
Fork
152
Merge trung bình
3 ngày 16 giờ
Pull request đã merge (30 ngày)
11

Mô tả

### Describe the enhancement requested

`ArrowDatabaseMetadata`'s schema currently defines a vector for `COLUMN_DEF`, yet never writes any value to it. `FlightSQLColumnMetadata` also does not have a constant/getter/setter for this value.

Due to this, database connections through java's arrow-flight cannot and will not show underlying default value metadata per column. DESCRIBE TABLE or similar calls (engine depending) can still be used to get a column's default value, but it can be at odds with what the client shows.

I confirmed this behavior using Dremio as the query engine, dBeaver as the client, and iceberg as the table containing a column with a default value.

DBeaver and other DB clients should accurately show column default values when calling DatabaseMetaData.getColumns() public method. Clients will need to send this information, and the arrow driver needs to consume this information.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với vector COLUMN_DEF của ArrowDatabaseMetadata và FlightSQLColumnMetadata, sau đó theo dõi cách metadata cột đến được DatabaseMetaData.getColumns(). Xác nhận đã hoàn tất bằng cách đảm bảo các giá trị mặc định của cột được truyền tiếp và hiển thị cho các client như DBeaver.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
api, database
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
52/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.