Skip to content

Commit 187b9ef

Browse files
authored
feat!: all configs use connection_config (#280)
Update all configuration instances to utilize `connection_config` instead of `pool_config`, ensuring consistency across the codebase.
1 parent 27532c8 commit 187b9ef

File tree

344 files changed

+3613
-1759
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+3613
-1759
lines changed

.claude/agents/docs-vision.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ from sqlspec.adapters.asyncpg.config import AsyncpgConfig
8383
8484
config = AsyncpgConfig(
8585
dsn="postgresql://user:pass@localhost/db",
86-
pool_config={
86+
connection_config={
8787
"min_size": 10,
8888
"max_size": 20,
8989
"max_inactive_connection_lifetime": 300
@@ -393,7 +393,7 @@ When implementing optional type handlers (NumPy, pgvector, etc.):
393393
```python
394394
class AdapterConfig(AsyncDatabaseConfig):
395395
async def _create_pool(self):
396-
config = dict(self.pool_config)
396+
config = dict(self.connection_config)
397397
398398
if self.driver_features.get("enable_feature", False):
399399
config["session_callback"] = self._init_connection

.claude/agents/expert.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ mcp__context7__get-library-docs(
559559
Edit(
560560
file_path="sqlspec/adapters/asyncpg/config.py",
561561
old_string="# TODO: Add pooling",
562-
new_string="pool = await asyncpg.create_pool(**pool_config)"
562+
new_string="pool = await asyncpg.create_pool(**connection_config)"
563563
)
564564

565565
# 4. Test locally

.claude/commands/bootstrap.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ Database-specific implementation for {adapter_name}.
359359
from sqlspec.adapters.{adapter_name} import {adapter_name.capitalize()}Config
360360
361361
config = {adapter_name.capitalize()}Config(
362-
pool_config={{"dsn": "..."}},
362+
connection_config={{"dsn": "..."}},
363363
driver_features={{}}
364364
)
365365
```
@@ -419,7 +419,7 @@ pip install sqlspec[{adapter_name}]
419419
from sqlspec.adapters.{adapter_name} import {adapter_name.capitalize()}Config
420420
421421
config = {adapter_name.capitalize()}Config(
422-
pool_config={{"dsn": "..."}}
422+
connection_config={{"dsn": "..."}}
423423
)
424424
```
425425

.claude/commands/explore.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ Show minimal working examples:
276276
from sqlspec.adapters.asyncpg import AsyncpgConfig
277277

278278
config = AsyncpgConfig(
279-
pool_config={"dsn": "postgresql://..."},
279+
connection_config={"dsn": "postgresql://..."},
280280
parameter_profile=ParameterProfile(
281281
style="numbered",
282282
prefix="$"
@@ -425,7 +425,7 @@ ParameterProfile definitions and the convert_parameters() function.
425425
```python
426426
from sqlspec.adapters.asyncpg import AsyncpgConfig
427427

428-
config = AsyncpgConfig(pool_config={"dsn": "postgresql://..."})
428+
config = AsyncpgConfig(connection_config={"dsn": "postgresql://..."})
429429

430430
# Input: "SELECT * FROM users WHERE id = :id"
431431
# Output: "SELECT * FROM users WHERE id = $1"

.claude/skills/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Detailed reference guides for specific SQLSpec usage patterns:
3737

3838
| Guide | Purpose | Key Topics |
3939
|-------|---------|-----------|
40-
| [configuration.md](sqlspec-usage/patterns/configuration.md) | Configuration across all adapters | pool_config, driver_features, extension_config, multi-database |
40+
| [configuration.md](sqlspec-usage/patterns/configuration.md) | Configuration across all adapters | connection_config, driver_features, extension_config, multi-database |
4141
| [queries.md](sqlspec-usage/patterns/queries.md) | Query execution patterns | Parameter binding, result handling, transactions, type mapping |
4242
| [frameworks.md](sqlspec-usage/patterns/frameworks.md) | Framework integration | Litestar, FastAPI, Starlette, Flask patterns |
4343
| [migrations.md](sqlspec-usage/patterns/migrations.md) | Database migrations | CLI commands, hybrid versioning, programmatic control |
@@ -127,7 +127,7 @@ The `.claude/bootstrap.md` includes automatic skill creation for SQLSpec project
127127

128128
All skills include sections on anti-patterns to avoid:
129129

130-
- Configuration mistakes (missing pool_config, duplicate session keys)
130+
- Configuration mistakes (missing connection_config, duplicate session keys)
131131
- Session management errors (no context managers, mixing sync/async)
132132
- Query execution issues (SQL injection, wrong parameter style)
133133
- Framework integration problems (duplicate keys, missing middleware)

.claude/skills/sqlspec_adapters/aiosqlite.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ from sqlspec.adapters.aiosqlite import (
3030
)
3131

3232
config = AiosqliteConfig(
33-
pool_config={
33+
connection_config={
3434
# Database path
3535
"database": "file::memory:?cache=shared", # Default shared memory
3636
# OR: "app.db", # File-based database
@@ -92,7 +92,7 @@ result = await session.execute(
9292
```python
9393
# Configure async pool
9494
config = AiosqliteConfig(
95-
pool_config={
95+
connection_config={
9696
"database": "app.db",
9797
"pool_size": 10, # 10 concurrent connections
9898
"connect_timeout": 30.0, # Wait up to 30s for connection
@@ -114,7 +114,7 @@ await config.close_pool()
114114
```python
115115
# Shared memory database (default)
116116
config = AiosqliteConfig(
117-
pool_config={
117+
connection_config={
118118
"database": "file::memory:?cache=shared", # All connections see same data
119119
"uri": True,
120120
}
@@ -216,7 +216,7 @@ from litestar.contrib.sqlspec import SQLSpecConfig, SQLSpecPlugin
216216
sqlspec_config = SQLSpecConfig(
217217
configs=[
218218
AiosqliteConfig(
219-
pool_config={"database": "app.db", "pool_size": 10},
219+
connection_config={"database": "app.db", "pool_size": 10},
220220
extension_config={
221221
"litestar": {
222222
"commit_mode": "autocommit",
@@ -251,7 +251,7 @@ from fastapi import FastAPI, Depends
251251
from contextlib import asynccontextmanager
252252

253253
config = AiosqliteConfig(
254-
pool_config={"database": "app.db"}
254+
connection_config={"database": "app.db"}
255255
)
256256

257257
@asynccontextmanager
@@ -283,7 +283,7 @@ from starlette.requests import Request
283283
from starlette.responses import JSONResponse
284284

285285
config = AiosqliteConfig(
286-
pool_config={"database": "app.db"},
286+
connection_config={"database": "app.db"},
287287
extension_config={
288288
"starlette": {
289289
"commit_mode": "autocommit",
@@ -328,7 +328,7 @@ polars_df = pl.from_arrow(arrow_table)
328328
```python
329329
# Optimize pool for workload
330330
config = AiosqliteConfig(
331-
pool_config={
331+
connection_config={
332332
"database": "app.db",
333333
"pool_size": 20, # High concurrency
334334
"connect_timeout": 60.0, # Long timeout for slow startup
@@ -342,7 +342,7 @@ config = AiosqliteConfig(
342342

343343
```python
344344
config = AiosqliteConfig(
345-
pool_config={"database": "app.db"}
345+
connection_config={"database": "app.db"}
346346
)
347347

348348
# Enable WAL mode on startup
@@ -356,7 +356,7 @@ async with config.provide_session() as session:
356356

357357
```python
358358
config = AiosqliteConfig(
359-
pool_config={
359+
connection_config={
360360
"cached_statements": 256, # Cache 256 prepared statements
361361
}
362362
)
@@ -388,7 +388,7 @@ for user_id in range(1000):
388388
Enable WAL mode or increase timeout:
389389
```python
390390
config = AiosqliteConfig(
391-
pool_config={
391+
connection_config={
392392
"timeout": 30.0, # Wait longer for locks
393393
}
394394
)
@@ -403,7 +403,7 @@ async with config.provide_session() as session:
403403
Increase pool size:
404404
```python
405405
config = AiosqliteConfig(
406-
pool_config={
406+
connection_config={
407407
"pool_size": 20, # More connections
408408
"connect_timeout": 60.0, # Wait longer
409409
}
@@ -415,7 +415,7 @@ config = AiosqliteConfig(
415415
Increase operation timeout for slow queries:
416416
```python
417417
config = AiosqliteConfig(
418-
pool_config={
418+
connection_config={
419419
"operation_timeout": 30.0, # 30s for slow queries
420420
}
421421
)

.claude/skills/sqlspec_adapters/asyncmy.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This adapter provides high-performance asynchronous connectivity to MySQL 5.7+,
2626
from sqlspec.adapters.asyncmy import AsyncmyConfig, AsyncmyDriverFeatures
2727

2828
config = AsyncmyConfig(
29-
pool_config={
29+
connection_config={
3030
# Connection parameters:
3131
"host": "localhost",
3232
"port": 3306,
@@ -61,7 +61,7 @@ async with config.provide_session() as session:
6161

6262
```python
6363
config = AsyncmyConfig(
64-
pool_config={
64+
connection_config={
6565
"host": "mysql.example.com",
6666
"port": 3306,
6767
"user": "myuser",
@@ -81,7 +81,7 @@ config = AsyncmyConfig(
8181

8282
```python
8383
config = AsyncmyConfig(
84-
pool_config={
84+
connection_config={
8585
"unix_socket": "/var/run/mysqld/mysqld.sock",
8686
"user": "myuser",
8787
"password": "mypass",
@@ -96,7 +96,7 @@ config = AsyncmyConfig(
9696
from asyncmy.cursors import DictCursor
9797

9898
config = AsyncmyConfig(
99-
pool_config={
99+
connection_config={
100100
"host": "localhost",
101101
"user": "myuser",
102102
"password": "mypass",
@@ -182,7 +182,7 @@ def orjson_deserializer(s):
182182
return orjson.loads(s)
183183

184184
config = AsyncmyConfig(
185-
pool_config={...},
185+
connection_config={...},
186186
driver_features={
187187
"json_serializer": orjson_serializer,
188188
"json_deserializer": orjson_deserializer,
@@ -223,7 +223,7 @@ Asyncmy provides async connection pooling for high concurrency:
223223

224224
```python
225225
config = AsyncmyConfig(
226-
pool_config={
226+
connection_config={
227227
"host": "localhost",
228228
"user": "myuser",
229229
"password": "mypass",
@@ -377,7 +377,7 @@ result = await session.execute("""
377377
```python
378378
# Reduce pool size
379379
config = AsyncmyConfig(
380-
pool_config={
380+
connection_config={
381381
"maxsize": 10, # Reduce from 20
382382
}
383383
)
@@ -394,7 +394,7 @@ config = AsyncmyConfig(
394394
```python
395395
# Increase timeouts
396396
config = AsyncmyConfig(
397-
pool_config={
397+
connection_config={
398398
"connect_timeout": 30, # Longer connect timeout
399399
"pool_recycle": 1800, # Recycle more frequently
400400
}
@@ -432,7 +432,7 @@ config = AsyncmyConfig(
432432
```python
433433
# Use utf8mb4 for full Unicode support
434434
config = AsyncmyConfig(
435-
pool_config={
435+
connection_config={
436436
"charset": "utf8mb4",
437437
}
438438
)
@@ -451,7 +451,7 @@ await session.execute("""
451451
```python
452452
# Verify SSL configuration
453453
config = AsyncmyConfig(
454-
pool_config={
454+
connection_config={
455455
"ssl": {
456456
"ca": "/path/to/ca-cert.pem", # Use absolute path
457457
"check_hostname": True,
@@ -461,7 +461,7 @@ config = AsyncmyConfig(
461461

462462
# OR disable SSL for local development (NOT production!)
463463
config = AsyncmyConfig(
464-
pool_config={
464+
connection_config={
465465
"ssl": None,
466466
}
467467
)

.claude/skills/sqlspec_adapters/asyncpg.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Expert guidance for using SQLSpec's AsyncPG adapter for PostgreSQL. AsyncPG is t
2222
from sqlspec.adapters.asyncpg import AsyncpgConfig, AsyncpgDriverFeatures
2323

2424
config = AsyncpgConfig(
25-
pool_config={
25+
connection_config={
2626
"dsn": "postgresql://user:pass@localhost:5432/dbname",
2727
# OR individual parameters:
2828
"host": "localhost",
@@ -78,7 +78,7 @@ result = await session.execute(
7878

7979
```python
8080
config = AsyncpgConfig(
81-
pool_config={
81+
connection_config={
8282
"user": "[email protected]",
8383
"database": "mydb",
8484
},
@@ -95,7 +95,7 @@ config = AsyncpgConfig(
9595

9696
```python
9797
config = AsyncpgConfig(
98-
pool_config={
98+
connection_config={
9999
"user": "[email protected]",
100100
"database": "mydb",
101101
},
@@ -116,7 +116,7 @@ from pgvector.asyncpg import register_vector
116116

117117
# Auto-registered if pgvector installed
118118
config = AsyncpgConfig(
119-
pool_config={...},
119+
connection_config={...},
120120
driver_features={"enable_pgvector": True} # Auto-detected
121121
)
122122

@@ -161,7 +161,7 @@ results = await session.execute_stack(stack)
161161

162162
```python
163163
config = AsyncpgConfig(
164-
pool_config={
164+
connection_config={
165165
"dsn": "postgresql://localhost/db",
166166
"min_size": 10, # Keep 10 connections ready
167167
"max_size": 20, # Allow up to 20 total
@@ -252,7 +252,7 @@ pg_isready -h localhost -p 5432
252252
Increase pool size or reduce connection lifetime:
253253
```python
254254
config = AsyncpgConfig(
255-
pool_config={
255+
connection_config={
256256
"max_size": 40, # Increase
257257
"timeout": 120.0, # Longer timeout
258258
}

0 commit comments

Comments
 (0)