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.
if (s_lparen.ignore(pos, expected))
    {
        if (!table_properties_p.parse(pos, columns_list, expected))
            return false;
        if (!s_rparen.ignore(pos, expected))
            return false;
        auto storage_parse_result = storage_p.parse(pos, storage, expected);
        if (storage_parse_result && s_as.ignore(pos, expected))
        {
            if (!select_p.parse(pos, select, expected))
                return false;
        }
        if (!storage_parse_result && !is_temporary)
        {
            if (s_as.ignore(pos, expected) && !table_function_p.parse(pos, as_table_function, expected))
                return false;
        }
        
    }
    /** Create queries without list of columns:
      *  - CREATE|ATTACH TABLE ... AS ...
      *  - CREATE|ATTACH TABLE ... ENGINE = engine
      */
    else
    {
        storage_p.parse(pos, storage, expected);
        
        if (s_as.ignore(pos, expected))
        {