graphcast.db.manager
¶
Database connection manager for graph databases.
This module provides a connection manager for handling database connections to different graph database implementations (ArangoDB, Neo4j). It manages connection lifecycle and configuration.
Key Components
- ConnectionManager: Main class for managing database connections
- ConnectionKind: Enum for supported database types
The manager supports
- Multiple database types (ArangoDB, Neo4j)
- Connection configuration
- Context manager interface
- Automatic connection cleanup
Example
with ConnectionManager(secret_path="config.json") as conn: ... conn.execute("FOR doc IN collection RETURN doc")
ConnectionManager
¶
Manager for database connections.
This class manages database connections to different graph database implementations. It provides a context manager interface for safe connection handling and automatic cleanup.
Attributes:
Name | Type | Description |
---|---|---|
conn_class_mapping |
Mapping of connection types to connection classes |
|
config |
ProtoConnectionConfig
|
Connection configuration |
working_db |
Current working database name |
|
conn |
Active database connection |
Source code in graphcast/db/manager.py
__enter__()
¶
Enter the context manager.
Creates and returns a new database connection.
Returns:
Name | Type | Description |
---|---|---|
Connection |
Database connection instance |
Source code in graphcast/db/manager.py
__exit__(exc_type, exc_value, exc_traceback)
¶
Exit the context manager.
Ensures the connection is properly closed when exiting the context.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
exc_type
|
Exception type if an exception occurred |
required | |
exc_value
|
Exception value if an exception occurred |
required | |
exc_traceback
|
Exception traceback if an exception occurred |
required |
Source code in graphcast/db/manager.py
__init__(secret_path=None, args=None, connection_config=None, **kwargs)
¶
Initialize the connection manager.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
secret_path
|
Path to configuration file |
None
|
|
args
|
Command line arguments |
None
|
|
connection_config
|
Optional[ProtoConnectionConfig]
|
Optional connection configuration |
None
|
**kwargs
|
Additional configuration parameters |
{}
|
Source code in graphcast/db/manager.py
close()
¶
Close the database connection.
Closes the active connection and performs any necessary cleanup.