private HqlSqlWalker getWalker() { return sqlAst.getWalker(); }
@Override public boolean isManipulationStatement() { return sqlAst.needsExecutor(); } @Override
@Override public boolean isUpdateStatement() { return SqlTokenTypes.UPDATE == sqlAst.getStatementType(); } @Override
@Override public List<String> getPrimaryFromClauseTables() { return (List<String>) sqlAst.getWalker() .getFinalFromClause() .getFromElements() .stream() .map( elem -> ((FromElement) elem).getTableName() ). collect( Collectors.toList() ); }
private void errorIfDML() throws HibernateException { if ( sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for DML operations", hql ); } }
private HqlSqlWalker getWalker() { return sqlAst.getWalker(); }
private void errorIfSelect() throws HibernateException { if ( !sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for select queries", hql ); } } @Override
private HqlSqlWalker getWalker() { return sqlAst.getWalker(); }
if ( sqlAst.needsExecutor() ) { statementExecutor = buildAppropriateStatementExecutor( w );
/** * Creates an array of statements that generates code for the array of named parameters in the query. */ private Statement[] generateQueryParamArray() { if (logger.isDebugEnabled()) { logger.debug("Named parameters: " + query.getParameterTranslations().getNamedParameterInformationMap().keySet()); } @SuppressWarnings("unchecked") List<ParameterSpecification> parameterSpecifications = query.getSqlAST().getWalker().getParameterSpecs(); Statement generatedParamList[] = new Statement[parameterSpecifications.size()]; for (int i = 0; i < parameterSpecifications.size(); i++) { NamedParameterSpecification ps = (NamedParameterSpecification) parameterSpecifications.get(i); // invoking ErraiParameter(String name, Integer position, Class<T> type) Class<?> paramType; if (ps.getExpectedType() != null) { paramType = ps.getExpectedType().getReturnedClass(); } else { paramType = Object.class; } generatedParamList[i] = Stmt.newObject(ErraiParameter.class).withParameters( ps.getName(), Integer.valueOf(i), paramType); } return generatedParamList; }
public boolean isManipulationStatement() { return sqlAst.needsExecutor(); }
public boolean isManipulationStatement() { return sqlAst.needsExecutor(); }
/** * Adds the public override method {@code matches(JSONObject candidate)} to * the given class builder. The matching logic is, of course, generated based * on the JPA query this generator was created with. * * @param classBuilder * The class builder to append the generated matcher method to. */ private void appendMatchesMethod(AnonymousClassStructureBuilder classBuilder) { AstInorderTraversal traverser = new AstInorderTraversal(query.getSqlAST().getWalker().getAST()); AST whereClause = traverser.fastForwardTo(HqlSqlTokenTypes.WHERE); BlockBuilder<?> matchesMethod = classBuilder .publicOverridesMethod("matches", Parameter.of(JSONObject.class, "candidate")); Statement matchesStmt; if (whereClause != null) { matchesStmt = generateExpression(traverser, new JsonDotNodeResolver(), matchesMethod); } else { matchesStmt = Stmt.loadLiteral(true); } matchesMethod.append(Stmt.nestedCall(matchesStmt).returnValue()); matchesMethod.finish(); }
private void errorIfDML() throws HibernateException { if ( sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for DML operations", hql ); } }
AstInorderTraversal traverser = new AstInorderTraversal(query.getSqlAST().getWalker().getAST()); final AST orderByParentNode = traverser.fastForwardTo(HqlSqlTokenTypes.ORDER);
private void errorIfDML() throws HibernateException { if ( sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for DML operations", hql ); } }
private void errorIfSelect() throws HibernateException { if ( !sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for select queries", hql ); } }
private void errorIfSelect() throws HibernateException { if ( !sqlAst.needsExecutor() ) { throw new QueryExecutionRequestException( "Not supported for select queries", hql ); } }
if ( sqlAst.needsExecutor() ) { statementExecutor = buildAppropriateStatementExecutor( w );