Skip to content

Commit

Permalink
Fix more tests, rethink approach
Browse files Browse the repository at this point in the history
  • Loading branch information
radovanradic committed Feb 27, 2025
1 parent f242fe1 commit afe35b8
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class CriteriaSpec extends AbstractCriteriaSpec {
String query = getSqlQuery(criteriaQuery)

expect:
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ INNER JOIN "author" book_book_author_ ON book_book_."author_id"=book_book_author_."id" WHERE (book_book_author_."id" = book_book_author_."id"))) ORDER BY book_."title" ASC'''
query == '''SELECT book_."id",book_."title",book_."pages" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ INNER JOIN "author" book_book_author_ ON book_book_."author_id"=book_book_author_."id" WHERE (book_book_author_."id" = book_book_author_."id"))) ORDER BY book_."title" ASC'''
}

void "test subquery IN with JOIN"() {
Expand All @@ -116,7 +116,7 @@ class CriteriaSpec extends AbstractCriteriaSpec {

expect:
// language=SQL
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id",book_author_."name" AS author_name FROM "book" book_ INNER JOIN "author" book_author_ ON book_."author_id"=book_author_."id" WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?))) ORDER BY book_."title" ASC'''
query == '''SELECT book_."id",book_."title",book_."pages",book_author_."id" AS author_id,book_author_."name" AS author_name FROM "book" book_ INNER JOIN "author" book_author_ ON book_."author_id"=book_author_."id" WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?))) ORDER BY book_."title" ASC'''
}

void "test subquery IN"() {
Expand All @@ -133,7 +133,7 @@ class CriteriaSpec extends AbstractCriteriaSpec {
String query = getSqlQuery(criteriaQuery)

expect:
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
query == '''SELECT book_."id",book_."title",book_."pages" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
}

void "test subquery EQ"() {
Expand All @@ -150,7 +150,7 @@ class CriteriaSpec extends AbstractCriteriaSpec {
String query = getSqlQuery(criteriaQuery)

expect:
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id" FROM "book" book_ WHERE (book_."id" = (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
query == '''SELECT book_."id",book_."title",book_."pages" FROM "book" book_ WHERE (book_."id" = (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
}

void "test function projection 3"() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class StaticCriteriaSpec extends AbstractCriteriaSpec {
String query = getSqlQuery(criteriaQuery)

expect:
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
query == '''SELECT book_."id",book_."title",book_."pages" FROM "book" book_ WHERE (book_."id" IN (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
}

void "test subquery EQ"() {
Expand All @@ -96,7 +96,7 @@ class StaticCriteriaSpec extends AbstractCriteriaSpec {
String query = getSqlQuery(criteriaQuery)

expect:
query == '''SELECT book_."id",book_."author_id",book_."title",book_."pages",book_."publisher_id" FROM "book" book_ WHERE (book_."id" = (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
query == '''SELECT book_."id",book_."title",book_."pages" FROM "book" book_ WHERE (book_."id" = (SELECT book_book_."id" FROM "book" book_book_ WHERE (book_book_."id" = ?)))'''
}

@Unroll
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ package example
import io.micronaut.core.annotation.NonNull
import io.micronaut.data.annotation.Join
import io.micronaut.data.jdbc.annotation.JdbcRepository
import io.micronaut.data.model.Page
import io.micronaut.data.model.Pageable
import io.micronaut.data.model.query.builder.sql.Dialect
import io.micronaut.data.repository.GenericRepository
import io.micronaut.data.repository.jpa.criteria.QuerySpecification
import io.micronaut.data.repository.jpa.kotlin.CoroutineJpaSpecificationExecutor
import io.micronaut.data.runtime.criteria.get
import io.micronaut.data.runtime.criteria.joinMany
Expand All @@ -20,6 +23,9 @@ interface ParentSuspendRepository : GenericRepository<Parent, Int>, CoroutineJpa
@Join(value = "children", type = Join.Type.FETCH)
suspend fun findById(id: Int): Optional<Parent>

@Join(value = "children", type = Join.Type.FETCH)
override suspend fun findAll(spec: QuerySpecification<Parent>?, pageable: Pageable): Page<Parent>

@Transactional(Transactional.TxType.MANDATORY)
suspend fun queryById(id: Int): Optional<Parent>

Expand Down

0 comments on commit afe35b8

Please sign in to comment.