Forum: Building VoltDB Applications

Post: Parameter types passed to VoltDB Procedure

Parameter types passed to VoltDB Procedure
May 7, 2012

I am in the process of writing a Stored Procedure which inserts *multiple* rows in a single Procedure call. Since one of the columns in the Table is of blob (VARBINARY) type it requires me to pass a collection/array of byte[] (either byte[][] or List). The issues is that I am not able to pass these parameter types. Passing a List type fails when I run the VoltCompiler and passing byte[][] fails at run time.

Please let me know the possible solution for this issue. I am planning raise a feature request for byte[][] support in case there is no workaround available.

Currently unsupported
May 17, 2012
See this previous thread:

This is the ticket tracking this defect:

As stated in the other thread, the current workaround is to pass a VoltTable to the procedure as an argument. This is easier to do in Java than in some other clients. This issue is definitely on our radar and will be addressed as soon as it can be scheduled.

A more manual workaround is to pass one big blob and an array of offsets. Then split the one dimensional array from within the procedure.
Example code at
May 17, 2012