Examples of QueryContext


Examples of org.apache.openjpa.kernel.QueryContext

        final Object[] params, final Range range) {
      List<Future<ResultObjectProvider>> futures = new ArrayList<Future<ResultObjectProvider>>();
            final List<Executor> usedExecutors = new ArrayList<Executor>();
      final List<ResultObjectProvider> rops = new ArrayList<ResultObjectProvider>();
      List<SliceStoreManager> targets = findTargets();
      QueryContext ctx = q.getContext();
      boolean isReplicated = containsReplicated(ctx);
            ExecutorService threadPool = SliceThread.getPool();
          
      for (int i = 0; i < owner._queries.size(); i++) {
                // if replicated, then execute only on single slice
        if (isReplicated && !usedExecutors.isEmpty()) {
          break;
        }
                StoreManager sm = owner.getDistributedStore().getSlice(i);
        if (!targets.contains(sm))
          continue;
                QueryExecutor call = new QueryExecutor();
                call.executor = executors.get(i);
                call.query = owner._queries.get(i);
                call.params = params;
                call.range = range;
        usedExecutors.add(call.executor);
                futures.add(threadPool.submit(call));
      }
      for (Future<ResultObjectProvider> future : futures) {
        try {
          rops.add(future.get());
        } catch (InterruptedException e) {
          throw new RuntimeException(e);
        } catch (ExecutionException e) {
          throw new StoreException(e.getCause());
        }
      }
     
      ResultObjectProvider[] tmp = rops.toArray(new ResultObjectProvider[rops.size()]);
      ResultObjectProvider result = null;
      boolean[] ascending = getAscending(q);
      boolean isAscending = ascending.length > 0;
      boolean isAggregate = ctx.isAggregate();
      boolean hasRange = ctx.getEndRange() != Long.MAX_VALUE;
      if (isAggregate) {
        result = new UniqueResultObjectProvider(tmp, q,  getQueryExpressions());
      } else if (isAscending) {
                result = new OrderingMergedResultObjectProvider(tmp, ascending,
                    usedExecutors.toArray(new Executor[usedExecutors.size()]),
          q, params);
      } else {
        result = new MergedResultObjectProvider(tmp);
      }
      if (hasRange) {
                result = new RangeResultObjectProvider(result, ctx.getStartRange(), ctx.getEndRange());
      }
      return result;
    }
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

        private final boolean _select;
        private final boolean _call;   // native call stored procedure
        private final QueryResultMapping _resultMapping;

        public SQLExecutor(SQLStoreQuery q, ClassMetaData candidate) {
            QueryContext ctx = q.getContext();
            String resultMapping = ctx.getResultMappingName();
            if (resultMapping == null)
                _resultMapping = null;
            else {
                ClassLoader envLoader = ctx.getStoreContext().getClassLoader();
                MappingRepository repos = q.getStore().getConfiguration().
                    getMappingRepositoryInstance();
                _resultMapping = repos.getQueryResultMapping
                    (ctx.getResultMappingScope(), resultMapping, envLoader,
                        true);
            }
            _meta = candidate;

            String sql = StringUtils.trimToNull(ctx.getQueryString());
            if (sql == null)
                throw new UserException(_loc.get("no-sql"));
            _select = q.getStore().getDBDictionary().isSelect(sql);
            _call = sql.length() > 4
                && sql.substring(0, 4).equalsIgnoreCase("call");
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

                    new Object[]{ e.toString(), jpql }));
            }
        }

        void populate(ExpressionStoreQuery query) {
            QueryContext ctx = query.getContext();

            // if the owning query's context does not have
            // any candidate class, then set it here
            if (ctx.getCandidateType() == null) {
                if (_candidateType == null)
                    _candidateType = new JPQLExpressionBuilder
                        (null, query, this).getCandidateType();
                ctx.setCandidateType(_candidateType, true);
            }
        }
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

                    new Object[]{ e.toString(), jpql }));
            }
        }

        void populate(ExpressionStoreQuery query) {
            QueryContext ctx = query.getContext();

            // if the owning query's context does not have
            // any candidate class, then set it here
            if (ctx.getCandidateType() == null) {
                if (_candidateType == null)
                    _candidateType = new JPQLExpressionBuilder
                        (null, query, this).getCandidateType();
                ctx.setCandidateType(_candidateType, true);
            }
        }
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

        private final boolean _select;
        private final boolean _call;   // native call stored procedure
        private final QueryResultMapping _resultMapping;

        public SQLExecutor(SQLStoreQuery q, ClassMetaData candidate) {
            QueryContext ctx = q.getContext();
            String resultMapping = ctx.getResultMappingName();
            if (resultMapping == null)
                _resultMapping = null;
            else {
                ClassLoader envLoader = ctx.getStoreContext().getClassLoader();
                MappingRepository repos = q.getStore().getConfiguration().
                    getMappingRepositoryInstance();
                _resultMapping = repos.getQueryResultMapping
                    (ctx.getResultMappingScope(), resultMapping, envLoader,
                        true);
            }
            _meta = candidate;

            String sql = StringUtils.trimToNull(ctx.getQueryString());
            if (sql == null)
                throw new UserException(_loc.get("no-sql"));
            _select = q.getStore().getDBDictionary().isSelect(sql);
            _call = sql.length() > 4
                && sql.substring(0, 4).equalsIgnoreCase("call");
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

        new ArrayList<Future<ResultObjectProvider>>();
            final List<Executor> usedExecutors = new ArrayList<Executor>();
      final List<ResultObjectProvider> rops =
        new ArrayList<ResultObjectProvider>();
      List<SliceStoreManager> targets = findTargets();
      QueryContext ctx = q.getContext();
      boolean isReplicated = containsReplicated(ctx);
            ExecutorService threadPool = SliceThread.getPool();
      for (int i = 0; i < owner._queries.size(); i++) {
                // if replicated, then execute only on single slice
        if (isReplicated && !usedExecutors.isEmpty()) {
          break;
        }
                StoreManager sm = owner.getDistributedStore().getSlice(i);
        if (!targets.contains(sm))
          continue;
        StoreQuery query = owner._queries.get(i);
        Executor executor = executors.get(i);
        if (!targets.contains(sm))
          continue;
        usedExecutors.add(executor);
                QueryExecutor call = new QueryExecutor();
                call.executor = executor;
                call.query = query;
                call.params = params;
                call.range = range;
                futures.add(threadPool.submit(call));
      }
      for (Future<ResultObjectProvider> future : futures) {
        try {
          rops.add(future.get());
        } catch (InterruptedException e) {
          throw new RuntimeException(e);
        } catch (ExecutionException e) {
          throw new StoreException(e.getCause());
        }
      }
     
      ResultObjectProvider[] tmp = rops
                    .toArray(new ResultObjectProvider[rops.size()]);
      ResultObjectProvider result = null;
      boolean[] ascending = getAscending(q);
      boolean isAscending = ascending.length > 0;
      boolean isAggregate = ctx.isAggregate();
      boolean hasRange = ctx.getEndRange() != Long.MAX_VALUE;
      if (isAggregate) {
        result = new UniqueResultObjectProvider(tmp, q,
            getQueryExpressions());
      } else if (isAscending) {
                result = new OrderingMergedResultObjectProvider(tmp, ascending,
                    usedExecutors.toArray(new Executor[usedExecutors.size()]),
          q, params);
      } else {
        result = new MergedResultObjectProvider(tmp);
      }
      if (hasRange) {
                result = new RangeResultObjectProvider(result,
                        ctx.getStartRange(), ctx.getEndRange());
      }
      return result;
    }
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

                    new Object[]{ e.toString(), jpql }));
            }
        }

        void populate(ExpressionStoreQuery query) {
            QueryContext ctx = query.getContext();

            // if the owning query's context does not have
            // any candidate class, then set it here
            if (ctx.getCandidateType() == null) {
                if (_candidateType == null)
                    _candidateType = new JPQLExpressionBuilder
                        (null, query, this).getCandidateType();
                ctx.setCandidateType(_candidateType, true);
            }
        }
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

        private final boolean _select;
        private final boolean _call;   // native call stored procedure
        private final QueryResultMapping _resultMapping;

        public SQLExecutor(SQLStoreQuery q, ClassMetaData candidate) {
            QueryContext ctx = q.getContext();
            String resultMapping = ctx.getResultMappingName();
            if (resultMapping == null)
                _resultMapping = null;
            else {
                ClassLoader envLoader = ctx.getStoreContext().getClassLoader();
                MappingRepository repos = q.getStore().getConfiguration().
                    getMappingRepositoryInstance();
                _resultMapping = repos.getQueryResultMapping
                    (ctx.getResultMappingScope(), resultMapping, envLoader,
                        true);
            }
            _meta = candidate;

            String sql = StringUtils.trimToNull(ctx.getQueryString());
            if (sql == null)
                throw new UserException(_loc.get("no-sql"));
            _select = q.getStore().getDBDictionary().isSelect(sql);
            _call = sql.length() > 4
                && sql.substring(0, 4).equalsIgnoreCase("call");
View Full Code Here

Examples of org.apache.openjpa.kernel.QueryContext

                    new Object[]{ e.toString(), jpql }));
            }
        }

        void populate(ExpressionStoreQuery query) {
            QueryContext ctx = query.getContext();

            // if the owning query's context does not have
            // any candidate class, then set it here
            if (ctx.getCandidateType() == null) {
                if (_candidateType == null)
                    _candidateType = new JPQLExpressionBuilder
                        (null, query, this).getCandidateType();
                ctx.setCandidateType(_candidateType, true);
            }
        }
View Full Code Here

Examples of org.apache.tajo.engine.query.QueryContext

  public GetQueryStatusResponse executeQuery(String sql)
      throws InterruptedException, IOException, IllegalQueryStatusException {

    LOG.info("SQL: " + sql);
    QueryContext queryContext = new QueryContext();

    try {
      // setting environment variables
      String [] cmds = sql.split(" ");
      if(cmds != null) {
          if(cmds[0].equalsIgnoreCase("set")) {
              String[] params = cmds[1].split("=");
              context.getConf().set(params[0], params[1]);
              GetQueryStatusResponse.Builder responseBuilder = GetQueryStatusResponse.newBuilder();
              responseBuilder.setQueryId(QueryIdFactory.NULL_QUERY_ID.getProto());
              responseBuilder.setResultCode(ClientProtos.ResultCode.OK);
              responseBuilder.setState(TajoProtos.QueryState.QUERY_SUCCEEDED);
              return responseBuilder.build();
          }
      }

      final boolean hiveQueryMode = context.getConf().getBoolVar(TajoConf.ConfVars.HIVE_QUERY_MODE);
      LOG.info("hive.query.mode:" + hiveQueryMode);

      if (hiveQueryMode) {
        queryContext.setHiveQueryMode();
      }

      Expr planningContext = hiveQueryMode ? converter.parse(sql) : analyzer.parse(sql);
     
      LogicalPlan plan = createLogicalPlan(planningContext);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.