Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed 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 com.facebook.presto.type;
 
 
 import static com.facebook.presto.metadata.OperatorType.BETWEEN;
 import static com.facebook.presto.metadata.OperatorType.CAST;
 import static com.facebook.presto.metadata.OperatorType.EQUAL;
 import static com.facebook.presto.metadata.OperatorType.GREATER_THAN;
 import static com.facebook.presto.metadata.OperatorType.GREATER_THAN_OR_EQUAL;
 import static com.facebook.presto.metadata.OperatorType.HASH_CODE;
 import static com.facebook.presto.metadata.OperatorType.LESS_THAN;
 import static com.facebook.presto.metadata.OperatorType.LESS_THAN_OR_EQUAL;
 import static com.facebook.presto.metadata.OperatorType.NOT_EQUAL;
 import static java.nio.charset.StandardCharsets.US_ASCII;
 
 public final class BooleanOperators
 {
     private static final Slice TRUE = Slices.copiedBuffer("true");
     private static final Slice FALSE = Slices.copiedBuffer("false");
 
     private BooleanOperators()
     {
     }
 
     public static boolean equal(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return left == right;
     }
 
     public static boolean notEqual(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return left != right;
     }
 
     public static boolean lessThan(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return !left && right;
     }
 
     public static boolean lessThanOrEqual(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return !left || right;
     }
 
     public static boolean greaterThan(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return left && !right;
     }
 
     public static boolean greaterThanOrEqual(@SqlType(.boolean left, @SqlType(.boolean right)
     {
         return left || !right;
     }
 
     public static boolean between(@SqlType(.boolean value, @SqlType(.boolean min, @SqlType(.boolean max)
     {
         return (value && max) || (!value && !min);
     }
 
     public static double castToDouble(@SqlType(.boolean value)
     {
         return value ? 1 : 0;
     }
 
    public static long castToBigint(@SqlType(.boolean value)
    {
        return value ? 1 : 0;
    }
    public static Slice castToVarchar(@SqlType(.boolean value)
    {
        return value ?  : ;
    }
    public static long hashCode(@SqlType(.boolean value)
    {
        return value ? 1231 : 1237;
    }
    @ScalarFunction(hidden = true// TODO: this should not be callable from SQL
    public static boolean not(@SqlType(.boolean value)
    {
        return !value;
    }
New to GrepCode? Check out our FAQ X