Skip to content

Bigquery Array<string> being interpreted as String when source is generated #249

@cornelDono

Description

@cornelDono

Describe the bug

The generate_source macro misinterprets the ARRAY type in Bigquery. And set column type to STRING

Steps to reproduce

  1. Create table in Bigquery with ARRAY column
    create table test_schema.test_table (x array<string>)
  2. Run source generation in CLI
    dbt run-operation generate_source --args '{"schema_name": "test_schema", "generate_columns": true}'

Expected results

I expect to have correct type in source definition

 - name: test_table
        columns:
          - name: x
            data_type: array<string>

Actual results

 - name: test_table
        columns:
          - name: x
            data_type: string

Screenshots and log output

System information

The contents of your packages.yml file:

packages:
  - package: dbt-labs/codegen
    version: 0.13.1
  - package: dbt-labs/dbt_utils
    version: 1.3.0
  - package: elementary-data/elementary
    version: 0.16.3
  - package: calogica/dbt_expectations
    version: 0.10.4
  - package: calogica/dbt_date
    version: 0.10.1

Which database are you using dbt with?

  • postgres
  • redshift
  • bigquery
  • snowflake
  • other (specify: ____________)

The output of dbt --version:

Core:
  - installed: 1.8.3
  - latest:    1.9.2 

Plugins:
  - bigquery: 1.8.2 

The operating system you're using:
Apple M1

The output of python --version:
Python 3.11.8

Additional context

Are you interested in contributing the fix?

It is possible

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions