1 stable release
Uses new Rust 2024
new 5.0.0 | May 9, 2025 |
---|
#2407 in Database interfaces
Used in 3 crates
(via cosmian_kms_server)
2MB
40K
SLoC
This module contains the database implementation for the KMS server.
It provides functionality for interacting with different types of databases,
such as SQLite
, MySQL
, PostgreSQL
, and Redis
.
The module includes the following submodules:
cached_sqlcipher
: Contains the implementation for caching SQL queries usingSQLCipher
.cached_sqlite_struct
: Contains the implementation for cachingSQLite
structures.database_trait
: Contains the trait definition for a generic database.mysql
: Contains the implementation forMySQL
database.object_with_metadata
: Contains the implementation for objects with metadata.pgsql
: Contains the implementation forPostgreSQL
database.redis
: Contains the implementation for Redis database.sqlite
: Contains the implementation forSQLite
database.locate_query
: Contains utility functions for locating queries.migrate
: Contains functions for database migration.retrieve_object_utils
: Contains utility functions for retrieving objects.
The module also defines the following types and constants:
KMSServer
: A type alias for the KMS server.DBObject
: A struct representing a database object.KMS_VERSION_BEFORE_MIGRATION_SUPPORT
: A constant representing the KMS version before migration support.PGSQL_FILE_QUERIES
: A constant representing thePostgreSQL
file queries.MYSQL_FILE_QUERIES
: A constant representing theMySQL
file queries.SQLITE_FILE_QUERIES
: A constant representing theSQLite
file queries.
The module also includes the following functions:
state_from_string
: Converts a string to aStateEnumeration
value.
Finally, the module includes a test module for unit testing.
Errors
This module does not define any specific errors. However, it may return errors from the underlying database operations or from the functions defined in the submodules. The specific error types and conditions are documented in the respective functions.
Dependencies
~76MB
~1.5M SLoC