Marshalled object's footer content for fast fields retrieval

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Marshalled object's footer content for fast fields retrieval

Denis Magda
Igniters,

We're planning to add the footer to a marshalled array of an Object to
perform queries faster when fields are used in a query.
So I have a question.

Imagine that we have two objects.

class Employee {
     private int age;
     private String name;
     private Department department;
}

class Department {
    private int id;
    private String name;
}

When an Employee object is being marshalled using OptimizedMarshaller
the footer of the marshalled array will be filled up with its personal
fields only - age, name, department. Neither Employee's footer will
contain information about Department object's fields, nor Department
field or any other /enclosed/ object field will contain footer at all.

The reason is because we don't support queries like
"Select * FROM Employee as emp WHERE *emp.**department.name* = ?"

Thus, for performance and memory consumption reasons I'm planning to
propagate the footer the way above.

  Any thoughts, concerns?

--
Denis


Reply | Threaded
Open this post in threaded view
|

Re: Marshalled object's footer content for fast fields retrieval

dsetrakyan
Denis,

We can still include the department name directly into the query (it would
have to be named differently from person name):

select * from Employee where depName = ?

Are you still going to support this?

D.

On Thu, May 28, 2015 at 10:49 PM, Denis Magda <[hidden email]> wrote:

> Igniters,
>
> We're planning to add the footer to a marshalled array of an Object to
> perform queries faster when fields are used in a query.
> So I have a question.
>
> Imagine that we have two objects.
>
> class Employee {
>     private int age;
>     private String name;
>     private Department department;
> }
>
> class Department {
>    private int id;
>    private String name;
> }
>
> When an Employee object is being marshalled using OptimizedMarshaller the
> footer of the marshalled array will be filled up with its personal fields
> only - age, name, department. Neither Employee's footer will contain
> information about Department object's fields, nor Department field or any
> other /enclosed/ object field will contain footer at all.
>
> The reason is because we don't support queries like
> "Select * FROM Employee as emp WHERE *emp.**department.name* = ?"
>
> Thus, for performance and memory consumption reasons I'm planning to
> propagate the footer the way above.
>
>  Any thoughts, concerns?
>
> --
> Denis
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Marshalled object's footer content for fast fields retrieval

Denis Magda
Dmitriy,

Yes, I'll support this kind of queries when enclosing objects' fields are
used in a query.


Denis



On Friday, May 29, 2015, Dmitriy Setrakyan <[hidden email]> wrote:

> Denis,
>
> We can still include the department name directly into the query (it would
> have to be named differently from person name):
>
> select * from Employee where depName = ?
>
> Are you still going to support this?
>
> D.
>
> On Thu, May 28, 2015 at 10:49 PM, Denis Magda <[hidden email]
> <javascript:;>> wrote:
>
> > Igniters,
> >
> > We're planning to add the footer to a marshalled array of an Object to
> > perform queries faster when fields are used in a query.
> > So I have a question.
> >
> > Imagine that we have two objects.
> >
> > class Employee {
> >     private int age;
> >     private String name;
> >     private Department department;
> > }
> >
> > class Department {
> >    private int id;
> >    private String name;
> > }
> >
> > When an Employee object is being marshalled using OptimizedMarshaller the
> > footer of the marshalled array will be filled up with its personal fields
> > only - age, name, department. Neither Employee's footer will contain
> > information about Department object's fields, nor Department field or any
> > other /enclosed/ object field will contain footer at all.
> >
> > The reason is because we don't support queries like
> > "Select * FROM Employee as emp WHERE *emp.**department.name* = ?"
> >
> > Thus, for performance and memory consumption reasons I'm planning to
> > propagate the footer the way above.
> >
> >  Any thoughts, concerns?
> >
> > --
> > Denis
> >
> >
> >
>