We are currently testing stored procedures with OrientDB.
For performance reasons, we are using java stored procedures with classes 
that extends OSQLFunctionAbstract:


*excerpt of client side*:


*... // in 'real world' content is a big serialied object byte[] 
contentByte = new byte[] {0,1,2,3} *


*// in 'real world' content is a big serialied object Byte[] 
contentClassByte = new Byte[] {0,1,2,3} *

*Object result1 = graph.command("select 
myFonction(?)").execute(contentByte);*


*Object result2 = graph.command("select 
myFonction(?)").execute(contentClassByte); ...*

*Excerpt of server side:*


*public class MyFunction extends OSQLFunctionAbstract {*

*...

public Object execute( Object iThis, OIdentifiable iCurrentRecord, Object 
iCurrentResult, Object iParams, OCommmandContext iContext) {

    ...

    // when the client has transmitted a byte array, iParams[0] type is a 
OSQLFilterItemParameter  with name ='?' and value='?'

    // when the client has transmitted a Byte array, iParams[0] type is a 
String with "[0,1,2,3]"

 }
*

*}*


It seems that, depending of the caller's parameter type, the server's 
parameter type is a OSQLFIlterParameter with unusable value, or a String 
representation of the Byte array.
The problem is that this String representation is very inefficient when we 
are dealing with large Byte arrays.
So the question is: is there any way to transmit a byte array to a stored 
procedure without this cost ? (if we should receive a byte array without 
transformation in the server procedure, it will be perfect)

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to