# YML test files are auto-generated from SQL files and should not be edited by
# hand. To help enforce this, the "hash" field in the file must match a hash
# computed by SQLFluff when running the tests. Please run
# `python test/generate_parse_fixture_yml.py`  to generate them after adding or
# altering SQL files.
_hash: a7e5f99b0d9bbe4f8e15aa356b0abb5965da26b9e09dab2da4f11e9fb7616e90
file:
  statement:
    select_statement:
      select_clause:
      - keyword: SELECT
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            semi_structured_expression:
              dot: .
              naked_identifier: b
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            semi_structured_expression:
              dot: .
              star: '*'
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: wildcard
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            semi_structured_expression:
            - dot: .
            - naked_identifier: b
            - dot: .
            - naked_identifier: c
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_field
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            semi_structured_expression:
            - dot: .
            - naked_identifier: b
            - dot: .
            - star: '*'
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_wildcard
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            array_accessor:
              start_square_bracket: '['
              expression:
                function:
                  function_name:
                    function_name_identifier: OFFSET
                  function_contents:
                    bracketed:
                      start_bracket: (
                      expression:
                        numeric_literal: '0'
                      end_bracket: )
              end_square_bracket: ']'
            semi_structured_expression:
              dot: .
              star: '*'
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_offset_wildcard
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            array_accessor:
              start_square_bracket: '['
              expression:
                function:
                  function_name:
                    function_name_identifier: SAFE_OFFSET
                  function_contents:
                    bracketed:
                      start_bracket: (
                      expression:
                        numeric_literal: '0'
                      end_bracket: )
              end_square_bracket: ']'
            semi_structured_expression:
              dot: .
              star: '*'
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_safe_offset_wildcard
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            array_accessor:
              start_square_bracket: '['
              expression:
                function:
                  function_name:
                    function_name_identifier: ORDINAL
                  function_contents:
                    bracketed:
                      start_bracket: (
                      expression:
                        numeric_literal: '1'
                      end_bracket: )
              end_square_bracket: ']'
            semi_structured_expression:
              dot: .
              star: '*'
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_ordinal_wildcard
      - comma: ','
      - select_clause_element:
          function:
            function_name:
              function_name_identifier: testFunction
            function_contents:
              bracketed:
                start_bracket: (
                expression:
                  column_reference:
                    naked_identifier: a
                end_bracket: )
            array_accessor:
              start_square_bracket: '['
              expression:
                function:
                  function_name:
                    function_name_identifier: ORDINAL
                  function_contents:
                    bracketed:
                      start_bracket: (
                      expression:
                        numeric_literal: '1'
                      end_bracket: )
              end_square_bracket: ']'
            semi_structured_expression:
              dot: .
              naked_identifier: a
          alias_expression:
            alias_operator:
              keyword: AS
            naked_identifier: field_with_ordinal_field
      from_clause:
        keyword: FROM
        from_expression:
          from_expression_element:
            table_expression:
              table_reference:
                naked_identifier: table1
