Package io.inversion.dynamodb
Class DynamoDbQuery
java.lang.Object
io.inversion.rql.Builder<T,T>
io.inversion.rql.Query<DynamoDbQuery,DynamoDb,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,DynamoDbQuery>,DynamoDbQuery>>
io.inversion.dynamodb.DynamoDbQuery
public class DynamoDbQuery
extends io.inversion.rql.Query<DynamoDbQuery,DynamoDb,io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order,DynamoDbQuery>,DynamoDbQuery>,io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page,DynamoDbQuery>,DynamoDbQuery>>
IMPLEMENTATION NOTE: Helpful DynamoDb Links
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html
- https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html
- https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryingJavaDocumentAPI.html
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#FilteringResults
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeNames.html
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html
- https://stackoverflow.com/questions/34349135/how-do-you-query-for-a-non-existent-null-attribute-in-dynamodb
- https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields 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
ConstructorsConstructorDescriptionDynamoDbQuery(DynamoDb db, io.inversion.Collection table, List<io.inversion.rql.Term> terms) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected List<io.inversion.rql.Term>after(io.inversion.Index index, Map<String, com.amazonaws.services.dynamodbv2.model.AttributeValue> attrs) protected io.inversion.Indexprotected io.inversion.rql.Whereio.inversion.ResultsdoSelect()protected io.inversion.Resultscom.amazonaws.services.dynamodbv2.document.Tableio.inversion.rql.TermFinds the primary or a secondary index to use based on what parameters were passed in.io.inversion.rql.Termprotected ObjectgetValue(com.amazonaws.services.dynamodbv2.model.AttributeValue v) withDynamoTable(com.amazonaws.services.dynamodbv2.document.Table dynamoTable) Methods inherited from class io.inversion.rql.Query
clearValues, createFrom, createGroup, createOrder, createPage, createSelect, getBuilders, getCollection, getColValue, getColValueKeys, getColValues, getDb, getFrom, getGroup, getNumValues, getOrder, getPage, getSelect, getValues, getWhere, isDryRun, withCollection, withColValue, withDb, 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
-
OPERATOR_MAP
-
FUNCTION_MAP
-
-
Constructor Details
-
DynamoDbQuery
public DynamoDbQuery() -
DynamoDbQuery
-
-
Method Details
-
createWhere
protected io.inversion.rql.Where createWhere()- Overrides:
createWherein classio.inversion.rql.Query<DynamoDbQuery,DynamoDb, io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page, DynamoDbQuery>, DynamoDbQuery>>
-
addTerm
- Overrides:
addTermin classio.inversion.rql.Builder<DynamoDbQuery,DynamoDbQuery>
-
getDynamoTable
public com.amazonaws.services.dynamodbv2.document.Table getDynamoTable() -
withDynamoTable
-
doSelect
public io.inversion.Results doSelect() throws io.inversion.ApiException- Overrides:
doSelectin classio.inversion.rql.Query<DynamoDbQuery,DynamoDb, io.inversion.rql.Select<io.inversion.rql.Select<io.inversion.rql.Select, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.From<io.inversion.rql.From<io.inversion.rql.From, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Where<io.inversion.rql.Where<io.inversion.rql.Where, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Group<io.inversion.rql.Group<io.inversion.rql.Group, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Order<io.inversion.rql.Order<io.inversion.rql.Order, DynamoDbQuery>, DynamoDbQuery>, io.inversion.rql.Page<io.inversion.rql.Page<io.inversion.rql.Page, DynamoDbQuery>, DynamoDbQuery>> - Throws:
io.inversion.ApiException
-
doSelect0
- Throws:
Exception
-
after
-
getValue
-
calcIndex
protected io.inversion.Index calcIndex()- Returns:
- the best fit index to use for the query based on the params supplied
-
getPartKey
public io.inversion.rql.Term getPartKey()Finds the primary or a secondary index to use based on what parameters were passed in.- Returns:
- a term referencing the partition key column
- See Also:
-
getSortKey
public io.inversion.rql.Term getSortKey() -
getSelectSpec
-