Skip to content

Refactor#1

Merged
panoukos41 merged 17 commits intomainfrom
refactor
Oct 20, 2025
Merged

Refactor#1
panoukos41 merged 17 commits intomainfrom
refactor

Conversation

@panoukos41
Copy link
Owner

No description provided.

Updated NoSQLite to support .NET 8.0, 9.0, and 10.0. Replaced `SQLitePCLRaw.bundle_e_sqlite3` with `SQLitePCLRaw.core`. Enhanced thread safety by switching `tables` to `ConcurrentDictionary`. Added new table management methods (`TableExists`, `DropTable`, `DropAndCreateTable`, `Clear`) and improved resource disposal patterns.

Introduced JSON deserialization methods (`ColumnDeserializeDocument`, `ColumnDeserializeElement`) and improved index management with pattern matching. Refined method parameters, improved error handling, and cleaned up codebase with global usings and modern C# syntax. Fixed SQL syntax issues and updated method names for consistency.
Refactored the test setup by consolidating initialization logic into `_setup.cs`, replacing `ModuleInitializer`, `TestBase`, and `TestFixture` classes. Transitioned from `FluentAssertions` and `xUnit` to `TUnit` for assertions and test framework. Updated all tests to use asynchronous methods and `TUnit` assertions.

Renamed data models (`Person`, `Animal`, etc.) to `TestPerson`, `TestAnimal`, etc., and updated references accordingly. Added new test classes (`Operations`, `Queries`, `Transactions`, `Parallelism`) to expand test coverage.

Changed the target framework to `.NET 10.0` and streamlined dependencies in `NoSQLite.Test.csproj`. Improved maintainability and consistency across the codebase.
Removed CI/CD pipeline and updated project to .NET 9.0. Simplified `Insert` and `InsertMany` methods by removing the `id` parameter. Updated database schema to use `JSONB` column type and added a new index. Reorganized and re-added several files, including benchmarking, CRUD, and extension utilities. Added `Invoke-Process.psm1` for PowerShell command handling. Updated SQLite database files to reflect schema changes.
- The connection has been refactor to use a provided sqlite3 db managed by the user. Some extension methods on sqlite3 have been added to keep the old logic for a user.
- The tables and it's SQLiteStmt have been reweritten to support fewer methods but with the correct schematics this library aims to achieve.
- Tests reweritten using TUnit and focused only on the simple cases for now.
- include JsonSerialzierOptions
- improve write/read using the JsonSerializerOptions
- add table Insert, Replace, Set
Rename Remove to Delete
@panoukos41 panoukos41 merged commit 03302a2 into main Oct 20, 2025
@panoukos41 panoukos41 deleted the refactor branch October 20, 2025 16:30
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.

1 participant