Android-Orma icon indicating copy to clipboard operation
Android-Orma copied to clipboard

Support for UNION

Open tmp251 opened this issue 8 years ago • 3 comments

Hi do you plan for adding UNION keyboard support with api like this:

db.selectFromRoom().roomKeyIn(list).union()
.createdTimeLt(123).union()
....
.toList()

Thanks

tmp251 avatar Jun 19 '17 02:06 tmp251

Sounds great.

BTW what you expect the result type and value for UNION? Do you have an example models?

gfx avatar Jun 19 '17 02:06 gfx

I in general asked for this, one reason that this is beneficial is that we can not combine AND and OR clauses together when we need to run a reletivey complex query example :

table chatRoom {
roomKey string
updatedTime int
isPined bool
archived bool
}

select * from chatroom where isPined = 1
union
select * from chatroom where archived = 0 AND updatedTime > 123
union
order by updatedTime desc

this is just an sample to illustrate my point for combing multiple where clause with diffrent OR and AND.

we can have this direct query in sqlite, but with orma we can not do this: select * from chatroom where isPined = 1 OR ( archived = 0 AND updatedTime > 123 ) order by updatedTime desc the current api that allows just one ORs or ANDs is clean and i like it, but adding union support makes instead of running multiple query to database and then in java combine the result, we will just run one query.

tmp251 avatar Jun 19 '17 03:06 tmp251

@jozn

You can use rawQuery , see https://github.com/gfx/Android-Orma#raw-queries

RooyeKhat avatar Jul 01 '17 09:07 RooyeKhat