提交 22a3549d 编写于 作者: S Serge Rider

CB-1020 Resultset ordering fix

上级 fd26031b
......@@ -37,6 +37,7 @@ public class DBDAttributeConstraint extends DBDAttributeConstraintBase {
private DBSAttributeBase attribute;
private String attributeName;
private int originalVisualPosition;
private boolean plainNameReference; // Disables ordering by column index
public DBDAttributeConstraint(@NotNull DBDAttributeBinding attribute) {
setAttribute(attribute);
......@@ -90,6 +91,15 @@ public class DBDAttributeConstraint extends DBDAttributeConstraintBase {
return originalVisualPosition;
}
// Disables ordering by column index
public boolean isPlainNameReference() {
return plainNameReference;
}
public void setPlainNameReference(boolean plainNameReference) {
this.plainNameReference = plainNameReference;
}
@Override
public boolean hasFilter() {
return super.hasFilter() || // compare visual position only if it explicitly set
......@@ -142,4 +152,5 @@ public class DBDAttributeConstraint extends DBDAttributeConstraintBase {
return isVisible() == constraint.isVisible() && getVisualPosition() == constraint.getVisualPosition() &&
Arrays.equals(getOptions(), constraint.getOptions());
}
}
......@@ -486,7 +486,7 @@ public final class SQLUtils {
for (DBDAttributeConstraint co : filter.getOrderConstraints()) {
if (hasOrder) query.append(',');
String orderString = null;
if (co.getAttribute() == null || co.getAttribute() instanceof DBDAttributeBindingMeta || co.getAttribute() instanceof DBDAttributeBindingType) {
if (co.isPlainNameReference() || co.getAttribute() == null || co.getAttribute() instanceof DBDAttributeBindingMeta || co.getAttribute() instanceof DBDAttributeBindingType) {
String orderColumn = co.getAttributeName();
if (co.getAttribute() == null || PATTERN_SIMPLE_NAME.matcher(orderColumn).matches()) {
// It is a simple column.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册