Skip to content

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Mar 16, 2024

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps docker/setup-qemu-action from 2 to 3.

Release notes

Sourced from docker/setup-qemu-action's releases.

v3.0.0

Full Changelog: docker/setup-qemu-action@v2.2.0...v3.0.0

v2.2.0

Full Changelog: docker/setup-qemu-action@v2.1.0...v2.2.0

v2.1.0

Full Changelog: docker/setup-qemu-action@v2.0.0...v2.1.0

Commits
  • 6882732 Merge pull request #103 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
  • 183f4af chore: update generated content
  • f174935 build(deps): bump @​actions/core from 1.10.0 to 1.10.1
  • 2e423eb Merge pull request #89 from docker/dependabot/npm_and_yarn/semver-6.3.1
  • ecc406a Bump semver from 6.3.0 to 6.3.1
  • 12dec5e Merge pull request #102 from crazy-max/update-node20
  • c29b312 chore: node 20 as default runtime
  • 34ae628 chore: update generated content
  • 1f3d2e1 chore: fix author in package.json
  • 277dbe8 vendor: bump @​docker/actions-toolkit from 0.3.0 to 0.12.0
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Mar 16, 2024
@cofin cofin merged commit 72309f2 into hatched Mar 16, 2024
@cofin cofin deleted the dependabot/github_actions/docker/setup-qemu-action-3 branch March 16, 2024 19:34
cofin added a commit that referenced this pull request Oct 4, 2025
Phase 4 of performance implementation plan - prevent memory leaks.

Changes:
- Convert unbounded dict to OrderedDict with 5000 entry limit
- Add LRU eviction using move_to_end() and popitem(last=False)
- Evict oldest entry when cache reaches max size
- Thread-safe in CPython (atomic OrderedDict operations)

Impact: Prevents unbounded memory growth in long-running processes
Tests: 153 parameter tests passing

Related: perf.md Phase 4 (#2 Bounded LRU Cache)
cofin added a commit that referenced this pull request Oct 5, 2025
BREAKING CHANGE: DatabaseConfig wrapper classes removed

## Summary

Eliminates DatabaseConfig wrapper pattern and separates async/sync handler
code paths for direct async operations. This combined PR merges the planned
PRs #2, #3, and #4 from the litestar-pr83-analysis into a single change.

## Architecture Changes

**Deleted**:
- `sqlspec/extensions/litestar/config.py` (292 lines) - DatabaseConfig wrapper
- `tests/unit/test_extensions/test_litestar/test_config.py` (482 lines)

**Created**:
- `sqlspec/extensions/litestar/handlers_async.py` (289 lines) - Pure async handlers
- `tests/unit/test_extensions/test_litestar/test_handlers_async.py` (290 lines)

**Modified**:
- `sqlspec/extensions/litestar/handlers.py` → `handlers_sync.py` (renamed)
- `sqlspec/extensions/litestar/plugin.py` (completely rewritten, 491 lines)
- `sqlspec/extensions/litestar/__init__.py` (updated exports)

## Plugin Now Accepts Core Configs Directly

**Before**:
```python
from sqlspec.extensions.litestar import SQLSpec, DatabaseConfig
asyncpg_config = AsyncpgConfig(pool_config={"dsn": "..."})
db_config = DatabaseConfig(config=asyncpg_config)  # Heavy wrapper!
plugin = SQLSpec(config=db_config)
```

**After**:
```python
from sqlspec import SQLSpec
from sqlspec.extensions.litestar import SQLSpec as SQLSpecPlugin
asyncpg_config = AsyncpgConfig(
    pool_config={"dsn": "..."},
    extension_config={"litestar": {"commit_mode": "autocommit"}}
)
sql = SQLSpec()
sql.add_config(asyncpg_config)
plugin = SQLSpecPlugin(config=asyncpg_config)  # No wrapper!
```

## Handler Routing

Plugin uses `config.is_async` ClassVar to route to appropriate handlers:
- **Async configs** → `handlers_async.py` (direct await, zero overhead)
- **Sync configs** → `handlers_sync.py` (minimal ensure_async_() wrapping)

## Test Results

- mypy: 0 errors across 7 source files
- ruff: All checks passed
- pytest: 14/14 unit tests passing
- Net change: -66 lines (901 additions, 967 deletions)

## Migration

Users should update to use extension_config pattern. The old DatabaseConfig
wrapper has been removed without deprecation as this PR combines multiple
planned changes into one.

Fixes performance issues identified in PR #83 analysis.
cofin added a commit that referenced this pull request Oct 5, 2025
* feat!: refactor Litestar extension.

BREAKING CHANGE: DatabaseConfig wrapper classes removed

## Summary

Eliminates DatabaseConfig wrapper pattern and separates async/sync handler
code paths for direct async operations. This combined PR merges the planned
PRs #2, #3, and #4 from the litestar-pr83-analysis into a single change.

## Architecture Changes

**Deleted**:
- `sqlspec/extensions/litestar/config.py` (292 lines) - DatabaseConfig wrapper
- `tests/unit/test_extensions/test_litestar/test_config.py` (482 lines)

**Created**:
- `sqlspec/extensions/litestar/handlers_async.py` (289 lines) - Pure async handlers
- `tests/unit/test_extensions/test_litestar/test_handlers_async.py` (290 lines)

**Modified**:
- `sqlspec/extensions/litestar/handlers.py` → `handlers_sync.py` (renamed)
- `sqlspec/extensions/litestar/plugin.py` (completely rewritten, 491 lines)
- `sqlspec/extensions/litestar/__init__.py` (updated exports)

## Plugin Now Accepts Core Configs Directly

**Before**:
```python
from sqlspec.extensions.litestar import SQLSpec, DatabaseConfig
asyncpg_config = AsyncpgConfig(pool_config={"dsn": "..."})
db_config = DatabaseConfig(config=asyncpg_config)  # Heavy wrapper!
plugin = SQLSpec(config=db_config)
```

**After**:
```python
from sqlspec import SQLSpec
from sqlspec.extensions.litestar import SQLSpec as SQLSpecPlugin
asyncpg_config = AsyncpgConfig(
    pool_config={"dsn": "..."},
    extension_config={"litestar": {"commit_mode": "autocommit"}}
)
sql = SQLSpec()
sql.add_config(asyncpg_config)
plugin = SQLSpecPlugin(config=asyncpg_config)  # No wrapper!
```

## Handler Routing

Plugin uses `config.is_async` ClassVar to route to appropriate handlers:
- **Async configs** → `handlers_async.py` (direct await, zero overhead)
- **Sync configs** → `handlers_sync.py` (minimal ensure_async_() wrapping)

## Test Results

- mypy: 0 errors across 7 source files
- ruff: All checks passed
- pytest: 14/14 unit tests passing
- Net change: -66 lines (901 additions, 967 deletions)

## Migration

Users should update to use extension_config pattern. The old DatabaseConfig
wrapper has been removed without deprecation as this PR combines multiple
planned changes into one.

Fixes performance issues identified in PR #83 analysis.

* fix: updated config

* fix: ensure tests use local handlers

* fix: cleanup

* fix: code quality updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant