in google-cloud-spanner-hibernate-dialect/src/main/java/com/google/cloud/spanner/hibernate/SpannerSqlAstTranslator.java [140:162]
protected boolean renderPrimaryTableReference(TableGroup tableGroup, LockMode lockMode) {
if (shouldInlineCte(tableGroup)) {
inlineCteTableGroup(tableGroup, lockMode);
return false;
}
final TableReference tableReference = tableGroup.getPrimaryTableReference();
if (tableReference instanceof NamedTableReference) {
return renderNamedTableReference((NamedTableReference) tableReference, lockMode);
}
final DerivedTableReference derivedTableReference = (DerivedTableReference) tableReference;
final boolean correlated = derivedTableReference.isLateral();
final boolean oldCorrelated = this.correlated;
if (correlated) {
this.correlated = true;
appendSql("unnest(array");
}
tableReference.accept(this);
if (correlated) {
this.correlated = oldCorrelated;
appendSql(CLOSE_PARENTHESIS);
}
return false;
}