ramdb/api/latex/d0/d68/md_docs_2hash_2hash_set.tex
Jacob Schmidt ee1dd91b7f
All checks were successful
Build / Build (push) Successful in 40s
feat: Add documentation for fetch function
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

68 lines
7.0 KiB
TeX

\chapter{hash\+Set}
\hypertarget{md_docs_2hash_2hash_set}{}\label{md_docs_2hash_2hash_set}\index{hashSet@{hashSet}}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md287}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md287}{autotoc\+\_\+md287}}\label{md_docs_2hash_2hash_set_autotoc_md287}
title\+: Arma\+RAMDb -\/ Hash Set icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_set_autotoc_md288}{}\doxysubsection{\texorpdfstring{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in RAMDb.}{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in RAMDb.}}\label{md_docs_2hash_2hash_set_autotoc_md288}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md289}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}}\label{md_docs_2hash_2hash_set_autotoc_md289}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md290}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_set_autotoc_md290}
Sets the value of a specified field in the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient than {\ttfamily hash\+Set\+Id} which requires manually specifying an ID. It allows storing various data types (arrays, strings, numbers, or booleans) in a field of the client-\/specific hash structure.\hypertarget{md_docs_2hash_2hash_set_autotoc_md291}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_set_autotoc_md291}
\begin{DoxyCode}{0}
\DoxyCodeLine{[\_keyField,\ \_data]\ call\ ramdb\_db\_fnc\_hashSet}
\end{DoxyCode}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md292}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_set_autotoc_md292}
\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
\endfirsthead
\hline
\endfoot
\hline
\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
\endhead
{\ttfamily \+\_\+key\+Field} &String &Name of the field in the hash to set &"{}"{} \\\cline{1-4}
{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The value to store in the hash field &\mbox{[}\mbox{]} \\\cline{1-4}
\end{longtabu}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md293}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_set_autotoc_md293}
None. The operation runs synchronously to store the data.\hypertarget{md_docs_2hash_2hash_set_autotoc_md294}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_set_autotoc_md294}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md295}{}\doxysubsubsection{\texorpdfstring{Store a player\textquotesingle{}s loadout\+:}{Store a player\textquotesingle{}s loadout\+:}}\label{md_docs_2hash_2hash_set_autotoc_md295}
\begin{DoxyCode}{0}
\DoxyCodeLine{["{}loadout"{},\ [getUnitLoadout\ player]]\ call\ ramdb\_db\_fnc\_hashSet;}
\end{DoxyCode}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md296}{}\doxysubsubsection{\texorpdfstring{Store player preferences\+:}{Store player preferences\+:}}\label{md_docs_2hash_2hash_set_autotoc_md296}
\begin{DoxyCode}{0}
\DoxyCodeLine{["{}settings"{},\ [true,\ 30,\ "{}normal"{}]]\ call\ ramdb\_db\_fnc\_hashSet;}
\end{DoxyCode}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md297}{}\doxysubsubsection{\texorpdfstring{Store data from a client\+:}{Store data from a client\+:}}\label{md_docs_2hash_2hash_set_autotoc_md297}
\begin{DoxyCode}{0}
\DoxyCodeLine{["{}clientInfo"{},\ [name\ player,\ getPlayerUID\ player]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashSet"{},\ 2,\ false];}
\end{DoxyCode}
\hypertarget{md_docs_2hash_2hash_set_autotoc_md298}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_set_autotoc_md298}
\begin{DoxyItemize}
\item Stores a single field-\/value pair in the current client\textquotesingle{}s hash table
\item Both the field name and data parameters are required and validated
\item If the field already exists, its value will be overwritten
\item Supports various data types\+: arrays, strings, numbers, and booleans
\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
\item Use {\ttfamily hash\+Set\+Id} when you need to specify a particular hash table by ID
\item Complex data structures should be serialized into arrays
\item The operation is executed immediately and synchronously
\item All operations are logged for debugging purposes
\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_autotoc_md299}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_set_autotoc_md299}
\begin{DoxyItemize}
\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table (when you need to specify the ID)
\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the current client\textquotesingle{}s hash table
\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}\+: Sets multiple fields in the current client\textquotesingle{}s hash table
\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes the current client\textquotesingle{}s hash table
\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_autotoc_md300}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_set_autotoc_md300}
\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}