NAME
Cac::Global - High-performance access to Cache global variables
SYNOPSIS
use Cac::Global
Global Access Functions
- Gset $global, [$idx1, $idx2, ... ,] $value
 - 
Sets a global in the most efficient way.
Example:
Gset "xx", 1, "foo", 2; # s ^xx(1,"foo")=2 - Ginc $global, [$idx1, $idx2, ... ,] $value
 - 
Increments a global in the most efficient way.
Example:
Ginc "xx", 1, "foo", 2; # s ^xx(1,"foo")=^xx(1,"foo")+2Note: This function does not return anything. Use Gseq for an atomic increment by one and a result.
 - GsetA $global, [$idx1, $idx2, ... ,] \@values
 - 
Sets globals out of an array. If an array value is undef it is skipped.
Example:
GsetA "xx", 1, "foo", [ 0, "seppl", undef, "x" ]does the following:
s ^xx(1,"foo",0)=0 s ^xx(1,"foo",1)="seppl" s ^xx(1,"foo",3)="x" - GincA $global, [$idx1, $idx2, ..., ] \@values
 - 
increments globals
 - GsetH $global, [$idx1, $idx2, ..., ] \%values
 - 
Sets globals out of an hash. If a hash value is undef it is skipped.
Example:
GsetH "xx", 1, 2, "foo", { 1 => 'one', two => 2 } is the same as: s ^xx(1,2,"foo",1)="one" s ^xx(1,2,"foo","two")=2 - GincH $global, [$idx1, $idx2, ..., ] \%values
 - 
Increments globals out of an hash. If a hash value is undef it is skipped.
 - Gseq $global [, $idx1, $idx2, ... ]
 - 
Increments global by one and returns the value it has after incrementing. This is an atomic function.
 - Gget $global [, $idx1, $idx2, ... ]
 - 
Fetches a global. If the node is undefined undef is returned. Use GgetRaise if you want an exception when accessing an undefined node.
Note: Intersystems refuses to give the author of this module enough informations to make this function as fast as possible.
 - GgetRaise $global [, $idx1, $idx2, ... ]
 - 
Fetches a global. If the node is undefined an exception is raised. Use Gget if you want undef instead of an exception.
Note: Intersystems refuses to give the author of this module enough informations to make this function as fast as possible.
 
SEE ALSO
Cac, Cac::ObjectScript, Cac::Routine, Cac::Util, Cac::Bind.
AUTHOR
Stefan Traby <stefan@hello-penguin.com>
http://hello-penguin.com