[jOOQ/jOOQ#6116] [jOOQ/jOOQ#11687] Fixed partition by clauses
This commit is contained in:
parent
0f758c5ade
commit
649e7aa871
@ -60,6 +60,10 @@ implements
|
||||
super(lhs, rhs, JoinType.FULL_OUTER_JOIN);
|
||||
}
|
||||
|
||||
FullJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.FULL_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -73,7 +77,8 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return o != null ? new FullJoin(table1, table2).on(o) : new FullJoin(table1, table2).using(u);
|
||||
return o != null
|
||||
? new FullJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).on(o)
|
||||
: new FullJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).using(u);
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,7 +114,6 @@ import static org.jooq.impl.Tools.SimpleDataKey.DATA_COLLECTED_SEMI_ANTI_JOIN;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -655,18 +654,18 @@ implements
|
||||
|
||||
|
||||
|
||||
public final J partitionBy(Field<?>... fields) {
|
||||
return partitionBy(Tools.list(fields));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public final J partitionBy(Collection<? extends Field<?>> fields) {
|
||||
rhsPartitionBy.addAll(fields);
|
||||
return (J) this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
|
||||
@ -60,6 +60,10 @@ implements
|
||||
super(lhs, rhs, JoinType.LEFT_OUTER_JOIN);
|
||||
}
|
||||
|
||||
LeftJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.LEFT_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -73,7 +77,8 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return o != null ? new LeftJoin(table1, table2).on(o) : new LeftJoin(table1, table2).using(u);
|
||||
return o != null
|
||||
? new LeftJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).on(o)
|
||||
: new LeftJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).using(u);
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,6 +62,10 @@ implements
|
||||
super(lhs, rhs, JoinType.NATURAL_FULL_OUTER_JOIN, emptyList());
|
||||
}
|
||||
|
||||
NaturalFullJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.NATURAL_FULL_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -75,7 +79,6 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return new NaturalFullJoin(table1, table2);
|
||||
return new NaturalFullJoin(table1, table2, partitionBy1).partitionBy(partitionBy2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,6 +62,10 @@ implements
|
||||
super(lhs, rhs, JoinType.NATURAL_LEFT_OUTER_JOIN, emptyList());
|
||||
}
|
||||
|
||||
NaturalLeftJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.NATURAL_LEFT_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -75,7 +79,6 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return new NaturalLeftJoin(table1, table2);
|
||||
return new NaturalLeftJoin(table1, table2, partitionBy1).partitionBy(partitionBy2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,6 +62,10 @@ implements
|
||||
super(lhs, rhs, JoinType.NATURAL_RIGHT_OUTER_JOIN, emptyList());
|
||||
}
|
||||
|
||||
NaturalRightJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.NATURAL_RIGHT_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -75,7 +79,6 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return new NaturalRightJoin(table1, table2);
|
||||
return new NaturalRightJoin(table1, table2, partitionBy1).partitionBy(partitionBy2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,6 +60,10 @@ implements
|
||||
super(lhs, rhs, JoinType.RIGHT_OUTER_JOIN);
|
||||
}
|
||||
|
||||
RightJoin(TableLike<?> lhs, TableLike<?> rhs, Collection<? extends Field<?>> lhsPartitionBy) {
|
||||
super(lhs, rhs, JoinType.RIGHT_OUTER_JOIN, lhsPartitionBy);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: Query Object Model
|
||||
// -------------------------------------------------------------------------
|
||||
@ -73,7 +77,8 @@ implements
|
||||
Condition o,
|
||||
Collection<? extends Field<?>> u
|
||||
) {
|
||||
// [#6116] [#11687] TODO: Partition by clauses
|
||||
return o != null ? new RightJoin(table1, table2).on(o) : new RightJoin(table1, table2).using(u);
|
||||
return o != null
|
||||
? new RightJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).on(o)
|
||||
: new RightJoin(table1, table2, partitionBy1).partitionBy(partitionBy2).using(u);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user