dbt-labs / dbt-labs/dbt

[BUG] Missing support for `timestamp_bucket` and booleans in `least`/`greatest`

Open
#14,006 0 comments 0 reactions 0 assignees View on GitHub
adapter:bigquery area:static-analysis engine:v2 status:needs-repro status:triage type:bug
Dominant language
Rust
Stars
13.8k
Forks
2.6k
Avg merge
21h 31m
Merged PRs (30d)
56

Description

**Describe the bug**
When running `dbtf compile`, we get errors for the following valid BigQuery functions:

`least(false, true)`:
Using `least` and `greatest` with bool values are allowed in BQ, but gives the following error message:
> error: dbt0209: Failed to resolve function least: Argument type mismatch: actual: (BOOL, BOOL); candidates: ($1).

[timestamp_bucket](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/time-series-functions#timestamp_bucket):
The `timestamp_bucket` function isn't identified as valid:
`error: dbt0209: No function timestamp_bucket`

**What version of dbt Fusion is this bug in? (find out by running `dbt --version`)**
`dbt-fusion 2.0.0-preview.72`

**Is this a discrepancy between the dbt Fusion Engine and dbt Core? Check one.**
- [x] YES
- [ ] NO

**To Reproduce**
```
select
least(false, true) as boolean_check,
timestamp_bucket(current_timestamp(), interval 15 minute) as timestamp_bucket_check
```

**Expected behavior**
The functions should be identified as valid rather than throwing an error.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Operating System and CPU Type (please complete the following information):**
* Windows
* X64

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.