You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by blrunner <gi...@git.apache.org> on 2015/10/12 16:47:54 UTC

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

GitHub user blrunner opened a pull request:

    https://github.com/apache/tajo/pull/819

    TAJO-1922: Allow date types with IN operator for partition pruning.

    The following amendments were.
    
    - Allow Date, Timestamp, Time with IN operator
    - Update java.sql.Timestamp to TimestampDatum

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/blrunner/tajo TAJO-1922

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/tajo/pull/819.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #819
    
----
commit 2125d4e7131bc74cae3c03b9232fa5c571eb02b6
Author: JaeHwa Jung <bl...@apache.org>
Date:   2015-10-12T14:42:38Z

    TAJO-1922: Allow date types with IN operator for partition pruning.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r43659788
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/EvalNodeToExprConverter.java ---
    @@ -143,34 +144,59 @@ protected EvalNode visitBinaryEval(Object o, Stack<EvalNode> stack, BinaryEval b
     
       @Override
       protected EvalNode visitConst(Object o, ConstEval evalNode, Stack<EvalNode> stack) {
    +    exprs.push(convertDatumToExpr(evalNode.getValueType().getType(), evalNode.getValue()));
    +    return super.visitConst(o, evalNode, stack);
    +  }
    +
    +  @Override
    +  protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) {
    +    Expr[] values = new Expr[evalNode.getValues().length];
    +    for (int i = 0; i < evalNode.getValues().length; i++) {
    +      Datum datum = evalNode.getValues()[i];
    +      values[i] = convertDatumToExpr(datum.type(), datum);
    +    }
    +    ValueListExpr expr = new ValueListExpr(values);
    +    exprs.push(expr);
    +
    +    return super.visitRowConstant(o, evalNode, stack);
    +  }
    +
    +  /**
    +   * Convert specified Datum to Expr
    +   *
    +   * @param type value type
    +   * @param datum target datum
    +   * @return converted datum
    +   */
    +  private Expr convertDatumToExpr(TajoDataTypes.Type type, Datum datum) {
         Expr value = null;
         DateValue dateValue;
         TimeValue timeValue;
     
    -    switch (evalNode.getValueType().getType()) {
    +    switch (type) {
           case NULL_TYPE:
             value = new NullLiteral();
             break;
           case BOOLEAN:
    -        value = new LiteralValue(evalNode.getValue().asChars(), LiteralValue.LiteralType.Boolean);
    +        value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Boolean);
    --- End diff --
    
    The cases for ``BOOLEAN, ... TEXT`` can be simplified after getting a proper LiteralValue type.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by blrunner <gi...@git.apache.org>.
Github user blrunner commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r45176513
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/EvalNodeToExprConverter.java ---
    @@ -178,65 +204,28 @@ protected EvalNode visitConst(Object o, ConstEval evalNode, Stack<EvalNode> stac
     
             break;
           case TIMESTAMP:
    -        TimestampDatum timestampDatum = (TimestampDatum) evalNode.getValue();
    +        TimestampDatum timestampDatum = (TimestampDatum) datum;
     
             dateValue = new DateValue(""+timestampDatum.getYear(),
               ""+timestampDatum.getMonthOfYear(), ""+timestampDatum.getDayOfMonth());
     
             timeValue = new TimeValue(""+timestampDatum.getHourOfDay()
    -        , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
    +          , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
     
             value = new TimestampLiteral(dateValue, timeValue);
             break;
           case TIME:
    -        TimeDatum timeDatum = (TimeDatum) evalNode.getValue();
    +        TimeDatum timeDatum = (TimeDatum) datum;
             timeValue = new TimeValue(""+timeDatum.getHourOfDay()
               , ""+timeDatum.getMinuteOfHour(), ""+timeDatum.getSecondOfMinute());
     
             value = new TimeLiteral(timeValue);
             break;
           default:
    -        throw new RuntimeException("Unsupported type: " + evalNode.getValueType().getType().name());
    -    }
    -    exprs.push(value);
    -
    -    return super.visitConst(o, evalNode, stack);
    -  }
    -
    -  @Override
    -  protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) {
    -    Expr[] values = new Expr[evalNode.getValues().length];
    -    for (int i = 0; i < evalNode.getValues().length; i++) {
    -      Datum datum = evalNode.getValues()[i];
    -      LiteralValue value;
    -      switch (datum.type()) {
    -        case BOOLEAN:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Boolean);
    -          break;
    -        case TEXT:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.String);
    -          break;
    -        case INT1:
    -        case INT2:
    -        case INT4:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Integer);
    -          break;
    -        case INT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Large_Integer);
    -          break;
    -        case FLOAT4:
    -        case FLOAT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Float);
    -          break;
    -        default:
    -          throw new RuntimeException("Unsupported type: " + datum.type().name());
    -      }
    -      values[i] = value;
    +        throw new RuntimeException("Unsupported type: " + type.name());
    --- End diff --
    
    Thanks @jihoonson . I reflected the patch with your comments. :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/tajo/pull/819


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by blrunner <gi...@git.apache.org>.
Github user blrunner commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r45172781
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/EvalNodeToExprConverter.java ---
    @@ -178,65 +204,28 @@ protected EvalNode visitConst(Object o, ConstEval evalNode, Stack<EvalNode> stac
     
             break;
           case TIMESTAMP:
    -        TimestampDatum timestampDatum = (TimestampDatum) evalNode.getValue();
    +        TimestampDatum timestampDatum = (TimestampDatum) datum;
     
             dateValue = new DateValue(""+timestampDatum.getYear(),
               ""+timestampDatum.getMonthOfYear(), ""+timestampDatum.getDayOfMonth());
     
             timeValue = new TimeValue(""+timestampDatum.getHourOfDay()
    -        , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
    +          , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
     
             value = new TimestampLiteral(dateValue, timeValue);
             break;
           case TIME:
    -        TimeDatum timeDatum = (TimeDatum) evalNode.getValue();
    +        TimeDatum timeDatum = (TimeDatum) datum;
             timeValue = new TimeValue(""+timeDatum.getHourOfDay()
               , ""+timeDatum.getMinuteOfHour(), ""+timeDatum.getSecondOfMinute());
     
             value = new TimeLiteral(timeValue);
             break;
           default:
    -        throw new RuntimeException("Unsupported type: " + evalNode.getValueType().getType().name());
    -    }
    -    exprs.push(value);
    -
    -    return super.visitConst(o, evalNode, stack);
    -  }
    -
    -  @Override
    -  protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) {
    -    Expr[] values = new Expr[evalNode.getValues().length];
    -    for (int i = 0; i < evalNode.getValues().length; i++) {
    -      Datum datum = evalNode.getValues()[i];
    -      LiteralValue value;
    -      switch (datum.type()) {
    -        case BOOLEAN:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Boolean);
    -          break;
    -        case TEXT:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.String);
    -          break;
    -        case INT1:
    -        case INT2:
    -        case INT4:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Integer);
    -          break;
    -        case INT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Large_Integer);
    -          break;
    -        case FLOAT4:
    -        case FLOAT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Float);
    -          break;
    -        default:
    -          throw new RuntimeException("Unsupported type: " + datum.type().name());
    -      }
    -      values[i] = value;
    +        throw new RuntimeException("Unsupported type: " + type.name());
    --- End diff --
    
    If we use UnsupportedException instead of RuntimeException, we should update more classes because ```EvalNodeToExprConverter``` has been implemented  by extending```SimpleEvalNodeVisitor```. How about TajoInternalError instead of UnsupportedException and RuntimeException? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by blrunner <gi...@git.apache.org>.
Github user blrunner commented on the pull request:

    https://github.com/apache/tajo/pull/819#issuecomment-159532662
  
    Separate unit test cases for IN operator to another method.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by blrunner <gi...@git.apache.org>.
Github user blrunner commented on the pull request:

    https://github.com/apache/tajo/pull/819#issuecomment-153546560
  
    Thanks @hyunsik 
    
    I reflected your comments. And currently, timestamp partition column cant't be compatible with Hive because of TAJO-1925. So, I commented unit test cases for timestamp temporarily. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r43661709
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/PartitionFilterAlgebraVisitor.java ---
    @@ -150,8 +151,7 @@ public Expr visitTimestampLiteral(Object ctx, Stack<Expr> stack, TimestampLitera
           DateTimeUtil.toUTCTimezone(tm, tz);
     
           sb.append("?").append(" )");
    -      Timestamp timestamp = new Timestamp(DateTimeUtil.julianTimeToJavaTime(DateTimeUtil.toJulianTimestamp(tm)));
    -      parameters.add(new Pair(Type.TIMESTAMP, timestamp));
    +      parameters.add(new Pair(Type.TIMESTAMP, new TimestampDatum(DateTimeUtil.toJulianTimestamp(tm))));
    --- End diff --
    
    This code seem to change the timestamp to a julian time. Could you check if it is valid? We need to make the partitioned table compatible with Apache Hive. Hive does not appear to use a julian time.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by jihoonson <gi...@git.apache.org>.
Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r45161750
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/EvalNodeToExprConverter.java ---
    @@ -178,65 +204,28 @@ protected EvalNode visitConst(Object o, ConstEval evalNode, Stack<EvalNode> stac
     
             break;
           case TIMESTAMP:
    -        TimestampDatum timestampDatum = (TimestampDatum) evalNode.getValue();
    +        TimestampDatum timestampDatum = (TimestampDatum) datum;
     
             dateValue = new DateValue(""+timestampDatum.getYear(),
               ""+timestampDatum.getMonthOfYear(), ""+timestampDatum.getDayOfMonth());
     
             timeValue = new TimeValue(""+timestampDatum.getHourOfDay()
    -        , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
    +          , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
     
             value = new TimestampLiteral(dateValue, timeValue);
             break;
           case TIME:
    -        TimeDatum timeDatum = (TimeDatum) evalNode.getValue();
    +        TimeDatum timeDatum = (TimeDatum) datum;
             timeValue = new TimeValue(""+timeDatum.getHourOfDay()
               , ""+timeDatum.getMinuteOfHour(), ""+timeDatum.getSecondOfMinute());
     
             value = new TimeLiteral(timeValue);
             break;
           default:
    -        throw new RuntimeException("Unsupported type: " + evalNode.getValueType().getType().name());
    -    }
    -    exprs.push(value);
    -
    -    return super.visitConst(o, evalNode, stack);
    -  }
    -
    -  @Override
    -  protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) {
    -    Expr[] values = new Expr[evalNode.getValues().length];
    -    for (int i = 0; i < evalNode.getValues().length; i++) {
    -      Datum datum = evalNode.getValues()[i];
    -      LiteralValue value;
    -      switch (datum.type()) {
    -        case BOOLEAN:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Boolean);
    -          break;
    -        case TEXT:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.String);
    -          break;
    -        case INT1:
    -        case INT2:
    -        case INT4:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Integer);
    -          break;
    -        case INT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Large_Integer);
    -          break;
    -        case FLOAT4:
    -        case FLOAT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Float);
    -          break;
    -        default:
    -          throw new RuntimeException("Unsupported type: " + datum.type().name());
    -      }
    -      values[i] = value;
    +        throw new RuntimeException("Unsupported type: " + type.name());
    --- End diff --
    
    It would be better to throw UnsupportedException.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on the pull request:

    https://github.com/apache/tajo/pull/819#issuecomment-153160294
  
    @blrunner I leaved some comments.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by jihoonson <gi...@git.apache.org>.
Github user jihoonson commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r45174985
  
    --- Diff: tajo-plan/src/main/java/org/apache/tajo/plan/util/EvalNodeToExprConverter.java ---
    @@ -178,65 +204,28 @@ protected EvalNode visitConst(Object o, ConstEval evalNode, Stack<EvalNode> stac
     
             break;
           case TIMESTAMP:
    -        TimestampDatum timestampDatum = (TimestampDatum) evalNode.getValue();
    +        TimestampDatum timestampDatum = (TimestampDatum) datum;
     
             dateValue = new DateValue(""+timestampDatum.getYear(),
               ""+timestampDatum.getMonthOfYear(), ""+timestampDatum.getDayOfMonth());
     
             timeValue = new TimeValue(""+timestampDatum.getHourOfDay()
    -        , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
    +          , ""+timestampDatum.getMinuteOfHour(), ""+timestampDatum.getSecondOfMinute());
     
             value = new TimestampLiteral(dateValue, timeValue);
             break;
           case TIME:
    -        TimeDatum timeDatum = (TimeDatum) evalNode.getValue();
    +        TimeDatum timeDatum = (TimeDatum) datum;
             timeValue = new TimeValue(""+timeDatum.getHourOfDay()
               , ""+timeDatum.getMinuteOfHour(), ""+timeDatum.getSecondOfMinute());
     
             value = new TimeLiteral(timeValue);
             break;
           default:
    -        throw new RuntimeException("Unsupported type: " + evalNode.getValueType().getType().name());
    -    }
    -    exprs.push(value);
    -
    -    return super.visitConst(o, evalNode, stack);
    -  }
    -
    -  @Override
    -  protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) {
    -    Expr[] values = new Expr[evalNode.getValues().length];
    -    for (int i = 0; i < evalNode.getValues().length; i++) {
    -      Datum datum = evalNode.getValues()[i];
    -      LiteralValue value;
    -      switch (datum.type()) {
    -        case BOOLEAN:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Boolean);
    -          break;
    -        case TEXT:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.String);
    -          break;
    -        case INT1:
    -        case INT2:
    -        case INT4:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Integer);
    -          break;
    -        case INT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Large_Integer);
    -          break;
    -        case FLOAT4:
    -        case FLOAT8:
    -          value = new LiteralValue(datum.asChars(), LiteralValue.LiteralType.Unsigned_Float);
    -          break;
    -        default:
    -          throw new RuntimeException("Unsupported type: " + datum.type().name());
    -      }
    -      values[i] = value;
    +        throw new RuntimeException("Unsupported type: " + type.name());
    --- End diff --
    
    TajoInternalError means an unrecoverable error is occured and at least the current running query must be stopped. It won't be what we intend here.
    Instead, you can simply wrap UnsupportedException with RuntimeException. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by jihoonson <gi...@git.apache.org>.
Github user jihoonson commented on the pull request:

    https://github.com/apache/tajo/pull/819#issuecomment-159784658
  
    The latest patch looks good to me. I'll finish my review after the CI test.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r43659239
  
    --- Diff: tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java ---
    @@ -1542,6 +1542,19 @@ public final void testDatePartitionColumn() throws Exception {
         assertEquals(expectedResult, resultSetToString(res));
         res.close();
     
    +    // IN
    +    res = executeString("SELECT * FROM " + tableName
    +      + " WHERE key IN ( to_date('1994-02-02', 'YYYY-MM-DD'), to_date('1993-11-09', 'YYYY-MM-DD')) order by col1, " +
    --- End diff --
    
    SQL standard representation for date would be simpler; e.g., ``DATE '1994-02-02'``.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r43659410
  
    --- Diff: tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java ---
    @@ -1689,6 +1715,18 @@ public final void testTimePartitionColumn() throws Exception {
         assertEquals(expectedResult, resultSetToString(res));
         res.close();
     
    +    // IN
    +    res = executeString("SELECT * FROM " + tableName
    +      + " WHERE key IN (cast('11:20:40' as time), cast('12:10:20' as time)) order by col1, col2, key desc");
    --- End diff --
    
    SQL standard form like ``TIME '11:20:40'`` would be proper here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by hyunsik <gi...@git.apache.org>.
Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/819#discussion_r43659335
  
    --- Diff: tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java ---
    @@ -1611,6 +1624,19 @@ public final void testTimestampPartitionColumn() throws Exception {
         assertEquals(expectedResult, resultSetToString(res));
         res.close();
     
    +    // IN
    +    res = executeString("SELECT * FROM " + tableName
    +      + " WHERE key IN (to_timestamp('1994-02-02', 'YYYY-MM-DD'), to_timestamp('1993-11-09', 'YYYY-MM-DD')) " +
    --- End diff --
    
    TIMESTAMP '1992-02-02 00:00:00' would be proper here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] tajo pull request: TAJO-1922: Allow date types with IN operator fo...

Posted by jihoonson <gi...@git.apache.org>.
Github user jihoonson commented on the pull request:

    https://github.com/apache/tajo/pull/819#issuecomment-159800629
  
    +1 ship it. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---