metamodel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kasper Sørensen <i.am.kasper.soren...@gmail.com>
Subject Re: New operator types. "<=" ">=" and "BETWEEN"
Date Fri, 19 Sep 2014 11:01:39 GMT
Hi Francisco,

I imagine those are much easier to handle. Previously you posted a "recipe"
which I think applies very well. Then a small review of MongoDB, CouchDB
and maybe a few other modules might be needed. But all in all I think it
sounds pretty easy.

Testing-wise, it should be tested for the JdbcModule and some quick
research on SQL dialects might be needed - but I think all dialects use the
same notation (">=" and "<="... I hope not "=>" and "=<"). Give it a try
and we will give you some feedback! :-)

Kasper

2014-09-18 17:25 GMT+02:00 Francisco Javier Cano Bailen <fjcano@stratio.com>
:

> Hello,
>
> Sorry, I wrote an unclear comment. I meant, BETWEEN will not implement
> because you are right we have an ambiguous behavior among different DB. But
> It will be useful if we include ">=" and "<=" operators.
>
> How could we manage the implementation of "<=" and ">=" operators in MM?
>
> Regards,
>
> 2014-09-18 17:06 GMT+02:00 Kasper Sørensen <i.am.kasper.sorensen@gmail.com
> >:
>
> > But how will you implement the BETWEEN logic for the JDBC module, when it
> > is implemented ambigiuously in different databases. Rather I would maybe
> > consider implementing only the ">=" and "<=" operators in MM. That way we
> > stay clear from the ambiguity and anyways a user can simply make his
> query
> > in MM using "<=" and ">=".
> >
> > 2014-09-18 9:34 GMT+02:00 Francisco Javier Cano Bailen <
> fjcano@stratio.com
> > >:
> >
> > > Hello,
> > >
> > > I agree with you. Perfect, it is OK for us.
> > >
> > > We will work in the way "BETWEEN" like "X >= V0 AND X <= V1".
> > >
> > > But in the other hand, what do you think about new "<=" and ">="
> > operators?
> > >
> > > Regards,
> > >
> > > 2014-09-17 21:18 GMT+02:00 Kasper Sørensen <
> > i.am.kasper.sorensen@gmail.com
> > > >:
> > >
> > > > I am still a bit unsure about the BETWEEN operator. Partly because
> I've
> > > > never used it in any database myself :-) But I was also reading a bit
> > > about
> > > > it [1] and found that it is implemented differently in different
> > > databases
> > > > with regard to whether it includes or excludes the boundary values.
> For
> > > > this reason I would actually prefer using 2x "greater/less than"
> filter
> > > > items instead of a single "between" filter item. Our queries should
> > have
> > > > the same meaning on all databases.
> > > >
> > > > Another little thing I found is that "NOT BETWEEN" is also an option.
> > We
> > > > might choose not to implement that, but just wanted to bring it to
> the
> > > > table. Sorry if I'm now just making it more complex :-P
> > > >
> > > > 2014-09-17 11:08 GMT+02:00 Francisco Javier Cano Bailen <
> > > > fjcano@stratio.com>
> > > > :
> > > >
> > > > > Hello,
> > > > >
> > > > > I performed some test and my first idea is:
> > > > >
> > > > > Manage operator field for BETWEEN operand as an array/list with
> size
> > 2
> > > (~
> > > > > to IN).
> > > > >
> > > > > I have developed a skeleton and I'm fixing some tests.
> > > > >
> > > > > Do you have other ideas?
> > > > >
> > > > > Regards,
> > > > >
> > > > > 2014-09-16 12:59 GMT+02:00 Kasper Sørensen <
> > > > i.am.kasper.sorensen@gmail.com
> > > > > >:
> > > > >
> > > > > > Hi Francisco,
> > > > > >
> > > > > > These sound like cool additions in deed. I think you're right
> wrt.
> > > > where
> > > > > > the impact would be.
> > > > > >
> > > > > > Would also need to check other modules that does smart things
> with
> > > > query
> > > > > > optimizations, but that comes second.
> > > > > >
> > > > > > Not sure how to fix the BETWEEN case since FilterItem only takes
> > one
> > > > > > operand. Any ideas?
> > > > > > Den 16/09/2014 11.52 skrev "Francisco Javier Cano Bailen" <
> > > > > > fjcano@stratio.com>:
> > > > > >
> > > > > > > Hello,
> > > > > > >
> > > > > > > Thanks Kasper for your first support.
> > > > > > >
> > > > > > > Regarding the OperatorType, MetaModel provides:
> > > > > > >
> > > > > > > EQUALS_TO("="), DIFFERENT_FROM("<>"), LIKE("LIKE"),
> > > > GREATER_THAN(">"),
> > > > > > > LESS_THAN("<"), IN("IN"),
> > > > > > >
> > > > > > > If it is possible, I would like to implement "<=", ">=""
and
> > > > "BETWEEN"
> > > > > > > operator types.
> > > > > > >
> > > > > > > From my first review and test, I'm going to write new code
in:
> > > > > > >
> > > > > > > FilterItem.java
> > > > > > > - toSql method
> > > > > > > - comparator method
> > > > > > > OperatorType.java
> > > > > > > - new OperatorType <= , >= and BETWEEN
> > > > > > > Query.java
> > > > > > > - BETWEEN operator syntax is BETWEEN X AND Y => manage
Y
> operand
> > > > > without
> > > > > > > operator
> > > > > > >
> > > > > > > From your point of view, Do you have other ideas in mind?
> > > > > > >
> > > > > > > Regards,
> > > > > > >
> > > > > > > --
> > > > > > >
> > > > > > > Francisco Javier Cano
> > > > > > > Senior Developer
> > > > > > >
> > > > > > >
> > > > > > > <http://www.stratio.com/>
> > > > > > > Avenida de Europa, 26. Ática 5. 3ª Planta
> > > > > > > 28224 Pozuelo de Alarcón, Madrid
> > > > > > > Tel: +34 91 352 59 42 // *@stratiobd <
> > > https://twitter.com/StratioBD
> > > > >*
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > > Francisco Javier Cano
> > > > > Senior Developer
> > > > >
> > > > >
> > > > > <http://www.stratio.com/>
> > > > > Avenida de Europa, 26. Ática 5. 3ª Planta
> > > > > 28224 Pozuelo de Alarcón, Madrid
> > > > > Tel: +34 91 352 59 42 // *@stratiobd <
> https://twitter.com/StratioBD
> > >*
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > >
> > > Francisco Javier Cano
> > > Senior Developer
> > >
> > >
> > > <http://www.stratio.com/>
> > > Avenida de Europa, 26. Ática 5. 3ª Planta
> > > 28224 Pozuelo de Alarcón, Madrid
> > > Tel: +34 91 352 59 42 // *@stratiobd <https://twitter.com/StratioBD>*
> > >
> >
>
>
>
> --
>
> Francisco Javier Cano
> Senior Developer
>
>
> <http://www.stratio.com/>
> Avenida de Europa, 26. Ática 5. 3ª Planta
> 28224 Pozuelo de Alarcón, Madrid
> Tel: +34 91 352 59 42 // *@stratiobd <https://twitter.com/StratioBD>*
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message