8000 Partial OR terms parsed incorrectly · Issue #5 · ctron/sikula · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Partial OR terms parsed incorrectly #5
Closed
@lulf

Description

@lulf

Parsing OR terms using equal works as expected:

Input: '((message:"a") OR (message:"b"))'

MIR:
Query {
    term: Or {
        scopes: [],
        terms: [
            Match {
                qualifier: Qualifier(
                    [
                        "message",
                    ],
                ),
                expression: Simple(
                    "a",
                ),
            },
            Match {
                qualifier: Qualifier(
                    [
                        "message",
                    ],
                ),
                expression: Simple(
                    "b",
                ),
            },
        ],
    },
    sorting: [],
}

LIR:
Query {
    terms: Or(
        [
            Match(
                Message(
                    Equal(
                        "a",
                    ),
                ),
            ),
            Match(
                Message(
                    Equal(
                        "b",
                    ),
                ),
            ),
        ],
    ),
    sorting: [],
}

Parsing OR terms using partial seems to give the wrong query tree:

Input: '(("a" in:message) OR ("b" in:message))'

MIR:
Query {
    term: And {
        scopes: [
            Qualifier(
                [
                    "message",
                ],
            ),
            Qualifier(
                [
                    "message",
                ],
            ),
        ],
        terms: [
            Match {
                qualifier: Qualifier(
                    [],
                ),
                expression: Simple(
                    "a",
                ),
            },
            Match {
                qualifier: Qualifier(
                    [],
                ),
                expression: Simple(
                    "b",
                ),
            },
        ],
    },
    sorting: [],
}

LIR:
Query {
    terms: And(
        [
            Or(
                [
                    Match(
                        Message(
                            Partial(
                                "a",
                            ),
                        ),
                    ),
                    Match(
                        Message(
                            Partial(
                                "a",
                            ),
                        ),
                    ),
                ],
            ),
            Or(
                [
                    Match(
                        Message(
                            Partial(
                                "b",
                            ),
                        ),
                    ),
                    Match(
                        Message(
                            Partial(
                                "b",
                            ),
                        ),
                    ),
                ],
            ),
        ],
    ),
    sorting: [],
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0