You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2021/05/26 09:55:27 UTC
[ignite-3] branch main updated: IGNITE-14732: Introduce SortOrder
enum for indexed column. (#133)
This is an automated email from the ASF dual-hosted git repository.
amashenkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 8c124db IGNITE-14732: Introduce SortOrder enum for indexed column. (#133)
8c124db is described below
commit 8c124dbfd1effdfa07a5a706b4c324714958259f
Author: Andrew V. Mashenkov <AM...@users.noreply.github.com>
AuthorDate: Wed May 26 12:55:21 2021 +0300
IGNITE-14732: Introduce SortOrder enum for indexed column. (#133)
---
.../schema/{SortedIndexColumn.java => SortOrder.java} | 13 +++++++++----
.../java/org/apache/ignite/schema/SortedIndexColumn.java | 4 ++--
.../ignite/internal/schema/SortedIndexColumnImpl.java | 13 +++++++------
.../internal/schema/builder/SortedIndexBuilderImpl.java | 7 ++++---
.../schema/configuration/SchemaConfigurationConverter.java | 5 +++--
.../internal/schema/builder/PrimaryKeyBuilderTest.java | 7 +++----
6 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java b/modules/api/src/main/java/org/apache/ignite/schema/SortOrder.java
similarity index 82%
copy from modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java
copy to modules/api/src/main/java/org/apache/ignite/schema/SortOrder.java
index 26c480b..282ebfc 100644
--- a/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java
+++ b/modules/api/src/main/java/org/apache/ignite/schema/SortOrder.java
@@ -18,11 +18,16 @@
package org.apache.ignite.schema;
/**
- * Sorted index column.
+ * Index column sort order.
*/
-public interface SortedIndexColumn extends IndexColumn {
+public enum SortOrder {
/**
- * @return {@code True} for ascending sort order, {@code false} otherwise.
+ * Ascending sort order.
*/
- boolean asc();
+ ASC,
+
+ /**
+ * Descending sort order.
+ */
+ DESC
}
diff --git a/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java b/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java
index 26c480b..731fdbd 100644
--- a/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java
+++ b/modules/api/src/main/java/org/apache/ignite/schema/SortedIndexColumn.java
@@ -22,7 +22,7 @@ package org.apache.ignite.schema;
*/
public interface SortedIndexColumn extends IndexColumn {
/**
- * @return {@code True} for ascending sort order, {@code false} otherwise.
+ * @return Column sort order.
*/
- boolean asc();
+ SortOrder sortOrder();
}
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SortedIndexColumnImpl.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SortedIndexColumnImpl.java
index a0f7a37..aafcb5f 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SortedIndexColumnImpl.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SortedIndexColumnImpl.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.schema;
import org.apache.ignite.internal.tostring.S;
+import org.apache.ignite.schema.SortOrder;
import org.apache.ignite.schema.SortedIndexColumn;
/**
@@ -25,23 +26,23 @@ import org.apache.ignite.schema.SortedIndexColumn;
*/
public class SortedIndexColumnImpl extends AbstractSchemaObject implements SortedIndexColumn {
/** Sort order. */
- private final boolean asc;
+ private final SortOrder sortOrder;
/**
* Constructor.
*
* @param name Column name.
- * @param asc Sort order flag.
+ * @param sortOrder Sort order flag.
*/
- public SortedIndexColumnImpl(String name, boolean asc) {
+ public SortedIndexColumnImpl(String name, SortOrder sortOrder) {
super(name);
- this.asc = asc;
+ this.sortOrder = sortOrder;
}
/** {@inheritDoc} */
- @Override public boolean asc() {
- return asc;
+ @Override public SortOrder sortOrder() {
+ return sortOrder;
}
/** {@inheritDoc} */
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/builder/SortedIndexBuilderImpl.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/builder/SortedIndexBuilderImpl.java
index fba1e47..0f7fb54 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/builder/SortedIndexBuilderImpl.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/builder/SortedIndexBuilderImpl.java
@@ -23,6 +23,7 @@ import java.util.Map;
import java.util.stream.Collectors;
import org.apache.ignite.internal.schema.SortedIndexColumnImpl;
import org.apache.ignite.internal.schema.SortedIndexImpl;
+import org.apache.ignite.schema.SortOrder;
import org.apache.ignite.schema.SortedIndex;
import org.apache.ignite.schema.SortedIndexColumn;
import org.apache.ignite.schema.builder.SortedIndexBuilder;
@@ -101,7 +102,7 @@ public class SortedIndexBuilderImpl extends AbstractIndexBuilder implements Sort
protected String name;
/** Index order flag. */
- protected boolean asc = true;
+ protected SortOrder asc = SortOrder.ASC;
/**
* Constructor.
@@ -114,14 +115,14 @@ public class SortedIndexBuilderImpl extends AbstractIndexBuilder implements Sort
/** {@inheritDoc} */
@Override public SortedIndexColumnBuilderImpl desc() {
- asc = false;
+ asc = SortOrder.DESC;
return this;
}
/** {@inheritDoc} */
@Override public SortedIndexColumnBuilderImpl asc() {
- asc = true;
+ asc = SortOrder.ASC;
return this;
}
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
index f480d0d..ba4237f 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverter.java
@@ -44,6 +44,7 @@ import org.apache.ignite.schema.IndexColumn;
import org.apache.ignite.schema.PartialIndex;
import org.apache.ignite.schema.PrimaryIndex;
import org.apache.ignite.schema.SchemaTable;
+import org.apache.ignite.schema.SortOrder;
import org.apache.ignite.schema.SortedIndex;
import org.apache.ignite.schema.SortedIndexColumn;
import org.apache.ignite.schema.TableIndex;
@@ -101,7 +102,7 @@ public class SchemaConfigurationConverter {
*/
public static void convert(SortedIndexColumn col, IndexColumnChange colInit) {
colInit.changeName(col.name());
- colInit.changeAsc(col.asc());
+ colInit.changeAsc(col.sortOrder() == SortOrder.ASC);
}
/**
@@ -111,7 +112,7 @@ public class SchemaConfigurationConverter {
* @return SortedIndexColumn.
*/
public static SortedIndexColumn convert(IndexColumnView colCfg) {
- return new SortedIndexColumnImpl(colCfg.name(), colCfg.asc());
+ return new SortedIndexColumnImpl(colCfg.name(), colCfg.asc() ? SortOrder.ASC : SortOrder.DESC);
}
/**
diff --git a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyBuilderTest.java b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyBuilderTest.java
index 90f3cd3..1e15096 100644
--- a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyBuilderTest.java
+++ b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyBuilderTest.java
@@ -19,12 +19,11 @@ package org.apache.ignite.internal.schema.builder;
import org.apache.ignite.schema.PrimaryIndex;
import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.schema.SortOrder;
import org.apache.ignite.schema.builder.PrimaryIndexBuilder;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Primary key builder test.
@@ -41,7 +40,7 @@ public class PrimaryKeyBuilderTest {
PrimaryIndex idx = builder.build();
assertEquals(2, idx.columns().size());
- assertFalse(idx.columns().get(0).asc());
- assertTrue(idx.columns().get(1).asc());
+ assertEquals(SortOrder.DESC, idx.columns().get(0).sortOrder());
+ assertEquals(SortOrder.ASC, idx.columns().get(1).sortOrder());
}
}