SQLiteMP is a proof-of-concept SQL implementation of the materialized paths (MPs) tree model, embedded within an SQLite database. The project director

Search code, repositories, users, issues, pull requests...

submited by
Style Pass
2025-01-11 08:00:17

SQLiteMP is a proof-of-concept SQL implementation of the materialized paths (MPs) tree model, embedded within an SQLite database.

The project directory is structured as a Python project, with plans to use Python for testing and demo purposes in the future. Currently, the project primarily consists of organized SQL code, which is embedded in the documentation and included in modules located under sqlitemp/src/sqlitemp/sql. These SQL modules replicate the documented code and can be directly imported into an SQLite database. Additionally, the directory contains JSON and SQL modules with dummy data for manual testing. While I recognize the importance of setting up proper automated testing, only limited manual testing has been conducted so far.

The project documentation is located in the sqlitemp/docs directory, with the entry file being Overview.md. These files can be viewed using GitHub’s file explorer by opening them in a browser. Most documents are organized using Markdown headings. When such a file is opened in GitHub’s file explorer, the command bar at the top displays a TOC (Table of Contents) icon as the rightmost icon. This README.md file includes Markdown headings, so the TOC icon should appear in the command bar. By default, the TOC sidebar is hidden, but clicking the icon reveals it, enabling convenient navigation. Individual documents can also be accessed through the file explorer sidebar on the left or by following the Previous/Next links at the bottom of each document.

The materialized paths (MPs) model is a common approach for storing hierarchical data in relational databases. With certain general restrictions, core MP functionality can be implemented in SQL using stored procedures, providing a higher-level abstraction for applications. However, this project targets the standard SQLite library, which lacks native support for stored procedures. Consequently, the primary objective of this project is to explore alternative methods for encapsulating MP functionality using the advanced features of the standard SQLite library. The project specifically aims to rely exclusively on library-supported code (primarily SQL) while establishing an efficient code management strategy.

Leave a Comment