Skip to content

Commit 7ba9761

Browse files
committed
Use select model instead of a builder
1 parent 3adcb2a commit 7ba9761

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/main/java/org/mybatis/dynamic/sql/SqlBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ static CountDistinct countDistinct(BasicColumn column) {
500500
}
501501

502502
static SubQueryColumn subQuery(Buildable<SelectModel> subQuery) {
503-
return SubQueryColumn.of(subQuery);
503+
return SubQueryColumn.of(subQuery.build());
504504
}
505505

506506
static <T> Max<T> max(BindableColumn<T> column) {

src/main/java/org/mybatis/dynamic/sql/SubQueryColumn.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@
1515
*/
1616
package org.mybatis.dynamic.sql;
1717

18+
import java.util.Objects;
1819
import java.util.Optional;
1920

2021
import org.jspecify.annotations.Nullable;
2122
import org.mybatis.dynamic.sql.render.RenderingContext;
2223
import org.mybatis.dynamic.sql.select.SelectModel;
2324
import org.mybatis.dynamic.sql.select.render.SubQueryRenderer;
24-
import org.mybatis.dynamic.sql.util.Buildable;
2525
import org.mybatis.dynamic.sql.util.FragmentAndParameters;
2626

2727
public class SubQueryColumn implements BasicColumn {
28-
private final Buildable<SelectModel> subQuery;
28+
private final SelectModel selectModel;
2929
private @Nullable String alias;
3030

31-
private SubQueryColumn(Buildable<SelectModel> subQuery) {
32-
this.subQuery = subQuery;
31+
private SubQueryColumn(SelectModel selectModel) {
32+
this.selectModel = Objects.requireNonNull(selectModel);
3333
}
3434

3535
@Override
@@ -39,22 +39,22 @@ public Optional<String> alias() {
3939

4040
@Override
4141
public SubQueryColumn as(String alias) {
42-
SubQueryColumn answer = new SubQueryColumn(subQuery);
42+
SubQueryColumn answer = new SubQueryColumn(selectModel);
4343
answer.alias = alias;
4444
return answer;
4545
}
4646

4747
@Override
4848
public FragmentAndParameters render(RenderingContext renderingContext) {
49-
return SubQueryRenderer.withSelectModel(subQuery.build())
49+
return SubQueryRenderer.withSelectModel(selectModel)
5050
.withRenderingContext(renderingContext)
5151
.withPrefix("(") //$NON-NLS-1$
5252
.withSuffix(")") //$NON-NLS-1$
5353
.build()
5454
.render();
5555
}
5656

57-
public static SubQueryColumn of(Buildable<SelectModel> subQuery) {
58-
return new SubQueryColumn(subQuery);
57+
public static SubQueryColumn of(SelectModel selectModel) {
58+
return new SubQueryColumn(selectModel);
5959
}
6060
}

src/main/kotlin/org/mybatis/dynamic/sql/util/kotlin/elements/SqlElements.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ fun count(column: BasicColumn): Count = SqlBuilder.count(column)
143143
fun countDistinct(column: BasicColumn): CountDistinct = SqlBuilder.countDistinct(column)
144144

145145
fun subQuery(subQuery: KotlinSubQueryBuilder.() -> Unit): SubQueryColumn =
146-
SubQueryColumn.of(KotlinSubQueryBuilder().apply(subQuery))
146+
SubQueryColumn.of(KotlinSubQueryBuilder().apply(subQuery).build())
147147

148148
fun <T : Any> max(column: BindableColumn<T>): Max<T> = SqlBuilder.max(column)
149149

0 commit comments

Comments
 (0)