4paradigm / 4paradigm/OpenMLDB

ddl_parser: add yaml test & support json schema to make test easier

Đang mở
#931 0 bình luận 0 reaction 1 người được giao Được @vagetablechicken nhận Xem trên GitHub
call-for-contributions
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ả

When the user reports an `ExtractIndexes`(DDLParser) error, the user usually provides a sql with a schema json str.
If we want to run the test, we need to hard code in ddl_parser_test.cc. And the json schema should be converted to a vector or a string manually(`AddTableToDB` doesn't support json schema). It's not good.

We should support the json schema. A new `AddTableToDB`. The json schema input is like:
```
{
"tableInfo":{
"t1":[
{
"name":"rank",
"type":"string"
},
...
],
"t2":[
{
"name":"c1",
"type":"string"
},
...
]
}
}
```

Then if we support reading test cases from yaml files, we can avoid adding every test to the source code. Just add it to the yaml files.
For example, the yaml file could be:
```
extract_indexes_cases:
- id: xx
sql: ...
schema: ...
result: ...
- id: yy
```
or you can use the json style, like:
```
{ "table_info": {"t1": [...], "t2": [...], ...}, "sql": "..." }
```

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

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

Hướng nghiên cứu

Look at ddl_parser_test.cc to understand the current test structure and the AddTableToDB function. The task is to modify AddTableToDB to accept a JSON schema string as described, and to add support for reading test cases from YAML files. Start by examining how the existing tests are structured and where the schema data is currently hardcoded. The goal is to create a new test harness that can load cases from YAML, parse the JSON schema, and run the ExtractIndexes tests.

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

Đánh giá

Công nghệ
cpp, json, yaml
Lĩnh vực
databases, testing
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
Khá rõ ràng
Mức phù hợp với người mới
55/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.