TAJO-2019: Replace manual array copy with System.arraycopy().
Signed-off-by: Jihoon Son <jihoonson@apache.org>
diff --git a/CHANGES b/CHANGES
index feb723e..8756d5e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -71,6 +71,9 @@
TASKS
+ TAJO-2019: Replace manual array copy with System.arraycopy().
+ (Contributed by Dongkyu Hwangbo, committed by jaehwa)
+
TAJO-1994: Some trivial modification is needed in compression document.
(Contributed by Jongyoung Park. Committed by jihoon)
diff --git a/tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b/tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
index 2d57c0a..587849f 100644
--- a/tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
+++ b/tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java
@@ -308,15 +308,11 @@
padded[0] = new char[max];
padded[1] = new char[max];
- for (int i = 0; i < startChars.length; i++) {
- padded[0][i] = startChars[i];
- }
+ System.arraycopy(startChars, 0, padded[0], 0, startChars.length);
for (int i = startChars.length; i < max; i++) {
padded[0][i] = 0;
}
- for (int i = 0; i < endChars.length; i++) {
- padded[1][i] = endChars[i];
- }
+ System.arraycopy(endChars, 0, padded[1], 0, endChars.length);
for (int i = endChars.length; i < max; i++) {
padded[1][i] = 0;
}
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
index fb19f10..6c5a24c 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/DistinctGroupbyNode.java
@@ -116,9 +116,7 @@
if (groupingColumns != null) {
cloneNode.groupingColumns = new Column[groupingColumns.length];
- for (int i = 0; i < groupingColumns.length; i++) {
- cloneNode.groupingColumns[i] = groupingColumns[i];
- }
+ System.arraycopy(groupingColumns, 0, cloneNode.groupingColumns, 0, groupingColumns.length);
}
if (subGroupbyPlan != null) {
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/GroupbyNode.java b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/GroupbyNode.java
index 3966606..3019437 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/GroupbyNode.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/GroupbyNode.java
@@ -163,9 +163,7 @@
GroupbyNode grp = (GroupbyNode) super.clone();
if (groupingKeys != null) {
grp.groupingKeys = new Column[groupingKeys.length];
- for (int i = 0; i < groupingKeys.length; i++) {
- grp.groupingKeys[i] = groupingKeys[i];
- }
+ System.arraycopy(groupingKeys, 0, grp.groupingKeys, 0, groupingKeys.length);
}
if (aggrFunctions != null) {
diff --git a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/WindowAggNode.java b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/WindowAggNode.java
index 1bee34c..1e179fb 100644
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/logical/WindowAggNode.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/logical/WindowAggNode.java
@@ -154,9 +154,7 @@
WindowAggNode grp = (WindowAggNode) super.clone();
if (partitionKeys != null) {
grp.partitionKeys = new Column[partitionKeys.length];
- for (int i = 0; i < partitionKeys.length; i++) {
- grp.partitionKeys[i] = partitionKeys[i];
- }
+ System.arraycopy(partitionKeys, 0, grp.partitionKeys, 0, partitionKeys.length);
}
if (windowFuncs != null) {