private String fetchFieldName(OperatorNode<ExpressionOperator> ast) {
        return switch (ast.getOperator()) {
            case LITERAL -> indexFactsSession.getCanonicName(ast.getArgument(0).toString());
            case READ_FIELD -> ast.getArgument(1);
            case PROPREF -> fetchLiteral(ast.getArgument(0)) + '.' + ast.getArgument(1);
            default -> throw newUnexpectedArgumentException(ast.getOperator(),
                                                            ExpressionOperator.READ_FIELD, ExpressionOperator.PROPREF);
        };
    }
The YQL query language.

This class <em>must</em> be kept in lockstep with {@link VespaSerializer}.
Adding anything here will usually require a corresponding addition in
VespaSerializer.

@author Steinar Knutsen
@author Stian Kristoffersen
@author Simon Thoresen Hult
container-search/src/main/java/com/yahoo/search/yql/YqlParser.java