4paradigm / 4paradigm/OpenMLDB
ddl_parser: add yaml test & support json schema to make test easier
- 主要语言
- C++
- 星标
- 1.7k
- 派生
- 331
- 平均合并
- 12 天 12 小时
- 30 天内合并 PR
- 1
描述
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": "..." }
```
贡献指南
调研方向
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.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cpp, json, yaml
- 领域
- databases, testing
- Issue 类型
- 功能
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100