58 Commits

Author SHA1 Message Date
Jacob Schmidt
5ed8f74c71 Removed sqf_validator.py 2025-04-05 14:32:49 -05:00
github-actions
95db4f7a56 v1.0.0 Build 18 1.0.0.18 2025-03-30 22:17:24 +00:00
Jacob Schmidt
ee1dd91b7f feat: Add documentation for fetch function
All checks were successful
Build / Build (push) Successful in 40s
This commit adds documentation for the `ramdb_db_fnc_fetch` function. The documentation explains the function's purpose, which is to handle data chunks received from the database extension when data is too large to be returned in a single callback. The documentation includes a title, icon, and excerpt for better readability and understanding.
2025-03-30 17:16:31 -05:00
github-actions
ba80c61b66 v1.0.0 Build 17 1.0.0.17 2025-03-28 14:46:02 +00:00
Jacob Schmidt
06bbe231e4 feat: Improve chunking, fix handler, and add save backup
All checks were successful
Build / Build (push) Successful in 29s
This commit includes several improvements and fixes:

*   **Improved Chunking Logic:** Refactored the chunking logic in `Utils.cs` to use a more efficient approach, improving performance.  The previous implementation was complex and less performant.  This change simplifies the logic and improves efficiency.
*   **Fixed Handler Function:**  Modified `fnc_handler.sqf` to correctly handle remote execution with NetIds, ensuring that if the NetId resolves to a null object, the function falls back to local execution. This prevents errors when the target object is no longer valid.
*   **Added Save Backup Option:**  Added the ability to create a backup when saving data in `fnc_save.sqf`.  This allows for data recovery in case of corruption.
*   **Updated DLL/SO:** Updated the ArmaRAMDb_x64.dll and ArmaRAMDb_x64.so files.
2025-03-28 09:45:34 -05:00
github-actions
2b9ac44516 v1.0.0 Build 16 1.0.0.16 2025-03-24 04:21:05 +00:00
Jacob Schmidt
58bf3b650f fix: Improve input validation and update binaries
All checks were successful
Build / Build (push) Successful in 29s
This commit addresses several input validation issues in the ArmaRAMDb SQF functions and updates the compiled binaries.

*   **Input Validation:** Modified several `fnc_` functions to correctly validate input data. Specifically, changed `isNil` checks to `count _data == 0` to ensure that empty arrays are treated as invalid input, improving the robustness of the functions. This affects `fnc_hashSetId.sqf`, `fnc_listSet.sqf`, `fnc_hashSet.sqf`, `fnc_listAdd.sqf`, `fnc_hashSetIdBulk.sqf`, and `fnc_hashSetBulk.sqf`.
*   **Configuration File Path:** Fixed an issue in `Main.cs` where the configuration file path was not correctly constructed, ensuring the config file is loaded correctly.
*   **Updated DLL/SO:** Updated the ArmaRAMDb_x64.dll and ArmaRAMDb_x64.so files.
2025-03-23 23:20:50 -05:00
github-actions
e775e48f8d v1.0.0 Build 15 1.0.0.15 2025-03-23 22:38:57 +00:00
Jacob Schmidt
39e7b2945a Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb
All checks were successful
Build / Build (push) Successful in 1m14s
2025-03-23 17:38:03 -05:00
Jacob Schmidt
2769a7cfd1 feat: Improve performance and stability
This commit includes several changes to improve the performance and stability of ArmaRAMDb:

*   **Increased Buffer Size:** Increased the buffer size in `Main.cs` to 10240 to handle larger data chunks.
*   **Debug Logging:** Added `#ifdef __A3__DEBUG__` preprocessor directives to enable debug logging in various `.sqf` functions for easier troubleshooting.
*   **Improved Chunking Logic:** Refactored the chunking logic in `Utils.cs` to correctly handle array data and improve efficiency.
*   **ListStore Formatting:** Modified `ListStore.cs` to correctly format list values as JSON strings when retrieving or setting list elements.
*   **Removed Unnecessary Code:** Removed unnecessary `_dataString` variable in `fnc_fetch.sqf`.
*   **Updated DLL/SO:** Updated the ArmaRAMDb_x64.dll and ArmaRAMDb_x64.so files.
2025-03-23 17:37:58 -05:00
ddb137b754 Update docs/README.md 2025-03-22 20:15:35 -05:00
9570326406 Update README.md 2025-03-22 20:13:08 -05:00
Jacob Schmidt
801bc91ffb fix: Update documentation links to README.md
This commit updates internal links in the documentation to point to the correct `README.md` files within each category. This ensures that the links function as intended and improves navigation within the documentation.
2025-03-22 20:10:02 -05:00
8c4feca5d2 Update docs/list/README.md 2025-03-22 20:07:36 -05:00
88e73aefc1 Update docs/hash/README.md 2025-03-22 20:07:14 -05:00
d79fd7ef90 Update docs/core/README.md 2025-03-22 20:06:53 -05:00
6e2add447c Update docs/basic/README.md 2025-03-22 20:06:32 -05:00
Jacob Schmidt
6d51f2e333 fix: Update documentation for consistency and accuracy
This commit enhances the documentation by ensuring consistency in function references and correcting inaccuracies. Key changes include:

*   Updated function names and references throughout the documentation.
*   Corrected internal links to point to the appropriate markdown files.
*   Removed outdated references to improve clarity and relevance.
2025-03-22 20:05:28 -05:00
Jacob Schmidt
136cc50336 docs: Correct internal links in core documentation
This commit corrects internal links within the core documentation files. The links were updated to point to the correct markdown files.

Key changes:

*   Updated links in `docs/core/processQueue.md`, `docs/core/addTask.md`, `docs/core/test.md`, `docs/core/scheduler.md`, `docs/core/handler.md`, `docs/core/printAddonName.md`, and `docs/core/init.md`.
2025-03-22 19:58:34 -05:00
github-actions
4ebae56555 v1.0.0 Build 14 1.0.0.14 2025-03-23 00:44:30 +00:00
Jacob Schmidt
d85c878de1 Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb
All checks were successful
Build / Build (push) Successful in 29s
2025-03-22 19:44:23 -05:00
Jacob Schmidt
a16aa6e384 feat: Remove unnecessary database load call
This commit removes the redundant call to the `load` function in `addons/db/functions/fnc_init.sqf`. The database is already loaded during initialization.
2025-03-22 19:44:20 -05:00
github-actions
93cc919336 v1.0.0 Build 13 1.0.0.13 2025-03-23 00:38:51 +00:00
Jacob Schmidt
2fbf0d4ed4 feat: Add database loading and handle missing ARDB file
All checks were successful
Build / Build (push) Successful in 30s
This commit introduces database loading functionality and handles the scenario where the ARDB file is not found.

Key changes:

*   In `addons/db/functions/fnc_init.sqf`, the `load` function is called to initialize the database.
*   In `extension/src/RAMDb.cs`, a check is added to verify the existence of the ARDB file. If the file is not found, a new database will be created when data is saved, and an info log is generated.
*   Updated DLL and SO files.
2025-03-22 19:38:29 -05:00
832bdd7385 Update README.md 2025-03-22 16:58:02 -05:00
Jacob Schmidt
90bcfb28a1 Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb 2025-03-22 16:53:34 -05:00
Jacob Schmidt
8c0e8144e5 docs: Update documentation links and function references
This commit updates the documentation to reflect the current function names and link structure. Specifically, it addresses the following:

*   Corrected internal links within the documentation to point to the correct markdown files (e.g., `hashDelete.md` instead of `hashDelete`).
*   Updated related function references to reflect the current function names and include missing functions.
*   Removed outdated function references.
*   Added `ramdb_db_fnc_scheduler` to related functions where appropriate.
*   Updated the links section to use the correct markdown file names.
2025-03-22 16:53:30 -05:00
github-actions
e8fb80fb9b v1.0.0 Build 12 1.0.0.12 2025-03-22 21:32:20 +00:00
Jacob Schmidt
5b9f3402b6 docs: add comprehensive documentation and usage examples for ramdb
All checks were successful
Build / Build (push) Successful in 30s
2025-03-22 16:31:59 -05:00
5a4cc64bde Update docs/README.md 2025-03-22 15:14:55 -05:00
github-actions
a6bca8e317 v1.0.0 Build 11 1.0.0.11 2025-03-22 19:41:39 +00:00
Jacob Schmidt
192ddb67d9 Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb
All checks were successful
Build / Build (push) Successful in 29s
2025-03-22 14:41:19 -05:00
Jacob Schmidt
5e4cfcb945 feat: Improved ListRange functionality and updated build artifacts
This commit enhances the `ListRangeAsync` function within the ArmaRAMDb extension and updates the build artifacts.

Specifically, the following changes were made:

*   **ListStore.cs:**
    *   Modified `ListRangeAsync` to handle an `endIndex` of -1, treating it as the last element of the list.
    *   Added checks to ensure valid ranges and return an empty array if the range is invalid or the result is empty.
    *   Added a check to return an empty array if the list is not found.
*   **Build Artifacts:**
    *   Updated the `ArmaRAMDb_x64.dll` and `ArmaRAMDb_x64.so` files in the root directory and the extension/bin/Release/net8.0/win-x64/publish and extension/bin/Release/net8.0/linux-x64/publish directories.
2025-03-22 14:41:15 -05:00
github-actions
344f58286d v1.0.0 Build 10 1.0.0.10 2025-03-22 18:40:34 +00:00
Jacob Schmidt
3af3adeec6 feat: Updated file paths and build artifacts
All checks were successful
Build / Build (push) Successful in 30s
This commit updates file paths and build artifacts for the ArmaRAMDb extension.

Specifically, the following changes were made:

*   **Main.cs:**
    *   Defined `DEFAULT_ARDB_PATH` to store the default path for the ARDB file.
    *   Updated `ARDB_LOGFOLDER` to use `Path.DirectorySeparatorChar` for cross-platform compatibility.
    *   Used `DEFAULT_ARDB_PATH` when checking for the existence of the ARDB file.
*   **RAMDb.cs:**
    *   Removed the `DEFAULT_ARDB_PATH` constant.
    *   Modified the constructor to accept an optional `ardbPath` parameter and use `Main.DEFAULT_ARDB_PATH` as the default if none is provided.
*   **Build Artifacts:**
    *   Updated the `ArmaRAMDb_x64.dll` and `ArmaRAMDb_x64.so` files in the extension/bin/Release/net8.0/win-x64/publish and extension/bin/Release/net8.0/linux-x64/publish directories, as well as the root directory.
2025-03-22 13:40:21 -05:00
github-actions
ab6c65216e v1.0.0 Build 9 1.0.0.9 2025-03-22 18:01:55 +00:00
Jacob Schmidt
04fb3c5c54 feat: Build artifacts update
All checks were successful
Build / Build (push) Successful in 29s
This commit updates the build artifacts for both Windows and Linux platforms. This includes the ArmaRAMDb_x64.dll and ArmaRAMDb_x64.so files, as well as the published versions in the extension/bin/Release/net8.0 directories.
2025-03-22 13:01:43 -05:00
github-actions
e561277d64 v1.0.0 Build 8 1.0.0.8 2025-03-22 17:55:21 +00:00
Jacob Schmidt
3bb2bec8d9 feat: Added list deletion functionality and improved parameter handling
All checks were successful
Build / Build (push) Successful in 30s
This commit introduces the ability to delete lists within the ArmaRAMDb extension.  It also refactors the parameter handling in several sqf functions to improve consistency and remove unnecessary data structures.

Specifically, the following changes were made:

*   **Extension (C#):**
    *   Added `ListDeleteAsync` to `ListStore.cs` to handle list deletion.
    *   Added a "listdel" case to `Main.cs` to call the new `HandleListDelOperation` function.
    *   Created `HandleListDelOperation` to call `ListStore.ListDeleteAsync`.
    *   Removed unused parameters from `HandleHDelOperation`.
*   **SQF Functions:**
    *   Updated `fnc_hashSetIdBulk.sqf`, `fnc_hashSetBulk.sqf`, `fnc_hashSetId.sqf`, `fnc_listSet.sqf`, `fnc_hashSet.sqf`, `fnc_listAdd.sqf`, and `fnc_set.sqf` to use a simpler parameter structure.  Specifically, the `_data` parameter is now expected to be a simple array instead of an array containing a default value.
*   **XEH_PREP.hpp:**
    *   Added a few new functions to register.
*   **Examples:**
    *   Updated examples in `fnc_hashSetIdBulk.sqf` and `fnc_hashSetBulk.sqf` to reflect the parameter changes.

This change enhances the functionality of ArmaRAMDb by providing a mechanism to remove lists and improves the overall code quality and consistency.
2025-03-22 12:55:09 -05:00
github-actions
3490bbf901 v1.0.0 Build 7 1.0.0.7 2025-03-22 04:41:55 +00:00
Jacob Schmidt
49bec97ea8 Added support for HashMap values
All checks were successful
Build / Build (push) Successful in 30s
2025-03-21 23:41:18 -05:00
github-actions
27fc15f30d v1.0.0 Build 6 1.0.0.6 2025-03-22 04:05:23 +00:00
Jacob Schmidt
ef28cd7ac6 Update 03212025@2305
All checks were successful
Build / Build (push) Successful in 30s
2025-03-21 23:05:12 -05:00
Jacob Schmidt
6e4bd093ee Update ArmaRAMDb with new features and improvements, including logging enhancements, support for ARDB file format, and various function updates. Added config.xml to project inclusion and modified function includes for better compatibility. Updated build files for both Windows and Linux platforms. 2025-03-21 23:01:39 -05:00
github-actions
95e5f86a48 v1.0.0 Build 5 1.0.0.5 2025-03-21 18:05:10 +00:00
Jacob Schmidt
8f51bb4ef0 Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb
All checks were successful
Build / Build (push) Successful in 35s
2025-03-21 13:04:53 -05:00
Jacob Schmidt
fac86fcda7 Update 03212025@1305 2025-03-21 13:04:47 -05:00
324458a5fd Update .github/workflows/build.yml 2025-02-22 13:55:41 -06:00
github-actions
3f44f89099 v1.0.0 Build 4 1.0.0.4 2025-01-01 19:38:13 +00:00
Jacob Schmidt
6786ab5be5 Merge branch 'master' of https://gitea.innovativedevsolutions.org/IDSolutions/ramdb
All checks were successful
Build / Build (push) Successful in 57s
2025-01-01 13:37:50 -06:00