Hi,

I'm glad to confirm that the version 2.0.20 solves the issue with the limit
and skip.

By the way, I noticed that empire-db now depends on slf4j api. This is a
good thing, but this makes my project dependent as well.
Currently I added this dependency with Maven and maked it as provided (by my
container where my application runs)
According to you, how am I supposed to deal with it?

Regards,
exxos.



On Mon, Sep 19, 2011 at 10:26 PM, exxos <[email protected]> wrote:

> Hi Rainer,
>
> Thank you for your support on this. Your prompt reactivity is really
> appreciated.
>
> Following your advise, I downloaded the trunk view and build the snapshot
> 2.0.20 locally. Now, I'm testing, and I will tell you the result by the week
> (time to me, necessary to integrate it in my projet).
>
> Regards,
> exxos.
>
>
>
>
> On Tue, Sep 13, 2011 at 11:47 AM, Rainer Döbele <[email protected]> wrote:
>
>> Hi exxos,
>>
>> yes, you are right- this issue got lost somewhere on the way.
>> As far as I remember I gave you a solution how to solve this in your code
>> - but of course a general solution is preferable.
>>
>> I have now created an issue in Jira (EMPIREDB-115) and I have even already
>> checked in the solution.
>>
>> Union and intersect statements will now generally have parenthesis around
>> their first select as well and I have added support for limit() and skip()
>> to the MySQL driver.
>>
>> I have tested the parenthesis issue with hsqldb, sql-server and oracle and
>> theoretically it should work with other databases too.
>>
>> However in order to use this feature, you will have to use the current
>> development branch (2.2.0-SNAPSHOT).
>> Let me know, if you have any more problems with this.
>>
>> Regards
>> Rainer
>>
>>
>> > from: exxos [mailto:[email protected]]
>> > to: [email protected]
>> > re: UNION and LIMIT(SKIP) support
>> >
>> > Hi empire-db team,
>> >
>> > A year ago, I posted a message about several issues I experienced with
>> > UNION.
>> >
>> > [sta1] UNION [sta2] UNION [sta3] UNION ...
>> >
>> > 1st issue - DBCommandExpr does not support LIMIT (and SKIP)
>> > 2nd issue - Some parentheses are missing in the SQL produced for UNION?
>> >
>> > According to the MySQL documentation, if the ORDER BY or the
>> > LIMIT/SKIP clause is used with UNION, the parentheses have to be added
>> > to each SELECT
>> > statements.
>> >
>> > http://dev.mysql.com/doc/refman/5.0/en/union.html
>> >
>> > "To use an ORDER BY or LIMIT clause to sort or limit the entire UNION
>> > result, parenthesize the individual SELECT statements and place the
>> > ORDER BY
>> > or LIMIT after the last one."
>> >
>> > (SELECT a FROM t1 WHERE a=10 AND B=1)
>> > UNION
>> > (SELECT a FROM t2 WHERE a=11 AND B=2)
>> > ORDER BY a LIMIT 10;
>> >
>> > But the empire-db version 2.0.6 produces
>> >
>> > [sta1] UNION ( [sta2] ) ORDER BY <DBColumn>
>> >
>> > As you can see, there is no "( )" for the first instruction.
>> >
>> > By chance it works with ORDER BY because MySQL is not strict, but with
>> > the clause LIMIT no way!
>> >
>> > The class in charge to build the UNION is DBCombinedCmd
>> > public boolean getSelect(StringBuilder buf)
>> >
>> > Now, one year after what is the statuation for LIMIT (and SKIP) with
>> > UNION?
>> >
>> > Best regards,
>> > exxos.
>>
>>
>

Reply via email to