[
https://issues.apache.org/jira/browse/TAJO-774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14054790#comment-14054790
]
ASF GitHub Bot commented on TAJO-774:
-------------------------------------
Github user blrunner commented on a diff in the pull request:
https://github.com/apache/tajo/pull/13#discussion_r14645304
--- Diff:
tajo-core/src/main/java/org/apache/tajo/engine/planner/logical/WindowSpec.java
---
@@ -0,0 +1,154 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tajo.engine.planner.logical;
+
+
+import com.google.gson.annotations.Expose;
+import org.apache.tajo.catalog.Column;
+import org.apache.tajo.engine.eval.EvalNode;
+import org.apache.tajo.util.TUtil;
+
+import static org.apache.tajo.algebra.WindowSpec.WindowFrameEndBoundType;
+import static org.apache.tajo.algebra.WindowSpec.WindowFrameStartBoundType;
+
+public class WindowSpec {
+ @Expose private String windowName;
+
+ @Expose private Column[] partitionKeys;
+
+ @Expose private WindowFrame windowFrame;
+
+ public String getWindowName() {
+ return windowName;
+ }
+
+ public boolean hasPartitionKeys() {
+ return partitionKeys != null;
+ }
+
+ public Column [] getPartitionKeys() {
+ return partitionKeys;
+ }
+
+ public boolean hasWindowFrame() {
+ return windowFrame != null;
+ }
+
+ public WindowFrame getWindowFrame() {
+ return windowFrame;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof WindowSpec) {
+ WindowSpec another = (WindowSpec) obj;
+ return TUtil.checkEquals(partitionKeys, another.partitionKeys) &&
+
+ TUtil.checkEquals(windowFrame, another.windowFrame);
+ } else {
+ return false;
+ }
+ }
+
--- End diff --
How about override hashCode()? This class overrides equals(Object), but
does not override hashCode().
> Implement logical plan part and physical executor for window function.
> ----------------------------------------------------------------------
>
> Key: TAJO-774
> URL: https://issues.apache.org/jira/browse/TAJO-774
> Project: Tajo
> Issue Type: Sub-task
> Components: planner/optimizer
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.9.0
>
>
> See the title. The main objective of this issue is to implement the logical
> planning part for window function support.
--
This message was sent by Atlassian JIRA
(v6.2#6252)