Non-root users with correct query privileges are unable to select a empty timesereis
- Ngôn ngữ chính
- Java
- Star
- 6.4k
- Fork
- 1.2k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 115
Mô tả
How to reproduce:
```sql
# user: root
CREATE USER steve 'steve'
GRANT ROLE application_role PRIVILEGES 'SET_STORAGE_GROUP','CREATE_TIMESERIES','INSERT_TIMESERIES','READ_TIMESERIES','DELETE_TIMESERIES','DROP_FUNCTION','CREATE_FUNCTION','CREATE_TRIGGER','DROP_TRIGGER','START_TRIGGER','STOP_TRIGGER' ON root.test
GRANT application_role TO steve
```
```sql
# user: steve
select sin(s1) from root.test where time >= 2021-01-01 and time<= 2021-01-31 23:59:59
```
Then, you will get:

Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện thiết lập SQL và SELECT với tư cách người dùng steve, sau đó so sánh hành vi với người dùng root trên timeseries root.test trống. Xem lại pull request đã đóng #4423 để biết bối cảnh trước đó; được xem là hoàn tất khi một người dùng không phải root có các đặc quyền truy vấn được liệt kê có thể SELECT từ timeseries trống mà không gặp lỗi ủy quyền.
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, sql
- Lĩnh vực
- authorization, databases
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100