Ok, I considered db_select because I needed to be able to add an extend() method and db_query() doesn't allow for it. However, my query is adjustable by the user with a filter selection that allows the user to add OR and/or AND filters on the fly. The db_or() and db_and() methods requires I know the condition()s all at once which I don't so now I'm back to use db_query to build the query string as I was doing in D6. However, I need to be able to page the list of items such as extend('PagerDefault')->extend('TableSort')->orderByHeader->($header) but this doesn't exist in the db_query object. Is there some means by which I can create a SelectQueryExtender object with the db_query object as a parameter? Or does anyone have a different solution?