Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MnesiaAdapter module for simplified Mnesia database operations #99

Merged
merged 10 commits into from
Jul 4, 2024

Conversation

Nexeum
Copy link
Contributor

@Nexeum Nexeum commented Jul 4, 2024

🚀 Add MnesiaAdapter for Streamlined Mnesia Database Operations

📋 Overview

This PR introduces a new MnesiaAdapter module, providing a high-level interface for interacting with the Mnesia distributed database system in Elixir.

🔑 Key Features

  • Simplified Mnesia Operations: Encapsulates common Mnesia functions for easier use
  • Asynchronous Data Handling: Utilizes Task.async for non-blocking read and write operations
  • Robust Error Handling: Comprehensive error catching and logging for improved debugging
  • Type Specifications: Includes @spec annotations for better static analysis
  • Comprehensive Documentation: Detailed @moduledoc and @doc for all public functions

🛠 Technical Details

  • Module Functions:

    • start/0: Initializes the Mnesia database
    • create_table/2: Sets up new Mnesia tables
    • write/1: Asynchronously writes records to Mnesia
    • read/1: Asynchronously retrieves records from Mnesia
  • Logging: Utilizes Elixir's Logger for operation tracking and error reporting

  • Mnesia Integration: Interfaces directly with Erlang's :mnesia module

close #97

@JuanDGiraldoM JuanDGiraldoM enabled auto-merge July 4, 2024 21:03
@JuanDGiraldoM JuanDGiraldoM changed the base branch from main to feature/design July 4, 2024 21:04
Copy link

sonarqubecloud bot commented Jul 4, 2024

@JuanDGiraldoM JuanDGiraldoM merged commit 1fae697 into feature/design Jul 4, 2024
3 checks passed
@JuanDGiraldoM JuanDGiraldoM deleted the feature/mnesia branch July 4, 2024 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants