Package io.inversion.jdbc
Class SqlQuery<D extends io.inversion.Db>
java.lang.Object
io.inversion.rql.Builder<T,T>
io.inversion.rql.Query<SqlQuery,D,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,SqlQuery>,SqlQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,SqlQuery>,SqlQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,SqlQuery>,SqlQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,SqlQuery>,SqlQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,SqlQuery>,SqlQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,SqlQuery>,SqlQuery>>
io.inversion.jdbc.SqlQuery<D>
public class SqlQuery<D extends io.inversion.Db>
extends io.inversion.rql.Query<SqlQuery,D,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,SqlQuery>,SqlQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,SqlQuery>,SqlQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,SqlQuery>,SqlQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,SqlQuery>,SqlQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,SqlQuery>,SqlQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,SqlQuery>,SqlQuery>>
Composes and executes a SQL SELECT based on supplied RQL
Terms.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from class io.inversion.rql.Query
collection, db, dryRun, from, group, order, page, select, values, whereFields inherited from class io.inversion.rql.Builder
builders, functions, parent, terms -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected Stringprotected StringasString(io.inversion.rql.Term term)protected Stringprotected StringasVariableName(int valuesPairIdx)protected Stringio.inversion.ResultsdoSelect()protected List<io.inversion.rql.Order.Sort>getDefaultSorts(SqlQuery.Parts parts)getType()protected booleanisBool(io.inversion.rql.Term term)protected booleanisCol(io.inversion.rql.Term term)protected booleanisNum(io.inversion.rql.Term term)protected StringprintExpression(io.inversion.rql.Term term, List<String> dynamicSqlChildText, List<String> preparedStmtChildText)Override to handle printing additional functions or to change the way a specific function is printed.protected StringprintGroupClause(SqlQuery.Parts parts, List<String> groupBy)protected StringprintInitialSelect(SqlQuery.Parts parts)protected StringprintJoins(SqlQuery.Parts parts, LinkedHashMap<String,io.inversion.rql.Term> joins)protected StringprintLimitClause(SqlQuery.Parts parts, int offset, int limit)protected StringprintOrderClause(SqlQuery.Parts parts, List<io.inversion.rql.Order.Sort> sorts)protected StringprintSql(SqlQuery.Parts parts)protected Stringprotected StringprintTermsSelect(SqlQuery.Parts parts, boolean preparedStmt)protected StringprintWhereClause(SqlQuery.Parts parts, List<io.inversion.rql.Term> terms, boolean preparedStmt)protected intqueryFoundRows(Connection conn, String sql, List values)protected Stringreplace(io.inversion.rql.Term parent, io.inversion.rql.Term leaf, int index, String col, String val)protected StringtoSql(boolean preparedStmt)voidwithColumnQuote(char columnQuote)voidwithStringQuote(char stringQuote)Methods inherited from class io.inversion.rql.Query
clearValues, createFrom, createGroup, createOrder, createPage, createSelect, createWhere, getBuilders, getCollection, getColValue, getColValueKeys, getColValues, getDb, getFrom, getGroup, getNumValues, getOrder, getPage, getSelect, getValues, getWhere, isDryRun, withCollection, withColValue, withDryRun, withTermMethods inherited from class io.inversion.rql.Builder
clearFunctions, find, find, findAll, findInt, findTerm, getParent, getRoot, getTerms, isFunction, parse, r, removeBuilder, toString, toString, withBuilder, withFunctions, withFunctions, withParent, withTerm, withTerm, withTerms
-
Field Details
-
stringQuote
protected char stringQuote -
columnQuote
protected char columnQuote
-
-
Constructor Details
-
SqlQuery
-
-
Method Details
-
addTerm
-
doSelect
public io.inversion.Results doSelect() throws io.inversion.ApiException- Overrides:
doSelectin classio.inversion.rql.Query<SqlQuery,D extends io.inversion.Db,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,SqlQuery>,SqlQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,SqlQuery>,SqlQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,SqlQuery>,SqlQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,SqlQuery>,SqlQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,SqlQuery>,SqlQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,SqlQuery>,SqlQuery>>- Throws:
io.inversion.ApiException
-
getPreparedStmt
-
getDynamicStmt
-
toSql
-
printSql
-
printInitialSelect
-
printTermsSelect
-
printJoins
protected String printJoins(SqlQuery.Parts parts, LinkedHashMap<String,io.inversion.rql.Term> joins) -
printWhereClause
protected String printWhereClause(SqlQuery.Parts parts, List<io.inversion.rql.Term> terms, boolean preparedStmt) -
printGroupClause
-
printOrderClause
-
getDefaultSorts
-
printLimitClause
-
queryFoundRows
- Throws:
Exception
-
printTerm
-
printExpression
protected String printExpression(io.inversion.rql.Term term, List<String> dynamicSqlChildText, List<String> preparedStmtChildText)Override to handle printing additional functions or to change the way a specific function is printed.- Parameters:
term- the term to printdynamicSqlChildText- child tokens printed as dynamic sqlpreparedStmtChildText- child tokens printed as prepared statements- Returns:
- the sql statement for term
-
replace
-
concatAll
-
isCol
protected boolean isCol(io.inversion.rql.Term term) -
quoteCol
-
printTableAlias
-
printCol
-
asVariableName
-
asString
-
asString
-
asNum
-
isNum
protected boolean isNum(io.inversion.rql.Term term) -
isBool
protected boolean isBool(io.inversion.rql.Term term) -
asBool
-
withDb
- Overrides:
withDbin classio.inversion.rql.Query<SqlQuery,D extends io.inversion.Db,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,SqlQuery>,SqlQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,SqlQuery>,SqlQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,SqlQuery>,SqlQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,SqlQuery>,SqlQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,SqlQuery>,SqlQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,SqlQuery>,SqlQuery>>
-
withType
-
getType
-
withStringQuote
public void withStringQuote(char stringQuote) -
withColumnQuote
public void withColumnQuote(char columnQuote)
-