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.
ArmaRAMDb Documentation
This documentation provides details on all functions available in ArmaRAMDb. These functions allow you to interact with the in-memory database system for Arma 3.
Function Categories
The functions are categorized by their purpose:
Core Functions
- init - Initialize the database system
- handler - Handle callbacks from the extension
- processQueue - Process queued database operations
- scheduler - Schedule database operations
- addTask - Add a task to the scheduler
- printAddonName - Print the addon name
- test - Test the database connection
Basic Data Operations
- get - Get a value from the database
- set - Set a value in the database
- delete - Delete a value from the database
- save - Save the database to disk
- load - Load the database from disk
- fetch - Fetch a value from the database
Hash Operations
- hashDelete - Delete a hash
- hashDeleteId - Delete a hash for a specific ID
- hashGet - Get a field from a hash
- hashGetAll - Get all fields from a hash
- hashGetAllId - Get all fields from a hash for a specific ID
- hashGetId - Get a field from a hash for a specific ID
- hashRemove - Remove a field from a hash
- hashRemoveId - Remove a field from a hash for a specific ID
- hashSet - Set a field in a hash
- hashSetBulk - Set multiple fields in a hash in one operation
- hashSetId - Set a field in a hash for a specific ID
- hashSetIdBulk - Set multiple fields in a hash for a specific ID in one operation
List Operations
- listAdd - Add an item to a list
- listDelete - Delete a list
- listGet - Get items from a list
- listLoad - Load a list from the database
- listRemove - Remove an item from a list
- listSet - Set an item in a list
Usage Examples
Basic Usage
// Initialize the database
[] call ramdb_db_fnc_init;
// Set a value
["myKey", [myValue]] call ramdb_db_fnc_set;
// Get a value
["myKey", "myFunction"] call ramdb_db_fnc_get;
// Delete a key
["myKey"] call ramdb_db_fnc_delete;
Hash Operations
// Set a hash field (context mode)
["myField", [myValue]] call ramdb_db_fnc_hashSet;
// Get a hash field (context mode)
["myField", "myFunction"] call ramdb_db_fnc_hashGet;
// Get all hash fields (context mode)
["myFunction"] call ramdb_db_fnc_hashGetAll;
// Set multiple hash fields (context mode)
[[
"loadout", [getUnitLoadout player],
"position", [getPosASL player],
"direction", [getDir player],
"stance", [stance player]
]] call ramdb_db_fnc_hashSetBulk;
// Remove a hash field (context mode)
["myField"] call ramdb_db_fnc_hashRemove;
// Delete a hash table (context mode)
[] call ramdb_db_fnc_hashDelete;
// Set a hash field for specific ID
["myHash", "myField", [myValue]] call ramdb_db_fnc_hashSetId;
// Get a hash field for specific ID
["myHash", "myField", "myFunction"] call ramdb_db_fnc_hashGetId;
// Get all hash fields for specific ID
["myHash"] call ramdb_db_fnc_hashGetAllId;
// Set multiple hash fields for specific ID
[[
getPlayerUID player,
"loadout", [getUnitLoadout player],
"position", [getPosASL player],
"direction", [getDir player],
"stance", [stance player]
]] call ramdb_db_fnc_hashSetIdBulk;
// Remove a hash field for specific ID
["myHash", "myField"] call ramdb_db_fnc_hashRemoveId;
// Delete a hash table for specific ID
["myHash"] call ramdb_db_fnc_hashDeleteId;
List Operations
// Add an item to a list
["myList", ["myItem"]] call ramdb_db_fnc_listAdd;
// Set an item from a list
["myList", 0, [myNewValue]] call ramdb_db_fnc_listSet;
// Get an item from a list
["myList", 0, "myFunction"] call ramdb_db_fnc_listGet;
// Get items from a list
["myList", "myFunction"] call ramdb_db_fnc_listLoad;
// Remove an item from a list
["myList", 0] call ramdb_db_fnc_listRemove;
// Delete a list
["myList"] call ramdb_db_fnc_listDelete;
Function Documentation Structure
Each function documentation includes:
- Function name and purpose
- Parameters
- Return value
- Examples
- Notes and warnings
License
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons,
PO Box 1866, Mountain View, CA 94042