-
Notifications
You must be signed in to change notification settings - Fork 550
Description
SQLDelight Version
2.0.1
Operating System
MacOs
Gradle Version
8.4
Kotlin Version
1.9.10
Dialect
Sqlite
AGP Version
8.2.2
Describe the Bug
I am trying to compile the following recursive query:
descendantsOfNode:
WITH RECURSIVE descendants(uuid, depth) AS (
SELECT uuid, 0 AS depth
FROM dmmNodeEntity
WHERE uuid = ?
UNION ALL
SELECT n.uuid, d.depth + 1
FROM dmmNodeEntity n
INNER JOIN descendants d ON n.parent_uuid = d.uuid
)
SELECT * FROM descendants;
I get a StackOverflowError: Cause: java.lang.StackOverflowError at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex$virtualDirectoriesWithDependencies$2.invoke(SqlDelightEnvironment.kt:299)
### Stacktrace
```shell
Cause: java.lang.StackOverflowError
at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex$virtualDirectoriesWithDependencies$2.invoke(SqlDelightEnvironment.kt:299)
at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex$virtualDirectoriesWithDependencies$2.invoke(SqlDelightEnvironment.kt:298)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex.getVirtualDirectoriesWithDependencies(SqlDelightEnvironment.kt:298)
at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex.sourceFolders(SqlDelightEnvironment.kt:345)
at app.cash.sqldelight.core.SqlDelightEnvironment$FileIndex.sourceFolders(SqlDelightEnvironment.kt:283)
at app.cash.sqldelight.core.SqlDelightFileIndex$DefaultImpls.sourceFolders$default(SqlDelightFileIndex.kt:72)
at app.cash.sqldelight.core.lang.SqlDelightFile.searchScope(SqlDelightFile.kt:71)
at app.cash.sqldelight.core.lang.SqlDelightQueriesFile.searchScope(SqlDelightQueriesFile.kt:161)
at com.alecstrong.sql.psi.core.SqlFileBase.access$searchScope(SqlFileBase.kt:20)
at com.alecstrong.sql.psi.core.SqlFileBase.schema(SqlFileBase.kt:168)
at com.alecstrong.sql.psi.core.psi.mixins.SqlStmtListMixin.tablesAvailable(SqlStmtListMixin.kt:25)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.mixins.WithClauseContainer.tablesAvailable(WithClauseContainer.kt:22)
at com.alecstrong.sql.psi.core.psi.mixins.CompoundSelectStmtMixin.tablesAvailable(CompoundSelectStmtMixin.kt:47)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.mixins.WithClauseContainer.tablesAvailable(WithClauseContainer.kt:22)
at com.alecstrong.sql.psi.core.psi.mixins.CompoundSelectStmtMixin.tablesAvailable(CompoundSelectStmtMixin.kt:47)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl.tablesAvailable(SqlCompositeElementImpl.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlTableReference.getVariants(SqlTableReference.kt:36)
at com.alecstrong.sql.psi.core.psi.SqlTableReference$resolved$1.invoke(SqlTableReference.kt:19)
at com.alecstrong.sql.psi.core.psi.SqlTableReference$resolved$1.invoke(SqlTableReference.kt:16)
at com.alecstrong.sql.psi.core.ModifiableFileLazy.forFile(ModifiableFileLazy.kt:22)
at com.alecstrong.sql.psi.core.psi.SqlTableReference.resolve(SqlTableReference.kt:24)
at com.alecstrong.sql.psi.core.psi.SqlTableReference.resolve(SqlTableReference.kt:11)
at app.cash.sqldelight.core.lang.util.SelectStmtUtilKt.referencedTables(SelectStmtUtil.kt:58)
at app.cash.sqldelight.core.lang.util.SelectStmtUtilKt.referencedTables$default(SelectStmtUtil.kt:32)
Gradle Build Script
No response
Myvillithdar, Qubiz, razvanred, Lucide, KayJay7 and 3 more
Metadata
Metadata
Assignees
Labels
No labels