Note: This feature only applies to Virtuoso 7.0 and later.
Parameters in vectored procedures or FOR VECTORED blocks can be
declared to be of the corresponding scalar data type. The vectoring
is thus in most cases transparent; the variable will simply have
multiple scalar values instead of one. The ANY type in a vectored
code section is represented as an array of serialized values. Thus
types that are represented as data structures in allocated memory
(e.g., arrays, hash tables, XML elements, etc.) will not work
efficiently with ANY vectored variables. In some cases (for
example, with streams or dictionaries), assigning to a vectored ANY
will lose the information.
Therefore, if dealing with vectors of complex data types in
vectored code, the variable holding these must be declared as an
ANY ARRAY. With this type, the representation will be an array of
pointers to allocated memory, not an array of flat serialized
values. The ANY ARRAY type must be used instead of the customary
ANY in all cases involving complex values in vectored code. If
dealing with vectors of simple scalars like strings or numbers, the
ANY type is generally more efficient.