`SELECT ... WHERE match(key, '^prefix...')`
should use index similarly to
`SELECT ... WHERE key LIKE 'prefix%'`
{
    
    
    
    if (func.getFunctionName() == "not")
    {
        if (func.numArguments() != 1)
            return false;
        out.function = RPNElement::FUNCTION_NOT;
    }
    else
    {
        if (func.getFunctionName() == "and" || func.getFunctionName() == "indexHint")
            out.function = RPNElement::FUNCTION_AND;
        else if (func.getFunctionName() == "or")
            out.function = RPNElement::FUNCTION_OR;
        else
            return false;
    }
    return true;
}
String KeyCondition::toString() const