CREATE TABLE ... **EMPTY** AS SELECT

**Use case**

Create a table with the same structure as SELECT query returns but don't fill it.

**Describe alternatives you've considered**

CREATE TABLE ... AS DESCRIBE (SELECT ...)

\- more consistent but also more clunky.
s_eq.ignore(pos, expected);
        if (ParserKeyword("STRICTLY_ASCENDING").ignore(pos,expected))
            is_watermark_strictly_ascending = true;
        else if (ParserKeyword("ASCENDING").ignore(pos,expected))
            is_watermark_ascending = true;
        else if (watermark_p.parse(pos, watermark, expected))
            is_watermark_bounded = true;
        else
            return false;
    }
    
    if (ParserKeyword{"ALLOWED_LATENESS"}.ignore(pos, expected))
    {
        s_eq.ignore(pos, expected);
        allowed_lateness = true;
        if (!lateness_p.parse(pos, lateness, expected))
            return false;
    }
    if (s_populate.ignore(pos, expected))
        is_populate = true;
    
    if (!s_as.ignore(pos, expected))
        return false;
    if (!select_p.parse(pos, select, expected))
        return false;
    auto query = std::make_shared<ASTCreateQuery>();
    node = query;
    query->attach = attach;
    query->if_not_exists = if_not_exists;
    query->is_window_view = true;