Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for UNION #422

Open
jozn opened this issue Jun 19, 2017 · 3 comments
Open

Support for UNION #422

jozn opened this issue Jun 19, 2017 · 3 comments

Comments

@jozn
Copy link

jozn commented Jun 19, 2017

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

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

Thanks

@gfx
Copy link
Member

gfx commented Jun 19, 2017

Sounds great.

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

@jozn
Copy link
Author

jozn commented Jun 19, 2017

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.

@RooyeKhat
Copy link

@jozn

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants