```
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
item.getValue()
                    );
                }
                appendSeparator = (String) item.getValue();
            }
            Source src = source(ctx);
            try {
                DissectParser parser = new DissectParser(pattern, appendSeparator);
                Set<String> referenceKeys = parser.referenceKeys();
                if (referenceKeys.size() > 0) {
                    throw new ParsingException(
                        src,
                        "Reference keys not supported in dissect patterns: [%{*{}}]",
                        referenceKeys.iterator().next()
                    );
                }
                List<Attribute> keys = parser.outputKeys()
                    .stream()
                    .map(x -> new ReferenceAttribute(src, x, DataTypes.KEYWORD))
                    .map(Attribute.class::cast)
                    .toList();
                return new Dissect(src, p, expression(ctx.primaryExpression()), new Dissect.Parser(pattern, appendSeparator, parser), keys);
            } catch (DissectException e) {
                throw new ParsingException(src, "Invalid pattern for dissect: [{}]", pattern);
            }
        };
    }
    @Override
    public PlanFactory visitMvExpandCommand(EsqlBaseParser.MvExpandCommandContext ctx) {
        String identifier = visitSourceIdentifier(ctx.sourceIdentifier());