```
ROW a="b c d"
| DISSECT a "%{b} %{} %{d}"
```
returns

```
       a       |       b       |               |       d       
---------------+---------------+---------------+---------------
b c d          |b              |null           |d 
```

it should ignore the empty pattern instead, and only return `a, b, d`
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/LogicalPlanBuilder.java
Attribute a = metadataMap.put(id, MetadataAttribute.create(src, id));
                if (a != null) {
                    throw new ParsingException(src, "metadata field [" + id + "] already declared [" + a.source().source() + "]");
                }
            }
        }
        return new EsqlUnresolvedRelation(source, table, Arrays.asList(metadataMap.values().toArray(Attribute[]::new)));
    }
    @Override
    public PlanFactory visitStatsCommand(EsqlBaseParser.StatsCommandContext ctx) {
        List<NamedExpression> aggregates = new ArrayList<>(visitFields(ctx.fields()));
        List<NamedExpression> groupings = visitGrouping(ctx.grouping());
        if (aggregates.isEmpty() && groupings.isEmpty()) {
            throw new ParsingException(source(ctx), "At least one aggregation or grouping expression required in [{}]", ctx.getText());
        }
        
        if (groupings.isEmpty() == false && aggregates.isEmpty() == false) {
            var groupNames = Expressions.names(groupings);
            for (NamedExpression aggregate : aggregates) {
                if (aggregate instanceof Alias a && a.child() instanceof UnresolvedAttribute ua && groupNames.contains(ua.name())) {
                    throw new ParsingException(ua.source(), "Cannot specify grouping expression [{}] as an aggregate", ua.name());
                }
            }
        }
        aggregates.addAll(groupings);
        return input -> new Aggregate(source(ctx), input, new ArrayList<>(groupings), aggregates);
    }
    @Override
    public PlanFactory visitInlinestatsCommand(EsqlBaseParser.InlinestatsCommandContext ctx) {
        List<NamedExpression> aggregates = new ArrayList<>(visitFields(ctx.fields()));