Skip to content

Latest commit

 

History

History
92 lines (51 loc) · 4.88 KB

File metadata and controls

92 lines (51 loc) · 4.88 KB
graph LR
    Base_Engine_Abstraction["Base Engine Abstraction"]
    PostgreSQL_CockroachDB_Adapter["PostgreSQL/CockroachDB Adapter"]
    SQLite_Adapter["SQLite Adapter"]
    Postgres_Transaction["Postgres Transaction"]
    SQLite_Transaction["SQLite Transaction"]
    Query_Base["Query Base"]
    Column_Defaults["Column Defaults"]
    PostgreSQL_CockroachDB_Adapter -- "inherits from" --> Base_Engine_Abstraction
    SQLite_Adapter -- "inherits from" --> Base_Engine_Abstraction
    PostgreSQL_CockroachDB_Adapter -- "depends on" --> Query_Base
    SQLite_Adapter -- "depends on" --> Query_Base
    PostgreSQL_CockroachDB_Adapter -- "depends on" --> Column_Defaults
    SQLite_Adapter -- "depends on" --> Column_Defaults
    PostgreSQL_CockroachDB_Adapter -- "instantiates" --> Postgres_Transaction
    SQLite_Adapter -- "instantiates" --> SQLite_Transaction
Loading

CodeBoardingDemoContact

Details

The Database Adapters subsystem provides a standardized interface for connecting to and interacting with various relational database systems (e.g., PostgreSQL, SQLite, CockroachDB). Its primary function is to abstract away database-specific details, allowing the ORM core and query engine to interact with different backends uniformly.

Base Engine Abstraction

Defines the common interface and abstract methods for all database engines. It handles fundamental operations like connection pool management, database version checks, and general database preparation, ensuring a consistent contract for concrete adapters.

Related Classes/Methods:

PostgreSQL/CockroachDB Adapter

Manages database-specific interactions for PostgreSQL and CockroachDB. This includes executing SQL queries (DDL and DML), handling transactions, managing connections, and adapting data types between Python and the database.

Related Classes/Methods:

SQLite Adapter

Handles database-specific interactions for SQLite, including query execution, transaction management, connection handling, and operations specific to file-based databases.

Related Classes/Methods:

Postgres Transaction

Manages the lifecycle of database transactions specifically for PostgreSQL and CockroachDB. It ensures atomicity, consistency, isolation, and durability (ACID properties) for database operations.

Related Classes/Methods:

SQLite Transaction

Manages the lifecycle of database transactions specifically for SQLite. It ensures ACID properties for database operations within the SQLite environment.

Related Classes/Methods:

Query Base

Provides foundational methods and utilities for obtaining database-agnostic SQL queries. It acts as a bridge between the ORM's high-level query definitions and the database-specific SQL generation.

Related Classes/Methods:

Column Defaults

Handles data type conversions and manages default values for columns when interacting with the database. It ensures that Python data types are correctly mapped to database types and vice-versa.

Related Classes/Methods: