• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SAP / sqlalchemy-hana / 29227765408

11 Jul 2026 02:49PM UTC coverage: 87.487% (-8.4%) from 95.846%
29227765408

push

github

web-flow
Update astral-sh/setup-uv action to v8.3.2 (#669)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [astral-sh/setup-uv](https://redirect.github.com/astral-sh/setup-uv) |
action | patch | `v8.3.1` → `v8.3.2` |

---

### Release Notes

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

###
[`v8.3.2`](https://redirect.github.com/astral-sh/setup-uv/compare/v8.3.1...v8.3.2)

[Compare
Source](https://redirect.github.com/astral-sh/setup-uv/compare/v8.3.1...v8.3.2)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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/SAP/sqlalchemy-hana).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

1685 of 1926 relevant lines covered (87.49%)

0.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.97
/test/test_sql_compile.py
1
"""SAP HANA SQL testing."""
2

3
from __future__ import annotations
1✔
4

5
from sqlalchemy import func, literal, select, true
1✔
6
from sqlalchemy.sql.expression import column, table
1✔
7
from sqlalchemy.testing.assertions import AssertsCompiledSQL
1✔
8
from sqlalchemy.testing.fixtures import TestBase
1✔
9

10

11
class SQLCompileTest(TestBase, AssertsCompiledSQL):
×
12
    __dialect__ = "hana"
×
13

14
    def test_sql_with_for_update(self) -> None:
1✔
15
        table1 = table("mytable", column("myid"), column("name"), column("description"))
×
16

17
        self.assert_compile(
1✔
18
            table1.select().with_for_update(),
19
            "SELECT mytable.myid, mytable.name, mytable.description "
20
            "FROM mytable FOR UPDATE",
21
        )
22

23
        self.assert_compile(
1✔
24
            table1.select().with_for_update(nowait=True),
25
            "SELECT mytable.myid, mytable.name, mytable.description "
26
            "FROM mytable FOR UPDATE NOWAIT",
27
        )
28

29
        self.assert_compile(
1✔
30
            table1.select().with_for_update(read=True),
31
            "SELECT mytable.myid, mytable.name, mytable.description "
32
            "FROM mytable FOR SHARE LOCK",
33
        )
34

35
        self.assert_compile(
1✔
36
            table1.select().with_for_update(read=True, skip_locked=True),
37
            "SELECT mytable.myid, mytable.name, mytable.description "
38
            "FROM mytable FOR SHARE LOCK IGNORE LOCKED",
39
        )
40

41
        self.assert_compile(
1✔
42
            table1.select().with_for_update(skip_locked=True),
43
            "SELECT mytable.myid, mytable.name, mytable.description "
44
            "FROM mytable FOR UPDATE IGNORE LOCKED",
45
        )
46

47
        self.assert_compile(
1✔
48
            table1.select().with_for_update(of=table1),
49
            "SELECT mytable.myid, mytable.name, mytable.description "
50
            "FROM mytable FOR UPDATE OF mytable.myid, mytable.name, mytable.description",
51
        )
52

53
    def test_sql_unary_boolean(self) -> None:
×
54
        self.assert_compile(
1✔
55
            select(literal(1)).where(true()),
56
            "SELECT __[POSTCOMPILE_param_1] AS anon_1 FROM DUMMY WHERE true = TRUE",
57
        )
58

59
    def test_sql_offset_without_limit(self) -> None:
×
60
        self.assert_compile(
1✔
61
            select(literal(1)).offset(100),
62
            "SELECT __[POSTCOMPILE_param_1] AS anon_1 FROM DUMMY LIMIT 2147384648 OFFSET ?",
63
        )
64

65
    def test_sql_now_function(self) -> None:
×
66
        self.assert_compile(
1✔
67
            select(func.now()), "SELECT CURRENT_TIMESTAMP AS now_1 FROM DUMMY"
68
        )
69

70
    def test_sql_with_statement_hint_single(self) -> None:
1✔
71
        table1 = table("mytable", column("myid"))
1✔
72
        self.assert_compile(
1✔
73
            table1.select().with_statement_hint("NO_CS_JOIN"),
74
            "SELECT mytable.myid FROM mytable WITH HINT(NO_CS_JOIN)",
75
        )
76

77
    def test_sql_with_statement_hint_multiple(self) -> None:
×
78
        table1 = table("mytable", column("myid"))
×
79
        self.assert_compile(
1✔
80
            table1.select()
81
            .with_statement_hint("NO_CS_JOIN")
82
            .with_statement_hint("HASH_JOIN"),
83
            "SELECT mytable.myid FROM mytable WITH HINT(NO_CS_JOIN, HASH_JOIN)",
84
        )
85

86
    def test_sql_with_statement_hint_dialect_filter(self) -> None:
1✔
87
        table1 = table("mytable", column("myid"))
×
88
        # hint with dialect_name="*" should be included
89
        self.assert_compile(
1✔
90
            table1.select().with_statement_hint("NO_CS_JOIN", dialect_name="*"),
91
            "SELECT mytable.myid FROM mytable WITH HINT(NO_CS_JOIN)",
92
        )
93
        # hint targeted at another dialect should not appear
94
        self.assert_compile(
1✔
95
            table1.select().with_statement_hint(
96
                "NO_CS_JOIN", dialect_name="postgresql"
97
            ),
98
            "SELECT mytable.myid FROM mytable",
99
        )
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc