Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): Support time travel query #8203

Open
1 task done
mfatihaktas opened this issue Feb 2, 2024 · 5 comments
Open
1 task done

feat(api): Support time travel query #8203

mfatihaktas opened this issue Feb 2, 2024 · 5 comments
Assignees
Labels
feature Features or general enhancements

Comments

@mfatihaktas
Copy link
Contributor

mfatihaktas commented Feb 2, 2024

Is your feature request related to a problem?

Flink supports specifying a point in time and querying the corresponding data in a given table, aka time travel. As a use case, time travel would be useful when the results are desired/required to be reproducible. To support such use cases in Ibis/Flink, we would need to add time travel support for the Flink backend.

Describe the solution you'd like

The API for time travel would look like the following

table = con.create_table(
    ...
    watermark=ibis.watermark(...),
)

expr = table.at_time(<Timestamp expression>).select(...)

Backends

Supporting time travel

Notes

  • Time travel in Flink is somewhat similar to asof in pandas.
    • Flink time travel allows for accessing the snapshot of a table that corresponds to a given time expression.
    • Pandas asof allows for retrieving the last non-nan row within a dataframe that has a smaller value for a given <column, value> (e.g., the column might contain datetime strings).
  • Time travel support in Flink is tied to the catalog. The catalog that the Flink table belongs to has to implement getTable(ObjectPath tablePath, long timestamp) . More details are given here.

Refs

What version of ibis are you running?

7.2.0

What backend(s) are you using, if any?

Flink

Code of Conduct

  • I agree to follow this project's Code of Conduct
@mfatihaktas mfatihaktas added the feature Features or general enhancements label Feb 2, 2024
@cpcloud
Copy link
Member

cpcloud commented Feb 5, 2024

Supported in

  • Snowflake
  • Deltalake read_delta
  • Iceberg No ibis API for this (yet)
  • Flink (Perhaps only when using Paimon?)
  • BigQuery

Not supported in

  • Postgres

We might want this as a method on special leaf table expression type, like

class TimeTravelTable:
    def at_time(self, **kwargs):
        ...

@cpcloud cpcloud changed the title feat(flink): Support time travel query feat(api): Support time travel query Feb 5, 2024
@mfatihaktas
Copy link
Contributor Author

@cpcloud Thanks for the note. Would the "sqlglot refactoring" be a prerequisite or impact the work for this in any way? Asking per your review for feat(flink): implement support for temporal join. As far as I can tell, sqlglot work should not be a prerequisite to move forward with this issue.

@cpcloud
Copy link
Member

cpcloud commented Feb 5, 2024

I think it will, but only because the sqlglot refactor involves a lot of changes to the backend, and it will make development more difficult to have two different branches going for a very long time.

Since 8.0.0 was just released, I need to wrap up the flink port and then we can merge the-epic-split to main.

@mfatihaktas
Copy link
Contributor Author

  • Flink (Perhaps only when using Paimon?)

There are only two requirements explicitly mentioned in the Flink doc:

  1. On the catalog:

Currently, time travel requires the corresponding catalog that the table belongs to implementing the getTable(ObjectPath tablePath, long timestamp) method. See more details in Catalog.

  1. On the table:

FOR SYSTEM_TIME AS OF timestamp_expression:Used to query data at a specific point in time, the timestamp_expression represents the historical time point you want to query. The timestamp_expression can be a specific timestamp or a time-related expression that can be reduced to a constant, and this expression can only apply to physical tables and not to views or sub-queries.

My understanding is that tables need to be versioned to be able to support time travel.

Versioned tables are defined implicitly for any tables whose underlying sources or formats directly define changelogs.
[https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/versioned_tables/#versioned-table-sources]
Meaning that time travel query should be supported on any table based on a source with versioning support.

Coming to Paimon, my understanding is that Paimon (previously Table Store) has been initially proposed to support querying intermediate Flink tables. More information is given on this in the Motivation section of FLIP-188: Introduce Built-in Dynamic Table Storage]. Especially the example with

CREATE TEMPORARY VIEW intermediate_table AS
SELECT  A.order_id,  A.auction_id,  B.category_id,  A.trans_amount,  A.create_time
FROM orders A LEFT JOIN category_dim BON A.auction_id = B.auction_id;

is helpful to understand.
This, to me, implies that intermediate tables do not support time travel as they are not versioned by default. Time travel is supported for intermediate tables only with Paimon. I could not find any doc or article that verifies my understanding, but only this bit: https://paimon.apache.org/docs/master/how-to/querying-tables/#batch-time-travel

I will share updates here as I collect more information and detail.

@zhenzhongxu
Copy link
Contributor

For temporal join with an Iceberg table, i believe there is an unsolved dependency on supporting watermark apache/iceberg#6253

@mfatihaktas mfatihaktas self-assigned this Feb 28, 2024
@mfatihaktas mfatihaktas moved this from backlog to todo in Ibis planning and roadmap Mar 1, 2024
@mfatihaktas mfatihaktas moved this from todo to cooking in Ibis planning and roadmap Mar 1, 2024
@mfatihaktas mfatihaktas moved this from cooking to review in Ibis planning and roadmap Mar 19, 2024
gforsyth pushed a commit that referenced this issue Aug 21, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sqlglot](https://togithub.com/tobymao/sqlglot) | `>=23.4,<25.15` ->
`>=23.4,<25.16` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/sqlglot/25.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/sqlglot/25.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/sqlglot/25.14.0/25.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/sqlglot/25.14.0/25.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>tobymao/sqlglot (sqlglot)</summary>

###
[`v25.15.0`](https://togithub.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25150---2024-08-19)

[Compare
Source](https://togithub.com/tobymao/sqlglot/compare/v25.14.0...v25.15.0)

##### 💥 BREAKING CHANGES

- due to
[`a668655`](https://togithub.com/tobymao/sqlglot/commit/a668655440815605a566c52b65b28decdfb551eb)
- preserve SYSDATE *(PR
[#&#8203;3935](https://togithub.com/tobymao/sqlglot/pull/3935) by
[@&#8203;georgesittas](https://togithub.com/georgesittas))*:

preserve SYSDATE
([#&#8203;3935](https://togithub.com/tobymao/sqlglot/issues/3935))

##### ✨ New Features

-
[`be11f4c`](https://togithub.com/tobymao/sqlglot/commit/be11f4c57c7842f69950bafc3225fb9c139af014)
- **clickhouse**: add support for "@&#8203;"-style parameters *(PR
[#&#8203;3939](https://togithub.com/tobymao/sqlglot/pull/3939) by
[@&#8203;georgesittas](https://togithub.com/georgesittas))*

##### 🐛 Bug Fixes

-
[`a668655`](https://togithub.com/tobymao/sqlglot/commit/a668655440815605a566c52b65b28decdfb551eb)
- **oracle**: preserve SYSDATE *(PR
[#&#8203;3935](https://togithub.com/tobymao/sqlglot/pull/3935) by
[@&#8203;georgesittas](https://togithub.com/georgesittas))*
- ↘️ *fixes issue
[#&#8203;3934](https://togithub.com/tobymao/sqlglot/issues/3934) opened
by [@&#8203;Hal-H2Apps](https://togithub.com/Hal-H2Apps)*
-
[`b824f8a`](https://togithub.com/tobymao/sqlglot/commit/b824f8a4148ace01750db301daf4a663dc03b580)
- **parser**: allow complex expressions for UNPIVOT alias *(PR
[#&#8203;3937](https://togithub.com/tobymao/sqlglot/pull/3937) by
[@&#8203;georgesittas](https://togithub.com/georgesittas))*
- ↘️ *fixes issue
[#&#8203;3936](https://togithub.com/tobymao/sqlglot/issues/3936) opened
by [@&#8203;dbittenbender](https://togithub.com/dbittenbender)*

##### ♻️ Refactors

-
[`f4c34d3`](https://togithub.com/tobymao/sqlglot/commit/f4c34d37c5773c37a13437c7e0e7eb27b4e98877)
- move "MINUS": TokenType.EXCEPT to hive instead of spark *(commit by
[@&#8203;georgesittas](https://togithub.com/georgesittas))*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/ibis-project/ibis).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Phillip Cloud <417981+cpcloud@users.noreply.github.com>
gforsyth added a commit that referenced this issue Nov 19, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sqlglot](https://redirect.github.com/tobymao/sqlglot) |
`>=23.4,<25.31` -> `>=23.4,<25.32` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/sqlglot/25.31.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/sqlglot/25.31.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/sqlglot/25.30.0/25.31.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/sqlglot/25.30.0/25.31.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>tobymao/sqlglot (sqlglot)</summary>

###
[`v25.31.4`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25314---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.3...v25.31.4)

##### 🐛 Bug Fixes

-
[`59b8b6d`](https://redirect.github.com/tobymao/sqlglot/commit/59b8b6d1409b4112d425cc31db45519d5936b6fa)
- preserve column quoting in DISTINCT ON elimination *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.3`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25313---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.2...v25.31.3)

##### ✨ New Features

-
[`835e717`](https://redirect.github.com/tobymao/sqlglot/commit/835e71795f994599dbc19f1a5969b464154926e1)
- **clickhouse**: transform function support *(PR
[#&#8203;4408](https://redirect.github.com/tobymao/sqlglot/pull/4408) by
[@&#8203;GaliFFun](https://redirect.github.com/GaliFFun))*

##### 🐛 Bug Fixes

-
[`0479743`](https://redirect.github.com/tobymao/sqlglot/commit/047974393cebbddbbfb878071d159a3e538b0e4d)
- **snowflake**: cast to TimeToStr arg to TIMESTAMP more conservatively
*(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.2`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25312---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.1...v25.31.2)

##### 🐛 Bug Fixes

-
[`d851269`](https://redirect.github.com/tobymao/sqlglot/commit/d851269780c7f0a0c756289c3dea9b1aa58d2a69)
- use existing aliases in DISTINCT ON elimination, if any *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.1`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25311---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.0...v25.31.1)

##### ✨ New Features

-
[`b00d857`](https://redirect.github.com/tobymao/sqlglot/commit/b00d857cd8a6d2452c2170077cbfa82352f708dd)
- add support for specifying column in row_number function *(PR
[#&#8203;4406](https://redirect.github.com/tobymao/sqlglot/pull/4406) by
[@&#8203;GaliFFun](https://redirect.github.com/GaliFFun))*

##### 🐛 Bug Fixes

-
[`0e46cc7`](https://redirect.github.com/tobymao/sqlglot/commit/0e46cc7fa2d80ba4e92182b3fa5f1075a63f4754)
- refactor DISTINCT ON elimination transformation *(PR
[#&#8203;4407](https://redirect.github.com/tobymao/sqlglot/pull/4407) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.0`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25310---2024-11-16)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.30.0...v25.31.0)

##### 💥 BREAKING CHANGES

- due to
[`f4abfd5`](https://redirect.github.com/tobymao/sqlglot/commit/f4abfd59b8255cf8c39bf51028ee5f6ed704927f)
- Support FORMAT_TIMESTAMP *(PR
[#&#8203;4383](https://redirect.github.com/tobymao/sqlglot/pull/4383) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*:

Support FORMAT_TIMESTAMP
([#&#8203;4383](https://redirect.github.com/tobymao/sqlglot/issues/4383))

- due to
[`45eef60`](https://redirect.github.com/tobymao/sqlglot/commit/45eef600064ad024b34e32e7acc3aca409fbd9c4)
- use select star when eliminating distinct on *(PR
[#&#8203;4401](https://redirect.github.com/tobymao/sqlglot/pull/4401) by
[@&#8203;agrigoroi-palantir](https://redirect.github.com/agrigoroi-palantir))*:

use select star when eliminating distinct on
([#&#8203;4401](https://redirect.github.com/tobymao/sqlglot/issues/4401))

##### ✨ New Features

-
[`72ffdcb`](https://redirect.github.com/tobymao/sqlglot/commit/72ffdcb631bf7afdeda2ce96911442a94b7f11eb)
- **bigquery**: Add parsing support for STRPOS(...) *(PR
[#&#8203;4378](https://redirect.github.com/tobymao/sqlglot/pull/4378) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
-
[`e7b67e0`](https://redirect.github.com/tobymao/sqlglot/commit/e7b67e0c280179188ce1bca650735978b758dca1)
- **bigquery**: Support MAKE_INTERVAL *(PR
[#&#8203;4384](https://redirect.github.com/tobymao/sqlglot/pull/4384) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
-
[`37c4809`](https://redirect.github.com/tobymao/sqlglot/commit/37c4809dfda48224fd982ea8a48d3dbc5c17f9ae)
- **bigquery**: Support INT64(...) *(PR
[#&#8203;4391](https://redirect.github.com/tobymao/sqlglot/pull/4391) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
-
[`9694999`](https://redirect.github.com/tobymao/sqlglot/commit/96949999d394e27df8b0287a14e9ac82d52bc0f9)
- Add support for CONTAINS(...) *(PR
[#&#8203;4399](https://redirect.github.com/tobymao/sqlglot/pull/4399) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*

##### 🐛 Bug Fixes

-
[`f4abfd5`](https://redirect.github.com/tobymao/sqlglot/commit/f4abfd59b8255cf8c39bf51028ee5f6ed704927f)
- **bigquery**: Support FORMAT_TIMESTAMP *(PR
[#&#8203;4383](https://redirect.github.com/tobymao/sqlglot/pull/4383) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
-
[`bb46ee3`](https://redirect.github.com/tobymao/sqlglot/commit/bb46ee33d481a888882cbbb26a9240dd2dbb10ee)
- **parser**: Parse exp.Column for DROP COLUMN *(PR
[#&#8203;4390](https://redirect.github.com/tobymao/sqlglot/pull/4390) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4388](https://redirect.github.com/tobymao/sqlglot/issues/4388)
opened by [@&#8203;AhlamHani](https://redirect.github.com/AhlamHani)*
-
[`79f6783`](https://redirect.github.com/tobymao/sqlglot/commit/79f67830d7d3ba92bff91eeb95b4dc8bdfa6c44e)
- **snowflake**: Wrap DIV0 operands if they're binary expressions *(PR
[#&#8203;4393](https://redirect.github.com/tobymao/sqlglot/pull/4393) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4392](https://redirect.github.com/tobymao/sqlglot/issues/4392)
opened by
[@&#8203;diogo-fernan](https://redirect.github.com/diogo-fernan)*
-
[`647b98d`](https://redirect.github.com/tobymao/sqlglot/commit/647b98d84643b88a41218fb67f6a2bd83ca4c702)
- **starrocks**: Add RESERVED_KEYWORDS specific to starrocks *(PR
[#&#8203;4402](https://redirect.github.com/tobymao/sqlglot/pull/4402) by
[@&#8203;notexistence](https://redirect.github.com/notexistence))*
-
[`45eef60`](https://redirect.github.com/tobymao/sqlglot/commit/45eef600064ad024b34e32e7acc3aca409fbd9c4)
- use select star when eliminating distinct on *(PR
[#&#8203;4401](https://redirect.github.com/tobymao/sqlglot/pull/4401) by
[@&#8203;agrigoroi-palantir](https://redirect.github.com/agrigoroi-palantir))*

##### ♻️ Refactors

-
[`a3af2af`](https://redirect.github.com/tobymao/sqlglot/commit/a3af2af3a893dfd6c6946b732aa086d1f1d91570)
- attach stamement comments consistently *(PR
[#&#8203;4377](https://redirect.github.com/tobymao/sqlglot/pull/4377) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
- ↘️ *addresses issue
[#&#8203;4376](https://redirect.github.com/tobymao/sqlglot/issues/4376)
opened by [@&#8203;YieldRay](https://redirect.github.com/YieldRay)*

##### 🔧 Chores

-
[`858c5b1`](https://redirect.github.com/tobymao/sqlglot/commit/858c5b1a43f74e11b8c357986c78b5068792b3af)
- improve contribution guide *(PR
[#&#8203;4379](https://redirect.github.com/tobymao/sqlglot/pull/4379) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
-
[`160e688`](https://redirect.github.com/tobymao/sqlglot/commit/160e6883225cd6ad41a218213f73aa9f91b5fc5e)
- fix relative benchmark import, comment out sqltree *(PR
[#&#8203;4403](https://redirect.github.com/tobymao/sqlglot/pull/4403) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
-
[`8d78add`](https://redirect.github.com/tobymao/sqlglot/commit/8d78addccaaffa4ea2dcfe1de002f8a653f137b7)
- bump PYO3 to v"0.22.6" *(PR
[#&#8203;4400](https://redirect.github.com/tobymao/sqlglot/pull/4400) by
[@&#8203;MartinSahlen](https://redirect.github.com/MartinSahlen))*
-
[`f78e755`](https://redirect.github.com/tobymao/sqlglot/commit/f78e755adaf52823642d2b0e1cae54da835ec653)
- bump sqlglotrs to v0.2.14 *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ibis-project/ibis).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gil Forsyth <gil@forsyth.dev>
IndexSeek pushed a commit that referenced this issue Nov 23, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) |
action | patch | `v3.2.3` -> `v3.2.4` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

###
[`v3.2.4`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v3.2.4):
🌈 Expand `~` tilde in input paths

[Compare
Source](https://redirect.github.com/astral-sh/setup-uv/compare/v3.2.3...v3.2.4)

This release adds support for expanding the `~` character to the user's
home directory for the following inputs:

-   `cache-local-path`
-   `tool-dir`
-   `tool-bin-dir`
-   `cache-dependency-glob`

```yaml
- name: Expand the tilde character
  uses: astral-sh/setup-uv@v3
  with:
    cache-local-path: "~/path/to/cache"
    tool-dir: "~/path/to/tool/dir"
    tool-bin-dir: "~/path/to/tool-bin/dir"
    cache-dependency-glob: "~/my-cache-buster"
```

In order to make this work `cache-dependency-glob` also got support to
glob files outside the working directory:

```yaml
- name: Define an absolute cache dependency glob
  uses: astral-sh/setup-uv@v3
  with:
    enable-cache: true
    cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
```

Thank you [@&#8203;fynnsu](https://redirect.github.com/fynnsu) for
raising this issue!

##### 🚀 Enhancements

- Expand TILDE (~) in path inputs
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;160](https://redirect.github.com/astral-sh/setup-uv/issues/160))

##### 🧰 Maintenance

- chore: update known checksums for 0.5.4
[@&#8203;github-actions](https://redirect.github.com/github-actions)
([#&#8203;158](https://redirect.github.com/astral-sh/setup-uv/issues/158))
- chore: update known checksums for 0.5.3
[@&#8203;github-actions](https://redirect.github.com/github-actions)
([#&#8203;156](https://redirect.github.com/astral-sh/setup-uv/issues/156))

##### ⬆️ Dependency updates

- Bump [@&#8203;types/node](https://redirect.github.com/types/node) from
22.9.0 to 22.9.1
[@&#8203;dependabot](https://redirect.github.com/dependabot)
([#&#8203;157](https://redirect.github.com/astral-sh/setup-uv/issues/157))
- Bump [@&#8203;vercel/ncc](https://redirect.github.com/vercel/ncc) from
0.38.2 to 0.38.3
[@&#8203;dependabot](https://redirect.github.com/dependabot)
([#&#8203;155](https://redirect.github.com/astral-sh/setup-uv/issues/155))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ibis-project/ibis).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
IndexSeek pushed a commit that referenced this issue Nov 23, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) |
action | major | `v3.2.4` -> `v4.0.0` |

---

### Release Notes

<details>
<summary>astral-sh/setup-uv (astral-sh/setup-uv)</summary>

###
[`v4.0.0`](https://redirect.github.com/astral-sh/setup-uv/releases/tag/v4.0.0):
🌈 Fail when cache local path does not exist when trying to cache

[Compare
Source](https://redirect.github.com/astral-sh/setup-uv/compare/v3.2.4...v4.0.0)

##### 🚨 Breaking change 🚨

By default, the action will now fail if caching is enabled but there is
nothing to upload (the uv cache directory does not exist).
If you want to ignore this, set the `ignore-nothing-to-cache` input to
`true`.

```yaml
- name: Ignore nothing to cache
  uses: astral-sh/setup-uv@v3
  with:
    enable-cache: true
    ignore-nothing-to-cache: true
```

***

In previous releases only an error got logged when saving the cache
failed. In most cases users did not realize something was wrong with
their config.

<img width="1014" alt="image"
src="https://github.com/user-attachments/assets/6d03ac1f-9c04-4571-841e-de41291f4939">

##### Changes
##### 🚨 Breaking changes

- Fail when cache local path does not exist when trying to cache
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;163](https://redirect.github.com/astral-sh/setup-uv/issues/163))

##### 🐛 Bug fixes

- Fail when cache local path does not exist when trying to cache
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;163](https://redirect.github.com/astral-sh/setup-uv/issues/163))
- Remove working dir from cacheDependencyGlob error message
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;162](https://redirect.github.com/astral-sh/setup-uv/issues/162))

##### 📚 Documentation

- Change some formulations in README.md
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;164](https://redirect.github.com/astral-sh/setup-uv/issues/164))
- Add comment to clarify process.exit(0)
[@&#8203;eifinger](https://redirect.github.com/eifinger)
([#&#8203;161](https://redirect.github.com/astral-sh/setup-uv/issues/161))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ibis-project/ibis).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
gforsyth added a commit that referenced this issue Dec 5, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sqlglot](https://redirect.github.com/tobymao/sqlglot) |
`>=23.4,<25.32` -> `>=23.4,<25.33` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/sqlglot/25.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/sqlglot/25.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/sqlglot/25.31.0/25.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/sqlglot/25.31.0/25.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>tobymao/sqlglot (sqlglot)</summary>

###
[`v25.32.0`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25320---2024-11-22)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.4...v25.32.0)

##### 💥 BREAKING CHANGES

- due to
[`0eed45c`](https://redirect.github.com/tobymao/sqlglot/commit/0eed45cce82681bfbafc8bfb78eb2a1bce86ae53)
- Add support for ATTACH/DETACH statements *(PR
[#&#8203;4419](https://redirect.github.com/tobymao/sqlglot/pull/4419) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*:

Add support for ATTACH/DETACH statements
([#&#8203;4419](https://redirect.github.com/tobymao/sqlglot/issues/4419))

- due to
[`da48b68`](https://redirect.github.com/tobymao/sqlglot/commit/da48b68a4f1fa6a754fa2a0a789564675d59546f)
- Tokenize hints as comments *(PR
[#&#8203;4426](https://redirect.github.com/tobymao/sqlglot/pull/4426) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*:

Tokenize hints as comments
([#&#8203;4426](https://redirect.github.com/tobymao/sqlglot/issues/4426))

- due to
[`fe35394`](https://redirect.github.com/tobymao/sqlglot/commit/fe3539464a153b1c0bf46975d6221dee48a48f02)
- fix datetime coercion in the canonicalize rule *(PR
[#&#8203;4431](https://redirect.github.com/tobymao/sqlglot/pull/4431) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*:

fix datetime coercion in the canonicalize rule
([#&#8203;4431](https://redirect.github.com/tobymao/sqlglot/issues/4431))

- due to
[`fddcd3d`](https://redirect.github.com/tobymao/sqlglot/commit/fddcd3dfc264a645909686c201d2288c0adf9047)
- bump sqlglotrs to 0.3.0 *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*:

    bump sqlglotrs to 0.3.0

##### ✨ New Features

-
[`0eed45c`](https://redirect.github.com/tobymao/sqlglot/commit/0eed45cce82681bfbafc8bfb78eb2a1bce86ae53)
- **duckdb**: Add support for ATTACH/DETACH statements *(PR
[#&#8203;4419](https://redirect.github.com/tobymao/sqlglot/pull/4419) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
-
[`2db757d`](https://redirect.github.com/tobymao/sqlglot/commit/2db757dfec9ded26572b8e9a71dcc8ea8a2382fe)
- **bigquery**: Support FEATURES_AT_TIME *(PR
[#&#8203;4430](https://redirect.github.com/tobymao/sqlglot/pull/4430) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *addresses issue
[#&#8203;4428](https://redirect.github.com/tobymao/sqlglot/issues/4428)
opened by
[@&#8203;YuvrajSoni-Ksolves](https://redirect.github.com/YuvrajSoni-Ksolves)*
-
[`fc591ae`](https://redirect.github.com/tobymao/sqlglot/commit/fc591ae2fa80be5821cb53d78906afe8e5505654)
- **risingwave**: add support for SINK, SOURCE & other DDL properties
*(PR
[#&#8203;4387](https://redirect.github.com/tobymao/sqlglot/pull/4387) by
[@&#8203;lin0303-siyuan](https://redirect.github.com/lin0303-siyuan))*
-
[`a2bde2e`](https://redirect.github.com/tobymao/sqlglot/commit/a2bde2e03e9ef8650756bf304db35b4876746d1f)
- **mysql**: improve transpilability of CHAR\[ACTER]\_LENGTH *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
-
[`0acc248`](https://redirect.github.com/tobymao/sqlglot/commit/0acc248361f49f68f17d799cbaf6b3de06c57f7e)
- **snowflake**: Support CREATE ... WITH TAG *(PR
[#&#8203;4434](https://redirect.github.com/tobymao/sqlglot/pull/4434) by
[@&#8203;asikowitz](https://redirect.github.com/asikowitz))*
- ↘️ *addresses issue
[#&#8203;4427](https://redirect.github.com/tobymao/sqlglot/issues/4427)
opened by [@&#8203;asikowitz](https://redirect.github.com/asikowitz)*
-
[`37863ff`](https://redirect.github.com/tobymao/sqlglot/commit/37863ffd747cad9c2b9bed60119cc1551faeffda)
- **snowflake**: Transpile non-UNNEST exp.GenerateDateArray refs *(PR
[#&#8203;4433](https://redirect.github.com/tobymao/sqlglot/pull/4433) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*

##### 🐛 Bug Fixes

-
[`83ee97b`](https://redirect.github.com/tobymao/sqlglot/commit/83ee97b34cd0fe269b4820f15147d1ed7523612e)
- **parser**: Do not parse window function arg as exp.Column *(PR
[#&#8203;4415](https://redirect.github.com/tobymao/sqlglot/pull/4415) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4410](https://redirect.github.com/tobymao/sqlglot/issues/4410)
opened by [@&#8203;merlindso](https://redirect.github.com/merlindso)*
-
[`b22e0c8`](https://redirect.github.com/tobymao/sqlglot/commit/b22e0c8680b0ee5a382e57904b698bf21a94f782)
- **parser**: Extend DESCRIBE parser for MySQL FORMAT & statements *(PR
[#&#8203;4417](https://redirect.github.com/tobymao/sqlglot/pull/4417) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4414](https://redirect.github.com/tobymao/sqlglot/issues/4414)
opened by [@&#8203;AhlamHani](https://redirect.github.com/AhlamHani)*
-
[`d1d2ae7`](https://redirect.github.com/tobymao/sqlglot/commit/d1d2ae7d1514abc9477d275352e5e126509157c6)
- **duckdb**: Allow count arg on exp.ArgMax & exp.ArgMin *(PR
[#&#8203;4413](https://redirect.github.com/tobymao/sqlglot/pull/4413) by
[@&#8203;aersam](https://redirect.github.com/aersam))*
- ↘️ *fixes issue
[#&#8203;4412](https://redirect.github.com/tobymao/sqlglot/issues/4412)
opened by [@&#8203;aersam](https://redirect.github.com/aersam)*
-
[`e3c45d5`](https://redirect.github.com/tobymao/sqlglot/commit/e3c45d5ec0ae6827e4b0bcfb047aeac131379732)
- presto reset session closes
[#&#8203;4421](https://redirect.github.com/tobymao/sqlglot/pull/4421)
*(commit by [@&#8203;tobymao](https://redirect.github.com/tobymao))*
-
[`fd81f1b`](https://redirect.github.com/tobymao/sqlglot/commit/fd81f1bfee9a566b8df8bb501828c20bd72ac481)
- more presto commands *(commit by
[@&#8203;tobymao](https://redirect.github.com/tobymao))*
-
[`da48b68`](https://redirect.github.com/tobymao/sqlglot/commit/da48b68a4f1fa6a754fa2a0a789564675d59546f)
- Tokenize hints as comments *(PR
[#&#8203;4426](https://redirect.github.com/tobymao/sqlglot/pull/4426) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4425](https://redirect.github.com/tobymao/sqlglot/issues/4425)
opened by [@&#8203;mkmoisen](https://redirect.github.com/mkmoisen)*
-
[`69d4a8c`](https://redirect.github.com/tobymao/sqlglot/commit/69d4a8ccdf5954f293acbdf61c420b72dde5b8af)
- **tsql**: Map weekday to %w *(PR
[#&#8203;4438](https://redirect.github.com/tobymao/sqlglot/pull/4438) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*
- ↘️ *fixes issue
[#&#8203;4435](https://redirect.github.com/tobymao/sqlglot/issues/4435)
opened by
[@&#8203;travispaice](https://redirect.github.com/travispaice)*
-
[`41d6a13`](https://redirect.github.com/tobymao/sqlglot/commit/41d6a13ccfb28fbcf772fd43ea17da3b36567e67)
- add return type *(PR
[#&#8203;4440](https://redirect.github.com/tobymao/sqlglot/pull/4440) by
[@&#8203;etonlels](https://redirect.github.com/etonlels))*
-
[`fe35394`](https://redirect.github.com/tobymao/sqlglot/commit/fe3539464a153b1c0bf46975d6221dee48a48f02)
- **optimizer**: fix datetime coercion in the canonicalize rule *(PR
[#&#8203;4431](https://redirect.github.com/tobymao/sqlglot/pull/4431) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
- ↘️ *fixes issue
[#&#8203;4429](https://redirect.github.com/tobymao/sqlglot/issues/4429)
opened by [@&#8203;Ca1ypso](https://redirect.github.com/Ca1ypso)*
-
[`6aea9f3`](https://redirect.github.com/tobymao/sqlglot/commit/6aea9f346ef8f91467e1d5da5a3f94cf862b44fe)
- Refactor NORMALIZE_FUNCTIONS flag usage *(PR
[#&#8203;4437](https://redirect.github.com/tobymao/sqlglot/pull/4437) by
[@&#8203;VaggelisD](https://redirect.github.com/VaggelisD))*

##### ♻️ Refactors

-
[`f32a435`](https://redirect.github.com/tobymao/sqlglot/commit/f32a435205ec288f310ad57748ac66805e27f7f5)
- **risingwave**: clean up SINK/SOURCE logic *(PR
[#&#8203;4432](https://redirect.github.com/tobymao/sqlglot/pull/4432) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*
-
[`b24aced`](https://redirect.github.com/tobymao/sqlglot/commit/b24aced2dbb7e471d2dd0eb830ea4f2e24f9d267)
- **snowflake**: clean up \[WITH] TAG property / constraint *(PR
[#&#8203;4439](https://redirect.github.com/tobymao/sqlglot/pull/4439) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

##### 🔧 Chores

-
[`fddcd3d`](https://redirect.github.com/tobymao/sqlglot/commit/fddcd3dfc264a645909686c201d2288c0adf9047)
- bump sqlglotrs to 0.3.0 *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.4`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25314---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.3...v25.31.4)

##### 🐛 Bug Fixes

-
[`59b8b6d`](https://redirect.github.com/tobymao/sqlglot/commit/59b8b6d1409b4112d425cc31db45519d5936b6fa)
- preserve column quoting in DISTINCT ON elimination *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.3`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25313---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.2...v25.31.3)

##### ✨ New Features

-
[`835e717`](https://redirect.github.com/tobymao/sqlglot/commit/835e71795f994599dbc19f1a5969b464154926e1)
- **clickhouse**: transform function support *(PR
[#&#8203;4408](https://redirect.github.com/tobymao/sqlglot/pull/4408) by
[@&#8203;GaliFFun](https://redirect.github.com/GaliFFun))*

##### 🐛 Bug Fixes

-
[`0479743`](https://redirect.github.com/tobymao/sqlglot/commit/047974393cebbddbbfb878071d159a3e538b0e4d)
- **snowflake**: cast to TimeToStr arg to TIMESTAMP more conservatively
*(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.2`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25312---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.1...v25.31.2)

##### 🐛 Bug Fixes

-
[`d851269`](https://redirect.github.com/tobymao/sqlglot/commit/d851269780c7f0a0c756289c3dea9b1aa58d2a69)
- use existing aliases in DISTINCT ON elimination, if any *(commit by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

###
[`v25.31.1`](https://redirect.github.com/tobymao/sqlglot/blob/HEAD/CHANGELOG.md#v25311---2024-11-17)

[Compare
Source](https://redirect.github.com/tobymao/sqlglot/compare/v25.31.0...v25.31.1)

##### ✨ New Features

-
[`b00d857`](https://redirect.github.com/tobymao/sqlglot/commit/b00d857cd8a6d2452c2170077cbfa82352f708dd)
- add support for specifying column in row_number function *(PR
[#&#8203;4406](https://redirect.github.com/tobymao/sqlglot/pull/4406) by
[@&#8203;GaliFFun](https://redirect.github.com/GaliFFun))*

##### 🐛 Bug Fixes

-
[`0e46cc7`](https://redirect.github.com/tobymao/sqlglot/commit/0e46cc7fa2d80ba4e92182b3fa5f1075a63f4754)
- refactor DISTINCT ON elimination transformation *(PR
[#&#8203;4407](https://redirect.github.com/tobymao/sqlglot/pull/4407) by
[@&#8203;georgesittas](https://redirect.github.com/georgesittas))*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ibis-project/ibis).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gil Forsyth <gil@forsyth.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Features or general enhancements
Projects
Status: review
Development

No branches or pull requests

3 participants