Difference between revisions of "LlKeyCountKeyValue"

From Second Life Wiki
Jump to: navigation, search
Line 1: Line 1:
 
[[Category:Experience Tools]]
 
[[Category:Experience Tools]]
 
{{LSL_Function
 
{{LSL_Function
 +
|inject-2={{LSL Function/KeyValue|d2_type=integer|d2_name=pairs|d2_desc=number of keys-value pairs in the key-value store}}
 
|func=llKeyCountKeyValue
 
|func=llKeyCountKeyValue
 
|func_desc=Start an asynchronous transaction to request the number of keys in the system.
 
|func_desc=Start an asynchronous transaction to request the number of keys in the system.
|func_footnote=
+
|func_footnote
The [[dataserver]] callback parameters are:
+
* A key containing the {{LSLGC|Key/handle|handle}} returned from llKeyCountKeyValue
+
* A string containing a comma-delimited list.  The first item is a boolean specifying if the transaction succeeded (1) or not (0).  On a success result the second value is the number of items in the system.
+
 
|return_type=key|return_subtype=handle
 
|return_type=key|return_subtype=handle
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed.
+
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed and the results.
 
|also_functions=
 
|also_functions=
 
*[[llGetExperienceErrorMessage]]
 
*[[llGetExperienceErrorMessage]]

Revision as of 16:18, 9 July 2014

Summary

Function: key llKeyCountKeyValue( );

Start an asynchronous transaction to request the number of keys in the system.
Returns a handle (a key) that can be used to identify the corresponding dataserver event to determine if this command succeeded or failed and the results.

Specification

Dataserver

The dataserver callback parameters are:

  • A key containing the handle returned from llKeyCountKeyValue
  • A string containing a comma-delimited list (cdl). llDumpList2String([ integer success ] + components);
String Components
• integer success A boolean specifying if the transaction succeeded (1) or not (0).
• integer error An XP_ERROR_* flag that describes why the operation failed.
• integer pairs number of keys-value pairs in the key-value store

Examples

<lsl>key trans; default {

   state_entry()
   {
       trans = llKeyCountKeyValue("FOO");
   }

}

dataserver(key t, string value) {

   if (t == trans)
   {
       // our llKeyCountKeyValue transaction is done
       list result = llCSV2List(value);
       if (llList2Integer(result, 0) == 1)
       {
           // data size retrieved
           llSay(0, "Keys in use: "+llList2String(result, 1)");
       }
       else
       {
           // key count failed
           llSay(0, "Key-value failed to count keys: " + llList2String(result, 1) );
       }
   } 
}</lsl>

Deep Notes

Search JIRA for related Issues

Signature

function key llKeyCountKeyValue();