Re: [DISCUSS] Make RexNode serializable

2020-07-08 Thread Rui Wang
BTW, if use 'externalize', what is the opposite side of it? Is it `internalize` (which doesn't sound right)? Or call it "de-externalize"? -Rui On Wed, Jul 8, 2020 at 4:02 PM Rui Wang wrote: > O got it :-) > > > -Rui > > On Wed, Jul 8, 2020 at 3:55 PM Julian Hyde wrote: > >> Please call it

Re: [DISCUSS] Make RexNode serializable

2020-07-08 Thread Rui Wang
O got it :-) -Rui On Wed, Jul 8, 2020 at 3:55 PM Julian Hyde wrote: > Please call it 'externalize'. 'Serialize' gives some folks PTSD. :) > > On Wed, Jul 8, 2020 at 2:26 PM Rui Wang wrote: > > > > Thanks everyone for your inputs. Now it sounds like RexNode serialization > > is not an easy

Re: [DISCUSS] Make RexNode serializable

2020-07-08 Thread Julian Hyde
Please call it 'externalize'. 'Serialize' gives some folks PTSD. :) On Wed, Jul 8, 2020 at 2:26 PM Rui Wang wrote: > > Thanks everyone for your inputs. Now it sounds like RexNode serialization > is not an easy effort (e.g. as easy as making classes implement > Serializable). I will log a JIRA to

Re: [DISCUSS] Make RexNode serializable

2020-07-08 Thread Rui Wang
Thanks everyone for your inputs. Now it sounds like RexNode serialization is not an easy effort (e.g. as easy as making classes implement Serializable). I will log a JIRA to document people's opinions. Currently I am leaning to add serialize()/deserialize() methods to RexNode, and also see if we

Re: [DISCUSS] Make RexNode serializable

2020-07-08 Thread Julian Hyde
Serializabilty is not very popular in Java right now. There are a bunch of concerns, including security. Serializable classes are very brittle, because it's very easy to add a non-serializable field value in a sub-class. I strongly favor externalizing over serialization. Convert RexNode to a

Re: [DISCUSS] Make RexNode serializable

2020-07-07 Thread Danny Chan
Serialize the RexNode as Json format is a solution but I’m afraid it can not solve the problem completely. One problem with it is how to re-parse the json format back to RexNode, the current RelJsonReader can only re-parse the RelNode but not RexNode, and it needs the RelOptSchema to lookup the

Re: [DISCUSS] Make RexNode serializable

2020-07-07 Thread Roman Kondakov
Hi Rui, AFAIK, RelNodes can be serialized to and deserialized from JSON format. See test [1] as an example. If I understand it correct, RelNodes are serialized along with enclosed RexNodes, so you can transfer them over the network as plain strings. [1]

Re: [DISCUSS] Make RexNode serializable

2020-07-07 Thread Enrico Olivelli
Rui Il Mar 7 Lug 2020, 20:30 Rui Wang ha scritto: > Hi Community, > > In Apache Beam we are facing a use case where we need to keep RexNode in > our distributed primitives. Because of the nature of distributed computing, > Beam requires the usage of those primitives be serializable (thus those

[DISCUSS] Make RexNode serializable

2020-07-07 Thread Rui Wang
Hi Community, In Apache Beam we are facing a use case where we need to keep RexNode in our distributed primitives. Because of the nature of distributed computing, Beam requires the usage of those primitives be serializable (thus those primitives can be sent over the network to backend/workers for