dbt-labs/dbt-utils

not_empty_string does not work on a nested columns

itonito opened this issue · 2 comments

Describe the bug

not_empty_string does not work on a nested columns

Steps to reproduce

  1. create a nested columns in bigquery
  2. perform not_empty_string test on the nested column

Expected results

empty string test is performed on a nested column

Actual results

Gets the following error:
"Syntax error: Expected ")" but got "." at [16:69]"

Screenshots and log output

Syntax error: Expected ")" but got "." at [16:69]

System information

The contents of your packages.yml file:

Which database are you using dbt with?

  • bigquery

The output of dbt --version:

$ dbt --version
Core:
  - installed: 1.6.6
  - latest:    1.7.7 - Update available!

  Your version of dbt-core is out of date!
  You can find instructions for upgrading here:
  https://docs.getdbt.com/docs/installation

Plugins:
  - bigquery: 1.6.6 - Update available!

  At least one plugin is out of date or incompatible with dbt-core.
  You can find instructions for upgrading here:
  https://docs.getdbt.com/docs/installation

Additional context

A sample of nested column is shown below:
personal_information.email

Are you interested in contributing the fix?

Yes.

Here is the work around that I found: (used combination of single quote and double quote, and also added trim_whitespace: false)
- name: "'personal_information.email'"
description: "Email"
tests:
- dbt_utils.not_empty_string:
trim_whitespace: false
name: "email_address_should_not_be_empty_string"