Skip to content

Commit fe771ad

Browse files
authored
Merge pull request #42 from hasura/gavin/qualified-name-handling
Handle FQN's like DB.SCHEMA.TABLE during SQL generation
2 parents cf87d51 + 4eca547 commit fe771ad

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

ndc-connector-snowflake/src/main/kotlin/io/hasura/snowflake/CTEQueryGenerator.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ object CTEQueryGenerator : BaseQueryGenerator() {
6868
DSL.rowNumber().over(
6969
DSL.partitionBy(
7070
mkJoinKeyFields(
71-
relationship, request.collection
71+
relationship, DSL.name(request.collection.split("."))
7272
)
7373
).orderBy(
7474
run {
@@ -98,11 +98,11 @@ object CTEQueryGenerator : BaseQueryGenerator() {
9898
&& (relationship.column_mapping.isNotEmpty() || relationship.arguments.isNotEmpty())
9999
) {
100100
from(DSL.name(genCTEName(relSource ?: request.collection)))
101-
.innerJoin(DSL.name(relationship.target_collection))
101+
.innerJoin(DSL.name(relationship.target_collection.split(".")))
102102
.on(
103103
mkSQLJoin(
104104
relationship,
105-
sourceCollection = genCTEName(relSource ?: request.collection)
105+
sourceCollection = genCTEName(relSource ?: request.collection),
106106
)
107107
)
108108
} else from(getCollectionAsjOOQName(request.collection))

ndc-connector-snowflake/src/main/kotlin/io/hasura/snowflake/SnowflakeDataConnectorService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class SnowflakeDataConnectorService @Inject constructor(
6161

6262
override val jooqDialect = SQLDialect.SNOWFLAKE
6363
override val jooqSettings =
64-
commonDSLContextSettings.withRenderQuotedNames(RenderQuotedNames.EXPLICIT_DEFAULT_UNQUOTED)
64+
commonDSLContextSettings.withRenderQuotedNames(RenderQuotedNames.EXPLICIT_DEFAULT_QUOTED)
6565
override val sqlGenerator = CTEQueryGenerator
6666
override val mutationTranslator = MutationTranslator
6767
}

ndc-sqlgen/src/main/kotlin/io/hasura/ndc/sqlgen/BaseGenerator.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ sealed interface BaseGenerator {
1616
return DSL.and(
1717
rel.column_mapping.map { (sourceColumn, targetColumn) ->
1818
DSL.field(DSL.name(listOf(sourceCollection, sourceColumn)))
19-
.eq(DSL.field(DSL.name(listOf(targetTableFQN, targetColumn))))
19+
.eq(DSL.field(DSL.name(targetTableFQN.split(".") + targetColumn)))
2020
}
2121
+ rel.arguments.map { (targetColumn, argument) ->
2222
DSL.field(DSL.name(listOf(sourceCollection, (argument as Argument.Column).name)))
23-
.eq(DSL.field(DSL.name(listOf(targetTableFQN, targetColumn))))
23+
.eq(DSL.field(DSL.name(targetTableFQN.split(".") + targetColumn)))
2424
}
2525
)
2626
}

ndc-sqlgen/src/main/kotlin/io/hasura/ndc/sqlgen/BaseQueryGenerator.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,9 @@ abstract class BaseQueryGenerator : BaseGenerator {
232232
val relName = elem.target.path.map { it.relationship }.last()
233233
val rel = relationships[relName] ?: throw Exception("Relationship not found")
234234
val targetTable = rel.target_collection
235-
DSL.field(DSL.name(listOf(targetTable, target.name)))
235+
DSL.field(DSL.name(targetTable.split(".") + target.name))
236236
} else {
237-
DSL.field(DSL.name(listOf(currentCollection, target.name)))
237+
DSL.field(DSL.name(currentCollection.split(".") + target.name))
238238
}
239239
}
240240

0 commit comments

Comments
 (0)