public class CosmosSqlQuery extends io.inversion.jdbc.SqlQuery<CosmosDb>
| Constructor and Description |
|---|
CosmosSqlQuery(CosmosDb db,
io.inversion.Collection table,
java.util.List<io.inversion.rql.Term> terms) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
asString(io.inversion.rql.Term term)
Overridden to exclude rdbms style '%' wildcards that are not needed for cosmos sw and ew queries.
|
protected java.lang.String |
asVariableName(int valuesPairIdx)
Cosmos does not use "?" ansi sql style prepared statement vars, it uses
named variables prefixed with '@'.
|
protected io.inversion.rql.Where |
createWhere() |
io.inversion.Results |
doSelect() |
protected java.util.List<io.inversion.rql.Order.Sort> |
getDefaultSorts(io.inversion.jdbc.SqlQuery.Parts parts)
The inversion configured primary index should contain at least
the document identifier and the partition key.
|
protected java.lang.String |
printExpression(io.inversion.rql.Term term,
java.util.List<java.lang.String> dynamicSqlChildText,
java.util.List<java.lang.String> preparedStmtChildText) |
protected java.lang.String |
printLimitClause(io.inversion.jdbc.SqlQuery.Parts parts,
int offset,
int limit)
Both offset and limit are required per cosmos spec.
|
protected java.lang.String |
toSql(boolean preparedStmt)
Makes a few blanked tweaks to the sql created by the
SqlQuery superclass to make it Cosmos compliant
|
addTerm, asBool, asNum, asString, concatAll, getDynamicStmt, getPreparedStmt, getType, isBool, isCol, isNum, printCol, printGroupClause, printInitialSelect, printJoins, printOrderClause, printSql, printTableAlias, printTerm, printTermsSelect, printWhereClause, queryFoundRows, quoteCol, replace, withColumnQuote, withDb, withStringQuote, withTypeclearValues, createFrom, createGroup, createOrder, createPage, createSelect, getBuilders, getCollection, getColValue, getColValueKeys, getColValues, getDb, getFrom, getGroup, getNumValues, getOrder, getPage, getSelect, getValues, getWhere, isDryRun, withCollection, withColValue, withDryRun, withTermpublic CosmosSqlQuery(CosmosDb db, io.inversion.Collection table, java.util.List<io.inversion.rql.Term> terms)
protected io.inversion.rql.Where createWhere()
createWhere in class io.inversion.rql.Query<io.inversion.jdbc.SqlQuery,CosmosDb,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,io.inversion.jdbc.SqlQuery>,io.inversion.jdbc.SqlQuery>>public io.inversion.Results doSelect()
throws io.inversion.ApiException
doSelect in class io.inversion.jdbc.SqlQuery<CosmosDb>io.inversion.ApiExceptionprotected java.lang.String toSql(boolean preparedStmt)
Replaces:
toSql in class io.inversion.jdbc.SqlQuery<CosmosDb>protected java.util.List<io.inversion.rql.Order.Sort> getDefaultSorts(io.inversion.jdbc.SqlQuery.Parts parts)
getDefaultSorts in class io.inversion.jdbc.SqlQuery<CosmosDb>protected java.lang.String printLimitClause(io.inversion.jdbc.SqlQuery.Parts parts,
int offset,
int limit)
printLimitClause in class io.inversion.jdbc.SqlQuery<CosmosDb>protected java.lang.String asVariableName(int valuesPairIdx)
asVariableName in class io.inversion.jdbc.SqlQuery<CosmosDb>protected java.lang.String asString(io.inversion.rql.Term term)
asString in class io.inversion.jdbc.SqlQuery<CosmosDb>protected java.lang.String printExpression(io.inversion.rql.Term term,
java.util.List<java.lang.String> dynamicSqlChildText,
java.util.List<java.lang.String> preparedStmtChildText)
printExpression in class io.inversion.jdbc.SqlQuery<CosmosDb>Copyright © 2021 Rocket Partners, LLC. All rights reserved.