Package plan_runner.thetajoin.indexes

Examples of plan_runner.thetajoin.indexes.Index


    // is separated by AND

    for (int i = 0; i < oppositeIndexes.size(); i++) {
      TIntArrayList currentRowIds = null;

      final Index currentOpposIndex = oppositeIndexes.get(i);
      final String value = valuesToApplyOnIndex.get(i);

      int currentOperator = _operatorForIndexes.get(i);
      // Switch inequality operator if the tuple coming is from the other
      // relation
      if (isFromFirstEmitter) {
        final int operator = currentOperator;

        if (operator == ComparisonPredicate.GREATER_OP)
          currentOperator = ComparisonPredicate.LESS_OP;
        else if (operator == ComparisonPredicate.NONGREATER_OP)
          currentOperator = ComparisonPredicate.NONLESS_OP;
        else if (operator == ComparisonPredicate.LESS_OP)
          currentOperator = ComparisonPredicate.GREATER_OP;
        else if (operator == ComparisonPredicate.NONLESS_OP)
          currentOperator = ComparisonPredicate.NONGREATER_OP;
        else
          currentOperator = operator;
      }

      // Get the values from the index (check type first)
      if (_typeOfValueIndexed.get(i) instanceof String)
        currentRowIds = currentOpposIndex.getValues(currentOperator, value);
      // Even if valueIndexed is at first time an integer with
      // precomputation a*col +b, it become a double
      else if (_typeOfValueIndexed.get(i) instanceof Double)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Double.parseDouble(value));
      else if (_typeOfValueIndexed.get(i) instanceof Integer)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Integer.parseInt(value));
      else if (_typeOfValueIndexed.get(i) instanceof Date)
        try {
          currentRowIds = currentOpposIndex.getValues(currentOperator,
              _convDateFormat.parse(value));
        } catch (final ParseException e) {
          e.printStackTrace();
        }
      else
View Full Code Here


    // is separated by AND

    for (int i = 0; i < oppositeIndexes.size(); i++) {
      TIntArrayList currentRowIds = null;

      final Index currentOpposIndex = oppositeIndexes.get(i);
      final String value = valuesToApplyOnIndex.get(i);

      int currentOperator = _operatorForIndexes.get(i);
      // Switch inequality operator if the tuple coming is from the other
      // relation
      if (isFromFirstEmitter) {
        final int operator = currentOperator;

        if (operator == ComparisonPredicate.GREATER_OP)
          currentOperator = ComparisonPredicate.LESS_OP;
        else if (operator == ComparisonPredicate.NONGREATER_OP)
          currentOperator = ComparisonPredicate.NONLESS_OP;
        else if (operator == ComparisonPredicate.LESS_OP)
          currentOperator = ComparisonPredicate.GREATER_OP;
        else if (operator == ComparisonPredicate.NONLESS_OP)
          currentOperator = ComparisonPredicate.NONGREATER_OP;
        else
          currentOperator = operator;
      }

      // Get the values from the index (check type first)
      if (_typeOfValueIndexed.get(i) instanceof String)
        currentRowIds = currentOpposIndex.getValues(currentOperator, value);
      // Even if valueIndexed is at first time an integer with
      // precomputation a*col +b, it become a double
      else if (_typeOfValueIndexed.get(i) instanceof Double)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Double.parseDouble(value));
      else if (_typeOfValueIndexed.get(i) instanceof Integer)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Integer.parseInt(value));
      else if (_typeOfValueIndexed.get(i) instanceof Date)
        try {
          currentRowIds = currentOpposIndex.getValues(currentOperator,
              _format.parse(value));
        } catch (final ParseException e) {
          e.printStackTrace();
        }
      else
View Full Code Here

    // Then take the intersection of the returned row indices since each
    // join condition
    // is separated by AND
    for (int i = 0; i < oppositeIndexes.size(); i++) {
      TIntArrayList currentRowIds = null;
      final Index currentOpposIndex = oppositeIndexes.get(i);
      final String value = valuesToApplyOnIndex.get(i);
      int currentOperator = _operatorForIndexes.get(i);
      // Switch inequality operator if the tuple coming is from the other
      // relation
      if (isFromFirstEmitter) {
        final int operator = currentOperator;
        if (operator == ComparisonPredicate.GREATER_OP)
          currentOperator = ComparisonPredicate.LESS_OP;
        else if (operator == ComparisonPredicate.NONGREATER_OP)
          currentOperator = ComparisonPredicate.NONLESS_OP;
        else if (operator == ComparisonPredicate.LESS_OP)
          currentOperator = ComparisonPredicate.GREATER_OP;
        else if (operator == ComparisonPredicate.NONLESS_OP)
          currentOperator = ComparisonPredicate.NONGREATER_OP;
        // then it is an equal or not equal so we dont switch the operator
        else
          currentOperator = operator;
      }
      // Get the values from the index (check type first)
      if (_typeOfValueIndexed.get(i) instanceof String)
        currentRowIds = currentOpposIndex.getValues(currentOperator, value);
      // Even if valueIndexed is at first time an integer with
      // precomputation a*col +b, it become a double
      else if (_typeOfValueIndexed.get(i) instanceof Double)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Double.parseDouble(value));
      else if (_typeOfValueIndexed.get(i) instanceof Integer)
        currentRowIds = currentOpposIndex.getValues(currentOperator,
            Integer.parseInt(value));
      else if (_typeOfValueIndexed.get(i) instanceof Date)
        try {
          currentRowIds = currentOpposIndex.getValues(currentOperator,
              _format.parse(value));
        } catch (final ParseException e) {
          e.printStackTrace();
        }
      else
View Full Code Here

TOP

Related Classes of plan_runner.thetajoin.indexes.Index

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.