Forum: Building VoltDB Applications

Post: Passing array of blobs to a proceedure

Passing array of blobs to a proceedure
shulmanb
Nov 2, 2011
In My usecase I need to store several key-value pairs in an atomic manner. I thought that I would pass an array of keys and an array of byte arrays (serialized objects), in addition I have an additional parameter that will be used for partitioning.

The problem that when I tried to run that example I got an exception that VoltType.VARBANIRAY is not support. After looking in the source code I see that I can't pass an array of bytearrays as a parameter.
Is it a bug or a normal behavior? Do you plan to add support for such a usecase?
Hi Shulmanb,Right now you
aweisberg
Nov 2, 2011
Hi Shulmanb,

Right now you can't pass an array of byte arrays. I created to https://issues.voltdb.com/browse/ENG-1974 to track adding this functionality. I can't say when we will get around to resolving the issue.

The work around described in the ticket is to create a VoltTable and add each blob as a row to that table and use the VoltTable as a parameter to the stored procedure. The boiler plate helper methods to do this are only a few lines of code.

Thanks,
Ariel
jpiekos
May 1, 2013
FYI, support for passing arrays of byte arrays was added to VoltDB 2.8 in summer 2012.

John