Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ contact_links:
url: https://cubrid.org/documentation
about: Official CUBRID database documentation
- name: sqlalchemy-cubrid
url: https://github.com/cubrid-labs/sqlalchemy-cubrid
url: https://github.com/cubrid-lab/sqlalchemy-cubrid
about: SQLAlchemy 2.0 dialect for CUBRID
- name: pycubrid
url: https://github.com/cubrid-labs/pycubrid
url: https://github.com/cubrid-lab/pycubrid
about: Pure Python DB-API 2.0 driver for CUBRID
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## Read First
- `README.md`
- `PRD.md`
- `docs/internal/PRD.md`
- `CONTRIBUTING.md`

## Repository Structure
Expand All @@ -32,9 +32,9 @@ fundamentals/ → Step-by-step reference for core operations
- If an example's setup or dependencies change, update the surrounding docs in the same change.
- Avoid adding hidden prerequisites that are not documented.

## Development Workflow (cubrid-labs org standard)
## Development Workflow (cubrid-lab org standard)

All non-trivial work across cubrid-labs repositories MUST follow this 4-phase cycle:
All non-trivial work across cubrid-lab repositories MUST follow this 4-phase cycle:

1. **Oracle Design Review** — Consult Oracle before implementation to validate architecture, API surface, and approach. Raise concerns early.
2. **Implementation** — Build the feature/fix with tests. Follow existing codebase patterns.
Expand All @@ -53,7 +53,7 @@ Skipping any phase requires explicit justification. Trivial changes (typos, sing
## Project Context

> This repo is the **Python cookbook** for the CUBRID ecosystem.
> Board: [CUBRID Ecosystem Roadmap](https://github.com/orgs/cubrid-labs/projects/2)
> Board: [CUBRID Ecosystem Roadmap](https://github.com/orgs/cubrid-lab/projects/2)

### Role

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,5 +156,5 @@ For new example requests, describe the use case and framework.

## Questions?

Open a [GitHub Discussion](https://github.com/cubrid-labs/cubrid-cookbook/discussions)
or file an [issue](https://github.com/cubrid-labs/cubrid-cookbook/issues).
Open a [GitHub Discussion](https://github.com/cubrid-lab/cubrid-cookbook/discussions)
or file an [issue](https://github.com/cubrid-lab/cubrid-cookbook/issues).
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[![CUBRID 11.2 | 11.4](https://img.shields.io/badge/CUBRID-11.2%20%7C%2011.4-green.svg)](SUPPORT_MATRIX.md)
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
![pycubrid](https://img.shields.io/badge/pycubrid-%E2%89%A51.3.2-blue)
![sqlalchemy-cubrid](https://img.shields.io/badge/sqlalchemy--cubrid-%E2%89%A50.3.0-blue)
![sqlalchemy-cubrid](https://img.shields.io/badge/sqlalchemy--cubrid-%E2%89%A51.0-blue)
![status](https://img.shields.io/badge/status-active%20development-yellow)

---
Expand Down Expand Up @@ -75,7 +75,7 @@ Step-by-step reference for every core operation:
| [Connecting](fundamentals/connect/) | Basic connection, metadata, context managers |
| [CRUD](fundamentals/crud/) | INSERT, SELECT, UPDATE, DELETE with parameters |
| [Transactions](fundamentals/transactions/) | Commit, rollback, savepoints, auto-commit |
| [Prepared statements](fundamentals/prepared-statements/) | Parameterized queries |
| [Prepared statements](fundamentals/parameterized-queries/) | Parameterized queries |
| [Error handling](fundamentals/error-handling/) | Exception types, retry patterns |
| [LOB handling](fundamentals/lob-handling/) | BLOB/CLOB operations |
| [ORM basics](fundamentals/orm-basics/) | SQLAlchemy engine, core, ORM, relationships |
Expand Down Expand Up @@ -143,7 +143,7 @@ cubrid-cookbook-python/
│ ├── connect/ # Connection basics
│ ├── crud/ # CRUD operations
│ ├── transactions/ # Transaction management
│ ├── prepared-statements/ # Parameterized queries
│ ├── parameterized-queries/ # Parameterized queries
│ ├── error-handling/ # Exception patterns
│ ├── lob-handling/ # BLOB/CLOB
│ └── orm-basics/ # SQLAlchemy ORM
Expand All @@ -152,15 +152,15 @@ cubrid-cookbook-python/

## Related Projects

- [pycubrid](https://github.com/cubrid-labs/pycubrid) — Pure Python DB-API 2.0 driver for CUBRID
- [sqlalchemy-cubrid](https://github.com/cubrid-labs/sqlalchemy-cubrid) — SQLAlchemy 2.0 dialect for CUBRID
- [pycubrid](https://github.com/cubrid-lab/pycubrid) — Pure Python DB-API 2.0 driver for CUBRID
- [sqlalchemy-cubrid](https://github.com/cubrid-lab/sqlalchemy-cubrid) — SQLAlchemy 2.0 dialect for CUBRID
- [CUBRID](https://www.cubrid.org/) — The CUBRID database

## Roadmap

See [`ROADMAP.md`](ROADMAP.md) for planned additions.

For the ecosystem-wide view, see the [CUBRID Labs Ecosystem Roadmap](https://github.com/cubrid-labs/.github/blob/main/ROADMAP.md) and [Project Board](https://github.com/orgs/cubrid-labs/projects/2).
For the ecosystem-wide view, see the [CUBRID Labs Ecosystem Roadmap](https://github.com/cubrid-lab/.github/blob/main/ROADMAP.md) and [Project Board](https://github.com/orgs/cubrid-lab/projects/2).

## Contributing

Expand Down
8 changes: 4 additions & 4 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
> **Last updated**: 2026-03-20
>
> This roadmap reflects current priorities. For the ecosystem-wide view, see the
> [CUBRID Labs Ecosystem Roadmap](https://github.com/cubrid-labs/.github/blob/main/ROADMAP.md).
> [CUBRID Labs Ecosystem Roadmap](https://github.com/cubrid-lab/.github/blob/main/ROADMAP.md).

## Links

- 📋 [GitHub Milestones](https://github.com/cubrid-labs/cubrid-cookbook/milestones)
- 🗂️ [Org Project Board](https://github.com/orgs/cubrid-labs/projects/2)
- 🌐 [Ecosystem Roadmap](https://github.com/cubrid-labs/.github/blob/main/ROADMAP.md)
- 📋 [GitHub Milestones](https://github.com/cubrid-lab/cubrid-cookbook/milestones)
- 🗂️ [Org Project Board](https://github.com/orgs/cubrid-lab/projects/2)
- 🌐 [Ecosystem Roadmap](https://github.com/cubrid-lab/.github/blob/main/ROADMAP.md)

## Next Release — v1.0 — Complete Examples

Expand Down
6 changes: 5 additions & 1 deletion SUPPORT_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ Tested combinations of CUBRID server, Python version, and driver/framework.
| **11.2** | ✅ Fully supported | Primary development/test target |
| 11.0 | ⚠️ Untested | Should work (same CAS protocol) |
| 10.2 | ⚠️ Untested | Should work (same CAS protocol) |
> **Scope note**: The cookbook is tested only against CUBRID 11.2 and 11.4. Older
> versions (10.2, 11.0) share the same CAS protocol and should work but are
> not exercised by the recipe test suite. The drivers (`pycubrid`,
> `sqlalchemy-cubrid`) themselves support the full 10.2–11.4 range.

## Python Versions

Expand All @@ -26,7 +30,7 @@ Tested combinations of CUBRID server, Python version, and driver/framework.
| Component | Version | Status |
|-----------|---------|--------|
| pycubrid | ≥ 1.3.2 | ✅ Required |
| sqlalchemy-cubrid | ≥ 0.3.0 | ✅ Required for SQLAlchemy recipes |
| sqlalchemy-cubrid | ≥ 1.0 | ✅ Required for SQLAlchemy recipes |
| SQLAlchemy | 2.0–2.1 | ✅ |
| Flask | ≥ 3.0 | ✅ |
| Flask-SQLAlchemy | ≥ 3.1 | ✅ |
Expand Down
4 changes: 2 additions & 2 deletions docs/agent-playbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Source Of Truth
- `README.md` for example catalog, quick start, and project structure.
- `PRD.md` for example quality expectations and roadmap.
- `docs/internal/PRD.md` for example quality expectations and roadmap.
- `CONTRIBUTING.md` for contribution rules and language-specific checks.
- `Makefile` and `docker-compose.yml` for local database workflow.

Expand All @@ -14,7 +14,7 @@
## Change Workflow
1. Identify the language and layer of the example you are touching.
2. Keep example code minimal, runnable, and directly aligned with the README.
3. If you add a new example family, document it in both `README.md` and `PRD.md`.
3. If you add a new example family, document it in both `README.md` and `docs/internal/PRD.md`.
4. Prefer examples that can be copied by users with minimal adaptation.

## Validation
Expand Down
10 changes: 5 additions & 5 deletions PRD.md → docs/internal/PRD.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

**Project**: cubrid-cookbook-python
**Status**: Active (continuously updated)
**Repository**: [github.com/cubrid-labs/cubrid-cookbook-python](https://github.com/cubrid-labs/cubrid-cookbook-python)
**Repository**: [github.com/cubrid-lab/cubrid-cookbook-python](https://github.com/cubrid-lab/cubrid-cookbook-python)
**License**: MIT

### 1.1 Problem Statement
Expand Down Expand Up @@ -71,7 +71,7 @@ cubrid-cookbook-python/
│ ├── connect/ # Connection basics
│ ├── crud/ # CRUD operations
│ ├── transactions/ # Transaction management
│ ├── prepared-statements/ # Parameterized queries
│ ├── parameterized-queries/ # Parameterized queries
│ ├── error-handling/ # Exception patterns
│ ├── lob-handling/ # BLOB/CLOB
│ └── orm-basics/ # SQLAlchemy ORM
Expand Down Expand Up @@ -155,9 +155,9 @@ Every example must:

| Layer | Project |
|---|---|
| **DB Driver** | [pycubrid](https://github.com/cubrid-labs/pycubrid) |
| **ORM Dialect** | [sqlalchemy-cubrid](https://github.com/cubrid-labs/sqlalchemy-cubrid) |
| **Benchmarks** | [cubrid-benchmark](https://github.com/cubrid-labs/cubrid-benchmark) |
| **DB Driver** | [pycubrid](https://github.com/cubrid-lab/pycubrid) |
| **ORM Dialect** | [sqlalchemy-cubrid](https://github.com/cubrid-lab/sqlalchemy-cubrid) |
| **Benchmarks** | [cubrid-benchmark](https://github.com/cubrid-lab/cubrid-benchmark) |
| **Database** | [CUBRID](https://www.cubrid.org/) |

---
Expand Down
4 changes: 2 additions & 2 deletions fundamentals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Start here if you're new to CUBRID + Python.
| [connect/](./connect/) | Basic connection, metadata, cursor usage | pycubrid |
| [crud/](./crud/) | Create, Read, Update, Delete operations | pycubrid |
| [transactions/](./transactions/) | Commit, rollback, isolation levels | pycubrid |
| [prepared-statements/](./prepared-statements/) | Parameterized queries for safety and performance | pycubrid |
| [parameterized-queries/](./parameterized-queries/) | Parameterized queries for safety and performance | pycubrid |
| [error-handling/](./error-handling/) | Connection failures, constraint violations, timeouts | pycubrid |
| [lob-handling/](./lob-handling/) | Large Object (BLOB/CLOB) operations | pycubrid |
| [orm-basics/](./orm-basics/) | SQLAlchemy engine, Core, ORM, relationships, reflection | SQLAlchemy |
Expand Down Expand Up @@ -42,7 +42,7 @@ pip install sqlalchemy-cubrid
## Learning Path

```
connect/ → crud/ → transactions/ → prepared-statements/ → orm-basics/
connect/ → crud/ → transactions/ → parameterized-queries/ → orm-basics/
```

After fundamentals, continue to:
Expand Down
2 changes: 1 addition & 1 deletion fundamentals/connect/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pycubrid @ git+https://github.com/cubrid-labs/pycubrid.git@main
pycubrid @ git+https://github.com/cubrid-lab/pycubrid.git@main
2 changes: 1 addition & 1 deletion fundamentals/lob-handling/06_lob.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def clob_example(conn: pycubrid.Connection) -> None:
"README",
"# CUBRID Cookbook\n\nA collection of examples for CUBRID database.",
),
("License", "Apache License 2.0\n\nCopyright 2026 cubrid-labs"),
("License", "Apache License 2.0\n\nCopyright 2026 cubrid-lab"),
(
"Long Text",
"Lorem ipsum dolor sit amet. " * 100, # ~3KB of text
Expand Down
4 changes: 2 additions & 2 deletions fundamentals/orm-basics/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
sqlalchemy>=2.0
sqlalchemy-cubrid @ git+https://github.com/cubrid-labs/sqlalchemy-cubrid.git@main
pycubrid @ git+https://github.com/cubrid-labs/pycubrid.git@main
sqlalchemy-cubrid @ git+https://github.com/cubrid-lab/sqlalchemy-cubrid.git@main
pycubrid @ git+https://github.com/cubrid-lab/pycubrid.git@main
44 changes: 44 additions & 0 deletions fundamentals/parameterized-queries/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Parameterized Queries

> ⚠️ **Not server-side prepare.** pycubrid implements parameterized queries via
> **client-side escape + interpolation**, not via server-side `PREPARE`/`EXECUTE`.
> This differs from JDBC `PreparedStatement`. See
> [pycubrid PARAMETER_BINDING.md](https://github.com/cubrid-lab/pycubrid/blob/main/docs/PARAMETER_BINDING.md)
> for the full 1.x binding contract.

This directory demonstrates safe parameterized query patterns using pycubrid's
qmark (`?`) placeholder style.

## Recipes

| Recipe | Description |
|--------|-------------|
| [`04_prepared.py`](04_prepared.py) | Parameterized queries, batch operations with `executemany()` |

## Why parameterized queries?

Parameterized queries (passing values via `?` placeholders and a separate
`parameters` argument) are the correct way to send user-supplied values to the
database. **Never** assemble SQL with f-strings or `%` formatting — that path
leads to SQL injection.

## pycubrid binding model

When you call:

```python
cur.execute("SELECT * FROM users WHERE id = ? AND name = ?", [42, "Alice"])
```

pycubrid:

1. Splits the SQL on unquoted `?` placeholders.
2. Formats each Python value as a SQL literal via `_format_parameter()`
(strings escaped via single-quote doubling, `None` → `NULL`, etc.).
3. Concatenates the segments and literals into one SQL string.
4. Sends the fully-rendered SQL to CUBRID via `PrepareAndExecutePacket`.

The CAS function code is named `PREPARE_AND_EXECUTE`, but the protocol expects
a complete SQL string — there is no separate typed parameter payload. See
[pycubrid PARAMETER_BINDING.md](https://github.com/cubrid-lab/pycubrid/blob/main/docs/PARAMETER_BINDING.md)
for the full per-type mapping and explicit non-guarantees.
2 changes: 1 addition & 1 deletion fundamentals/pycubrid/06_lob.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def clob_example(conn: pycubrid.Connection) -> None:
"README",
"# CUBRID Cookbook\n\nA collection of examples for CUBRID database.",
),
("License", "Apache License 2.0\n\nCopyright 2026 cubrid-labs"),
("License", "Apache License 2.0\n\nCopyright 2026 cubrid-lab"),
(
"Long Text",
"Lorem ipsum dolor sit amet. " * 100, # ~3KB of text
Expand Down
4 changes: 2 additions & 2 deletions fundamentals/pycubrid/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# pycubrid Examples

Direct database access using the [pycubrid](https://github.com/cubrid-labs/pycubrid) DB-API 2.0 driver — a pure Python connector for CUBRID with no C dependencies.
Direct database access using the [pycubrid](https://github.com/cubrid-lab/pycubrid) DB-API 2.0 driver — a pure Python connector for CUBRID with no C dependencies.

## Features

Expand Down Expand Up @@ -188,6 +188,6 @@ All users (5 rows):

## Learn More

- [pycubrid documentation](https://github.com/cubrid-labs/pycubrid)
- [pycubrid documentation](https://github.com/cubrid-lab/pycubrid)
- [PEP 249 — DB-API 2.0 Specification](https://peps.python.org/pep-0249/)
- [CUBRID SQL Guide](https://www.cubrid.org/manual/en/11.2/sql/index.html)
2 changes: 1 addition & 1 deletion fundamentals/pycubrid/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pycubrid @ git+https://github.com/cubrid-labs/pycubrid.git@main
pycubrid @ git+https://github.com/cubrid-lab/pycubrid.git@main
34 changes: 17 additions & 17 deletions llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,30 @@ Key facts:

## Python Examples

- [pycubrid](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/pycubrid): Direct DB-API 2.0 driver — connect, query, transactions, prepared statements, error handling, LOBs
- [SQLAlchemy](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/sqlalchemy): Core + ORM — engine, models, CRUD, DML extensions (ODKU, MERGE, REPLACE)
- [FastAPI](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/fastapi): REST API with automatic docs, dependency injection, async-ready
- [Django](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/django): Django project with CUBRID via SQLAlchemy bridge
- [Flask](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/flask): Flask + Flask-SQLAlchemy — blueprints, models, CRUD routes
- [Pandas](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/pandas): Data analysis pipeline — read_sql, transforms, visualization
- [Streamlit](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/streamlit): Interactive data dashboard with live CUBRID queries
- [Celery](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/python/celery): Async task queue — background jobs backed by CUBRID
- [pycubrid](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/pycubrid): Direct DB-API 2.0 driver — connect, query, transactions, prepared statements, error handling, LOBs
- [SQLAlchemy](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/sqlalchemy): Core + ORM — engine, models, CRUD, DML extensions (ODKU, MERGE, REPLACE)
- [FastAPI](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/fastapi): REST API with automatic docs, dependency injection, async-ready
- [Django](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/django): Django project with CUBRID via SQLAlchemy bridge
- [Flask](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/flask): Flask + Flask-SQLAlchemy — blueprints, models, CRUD routes
- [Pandas](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/pandas): Data analysis pipeline — read_sql, transforms, visualization
- [Streamlit](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/streamlit): Interactive data dashboard with live CUBRID queries
- [Celery](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/python/celery): Async task queue — background jobs backed by CUBRID

## Node.js Examples

- [cubrid-client](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/node/cubrid): Modern Promise-based client — connect, query, CRUD, transactions
- [Drizzle ORM](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/node/drizzle): Type-safe ORM — schema, query builder, CRUD, transactions, custom types
- [cubrid-client](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/node/cubrid): Modern Promise-based client — connect, query, CRUD, transactions
- [Drizzle ORM](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/node/drizzle): Type-safe ORM — schema, query builder, CRUD, transactions, custom types

## Go Examples

- [cubrid-go](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/go/cubrid-go): Pure Go database/sql driver — connect, query, CRUD, transactions
- [GORM](https://github.com/cubrid-labs/cubrid-cookbook/tree/main/go/gorm): GORM ORM — AutoMigrate, models, CRUD, relationships, advanced queries
- [cubrid-go](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/go/cubrid-go): Pure Go database/sql driver — connect, query, CRUD, transactions
- [GORM](https://github.com/cubrid-lab/cubrid-cookbook/tree/main/go/gorm): GORM ORM — AutoMigrate, models, CRUD, relationships, advanced queries

## Drivers and ORMs

- [pycubrid](https://github.com/cubrid-labs/pycubrid): Pure Python DB-API 2.0 driver for CUBRID
- [sqlalchemy-cubrid](https://github.com/cubrid-labs/sqlalchemy-cubrid): SQLAlchemy 2.0 dialect for CUBRID
- [cubrid-client](https://github.com/cubrid-labs/cubrid-client): Modern TypeScript-first Node.js client for CUBRID
- [drizzle-cubrid](https://github.com/cubrid-labs/drizzle-cubrid): Drizzle ORM dialect for CUBRID
- [cubrid-go](https://github.com/cubrid-labs/cubrid-go): Pure Go CUBRID driver (database/sql + GORM)
- [pycubrid](https://github.com/cubrid-lab/pycubrid): Pure Python DB-API 2.0 driver for CUBRID
- [sqlalchemy-cubrid](https://github.com/cubrid-lab/sqlalchemy-cubrid): SQLAlchemy 2.0 dialect for CUBRID
- [cubrid-client](https://github.com/cubrid-lab/cubrid-client): Modern TypeScript-first Node.js client for CUBRID
- [drizzle-cubrid](https://github.com/cubrid-lab/drizzle-cubrid): Drizzle ORM dialect for CUBRID
- [cubrid-go](https://github.com/cubrid-lab/cubrid-go): Pure Go CUBRID driver (database/sql + GORM)
- [CUBRID](https://www.cubrid.org/): The CUBRID database
4 changes: 2 additions & 2 deletions performance/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Practical patterns to maximize performance with CUBRID + Python.

> 📊 All numbers are based on [cubrid-benchmark](https://github.com/cubrid-labs/cubrid-benchmark) experiment data.
> 📊 All numbers are based on [cubrid-benchmark](https://github.com/cubrid-lab/cubrid-benchmark) experiment data.
> Environment: Intel i5-4200M, CUBRID 11.2, Python 3.12, pycubrid 0.5.0+16a8634

## Benchmark Evidence
Expand Down Expand Up @@ -48,4 +48,4 @@ Practical patterns to maximize performance with CUBRID + Python.

---

*Data source: [cubrid-benchmark/experiments/driver-comparison](https://github.com/cubrid-labs/cubrid-benchmark/tree/main/experiments/driver-comparison)*
*Data source: [cubrid-benchmark/experiments/driver-comparison](https://github.com/cubrid-lab/cubrid-benchmark/tree/main/experiments/driver-comparison)*
Loading
Loading