Skip to content

源代码修改方案及测试 #4

@chenyanlann

Description

@chenyanlann

在SQLConfig和AbstractSQLConfig增加相应关键字和函数

正则表达式适配

用match函数代替REGEXP,用lower函数代替BINARY

测试

请求:

{
    "User[]": {
        "count": 3,
        "User": {
            "name~": "^[0-9]+$"
        }
    }
}

返回:

name:007,name:568599

请求:

"name~": "^[H-J]|n$"

返回:

name:TommyLemon,name:Happy~,name:Jan

json_contains适配

将json_contains替换为

has(JSONExtractArrayRaw(assumeNotNull(),()))

JSONHas('[99, {"id": "HK500", "cost": 75.99}, ["hot", "cold"]]', '99')=0,JSONHas无法处理JSONArray

JSONExtractArrayRaw将String解析为Array(String),assumeNotNull避免报错(Array(String) cannot be inside Nullable type)

JSONExtractArrayRaw('[99, {"id": "HK500", "cost": 75.99}, ["hot", "cold"]]')=
['99','{"id":"HK500","cost":75.99}','["hot","cold"]']

请求:

{
    "User[]": {
        "count": 3,
        "User": {
            "contactIdList<>": 38710
        }
    }
}

json_length适配

将json_length替换为JSONLength

可以在AbstractSQLConfig初始化时在SQL_FUNCTION_MAP中直接添加JSONLength,也可以留待用户自行添加

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions