**Use case**

```
clickhouse-local --query "SELECT * FROM file(0, JSONEachRow)" < something
```

**Additional context**

I also tried other intuitive options:
```
clickhouse-local --query "SELECT * FROM file(stdin, JSONEachRow)" < something
clickhouse-local --query "SELECT * FROM file('-', JSONEachRow)" < something
```

Although this works:
```
clickhouse-local --query "SELECT * FROM file('/dev/stdin', JSONEachRow)"
```

I think, solution with numeric file descriptors should be supported, as we already support it for `File` table engine,
and it is also useful if a script is opening file descriptors with higher numbers like

```
clickhouse-local --query "SELECT * FROM file(5, JSONEachRow)" 5<test
```

Note: it is already possible to process stdin in clickhouse-local and it is also intuitive and convenient:

```
clickhouse-local --query "SELECT * table" < something
```

I just want other ways to work consistently.
{
    ColumnsDescription columns;
    if (structure != "auto")
        columns = parseColumnsListFromString(structure, context);
    else if (!structure_hint.empty())
        columns = structure_hint;
    StoragePtr storage = getStorage(filename, format, columns, context, table_name, compression_method);
    storage->startup();
    return storage;
}
}