diff --git a/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt b/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt index e80ce1ec9e5..fce286d3454 100644 --- a/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt +++ b/dialects/postgresql/src/main/kotlin/app/cash/sqldelight/dialects/postgresql/PostgreSqlTypeResolver.kt @@ -109,7 +109,7 @@ class PostgreSqlTypeResolver(private val parentResolver: TypeResolver) : TypeRes "regr_count" -> IntermediateType(BIG_INT).asNullable() "gen_random_uuid" -> IntermediateType(PostgreSqlType.UUID) "length", "character_length", "char_length" -> IntermediateType(PostgreSqlType.INTEGER).nullableIf(resolvedType(exprList[0]).javaType.isNullable) - "currval", "lastval", "nextval" -> IntermediateType(BIG_INT) + "currval", "lastval", "nextval", "setval" -> IntermediateType(BIG_INT) else -> null } diff --git a/sqldelight-gradle-plugin/src/test/integration-postgresql/src/main/sqldelight/app/cash/sqldelight/postgresql/integration/Sequences.sq b/sqldelight-gradle-plugin/src/test/integration-postgresql/src/main/sqldelight/app/cash/sqldelight/postgresql/integration/Sequences.sq index 264d19c7243..9171f057698 100644 --- a/sqldelight-gradle-plugin/src/test/integration-postgresql/src/main/sqldelight/app/cash/sqldelight/postgresql/integration/Sequences.sq +++ b/sqldelight-gradle-plugin/src/test/integration-postgresql/src/main/sqldelight/app/cash/sqldelight/postgresql/integration/Sequences.sq @@ -16,3 +16,6 @@ SELECT currval('serial'); selectLastVal: SELECT lastval(); + +selectSetVal: +SELECT setval('serial', 200, TRUE); diff --git a/sqldelight-gradle-plugin/src/test/integration-postgresql/src/test/kotlin/app/cash/sqldelight/postgresql/integration/PostgreSqlTest.kt b/sqldelight-gradle-plugin/src/test/integration-postgresql/src/test/kotlin/app/cash/sqldelight/postgresql/integration/PostgreSqlTest.kt index ea225e1148e..1c5e3a86c8d 100644 --- a/sqldelight-gradle-plugin/src/test/integration-postgresql/src/test/kotlin/app/cash/sqldelight/postgresql/integration/PostgreSqlTest.kt +++ b/sqldelight-gradle-plugin/src/test/integration-postgresql/src/test/kotlin/app/cash/sqldelight/postgresql/integration/PostgreSqlTest.kt @@ -336,5 +336,8 @@ class PostgreSqlTest { val selectNextVal = database.sequencesQueries.selectNextVal().executeAsOne() val lastVal = database.sequencesQueries.selectLastVal().executeAsOne() assertThat(selectNextVal).isEqualTo(lastVal) + + val selectSetVal = database.sequencesQueries.selectSetVal().executeAsOne() + assertThat(selectSetVal).isEqualTo(nextVal) } }