Once a BinaryObjectSchema is created, it is not possible to change the type
of a field for a known field name.

My question is whether there is any way to determine the type of that field
in the Schema.  

We are hitting a case were the way we get the data out of a different
database returns a TIMESTAMP, but our binary object wants a DATE.     In
this test case, I could figure out that, but in the general case,  I have a
BinaryObject type name, and a field name, and an exception if I try to put
the wrong type in that field.

The hokey general solutions I have come up with are:
1) Parse the exception message to see what type it wants
2) Have a list of conversions to try for the source type, and step through
them on each exception.
3) Get the field from an existing binary object of that type, and use the
class of the result.   But there is the chicken/egg problem.

I have found that I can create a cache on a cluster with persistence, with
some type definition, then delete that cache, the cluster will remember the
BinaryObjectSchema for that type, and refuse to allow me to change the
field's type.          If I  don't remember the field's type, how can I
build the binary object?

Is there any way to delete the schema without nuking some of the
binary-meta/marshaller files when the cluster is down?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to