Tier 1
85.0%
Tier 2
89.3%
Tier 3
86.4%
Fully supports
Operation areas this target implements completely - every test passes, nothing skipped. Areas it only partly implements, or gets wrong, are in “Where it falls short” below.
- batchGetItem tier 1
- deleteItem tier 1
- deleteTable tier 1
- describeTable tier 1
- listTables tier 1
- account tier 2
- streams tier 2
- tags tier 2
- ttl tier 2
- updateTable tier 2
- legacy-api tier 3
Conformance over time
Where it falls short
Operation groups with gaps in the latest run, biggest first. Unsupported means the target doesn't implement that feature at all, often by design. Open one for the exact tests, or see the conformance suite.
-
partiql Tier 2 unsupported
View these tests in the suite →- BatchExecuteStatement - PartiQL batch of multiple SELECT statements
- BatchExecuteStatement - PartiQL batch of INSERT and UPDATE statements
- BatchExecuteStatement - PartiQL partial failure - one valid and one invalid statement
- BatchExecuteStatement - PartiQL rejects an empty Statements array
- ExecuteStatement - PartiQL INSERTs a new item
- ExecuteStatement - PartiQL SELECTs an item by primary key
- ExecuteStatement - PartiQL SELECTs with WHERE clause using comparison
- ExecuteStatement - PartiQL UPDATEs an existing item
- ExecuteStatement - PartiQL DELETEs an item
- ExecuteStatement - PartiQL rejects INSERT on an existing item (INSERT is not upsert)
- ExecuteStatement - PartiQL INSERT succeeds after DELETE of same key
- ExecuteStatement - PartiQL SELECT returns empty results for non-matching WHERE
- ExecuteStatement - PartiQL parameterized INSERT with ? placeholders
- ExecuteStatement - PartiQL parameterized SELECT with ? placeholder
- ExecuteStatement - PartiQL SELECT with nested map path
- ExecuteStatement - PartiQL SELECT with specific attributes
- ExecuteStatement - PartiQL SELECT with begins_with in WHERE clause
- ExecuteStatement - PartiQL PartiQL UPDATE with SET on attribute
- ExecuteStatement - PartiQL PartiQL UPDATE with REMOVE
- ExecuteStatement - PartiQL returns a populated ConsumedCapacity block when requested
- ExecuteStatement - PartiQL evaluates negated predicates (NOT begins_with, IS NOT MISSING)
- ExecuteStatement - PartiQL DELETE with a false non-key predicate fails ConditionalCheckFailed and leaves the item
- ExecuteStatement - PartiQL DELETE with a true non-key predicate removes the item
- ExecuteStatement - PartiQL UPDATE with a false non-key predicate fails ConditionalCheckFailed and leaves the item
- ExecuteStatement - PartiQL UPDATE with a true non-key predicate mutates the item
- ExecuteStatement - PartiQL DELETE with a false NOT begins_with predicate fails ConditionalCheckFailed
- ExecuteStatement - PartiQL DELETE with a true NOT begins_with predicate removes the item
- ExecuteStatement - PartiQL rejects a write WHERE clause that omits the primary key
- ExecuteStatement - PartiQL DELETE on a missing key with a non-key predicate is a silent no-op
- ExecuteStatement - PartiQL rejects a statement with syntax error
- ExecuteStatement - PartiQL rejects a reference to a non-existent table
- ExecuteTransaction - PartiQL transactional INSERT and UPDATE both succeed atomically
- ExecuteTransaction - PartiQL transaction rolls back on duplicate key INSERT
- ExecuteTransaction - PartiQL multiple INSERTs in one transaction
- ExecuteTransaction - PartiQL idempotent replay under the same ClientRequestToken does not double-apply
- ExecuteTransaction - PartiQL rejects empty TransactStatements
-
error-messages Tier 3 34 failing
View these tests in the suite →- BatchGetItem - exact error messages mixing ProjectionExpression on one table and AttributesToGet on another is rejected
- BatchWriteItem - exact error messages wrong-typed index key: full type-mismatch message
- BatchWriteItem - exact error messages non-scalar index key: full type-mismatch message
- BatchWriteItem - exact error messages empty-string index key: full secondary-index-key message
- BatchWriteItem - exact error messages empty-binary index key: full secondary-index-key message
- CreateTable - exact error messages GSI INCLUDE projection without NonKeyAttributes: full missing-attributes message
- CreateTable - exact error messages LSI INCLUDE projection without NonKeyAttributes: full missing-attributes message
- CreateTable - exact error messages StreamSpecification StreamEnabled:false with a StreamViewType: full conflict message
- PutItem - exact error messages NULL attr with false is accepted and normalises to NULL true
- PutItem - exact error messages empty-binary index key value: full secondary-index-key message
- Scan - exact error messages Select SPECIFIC_ATTRIBUTES without ProjectionExpression: full required-projection message
- TransactWriteItems - exact error messages Put wrong-typed table key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Put non-scalar table key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Put wrong-typed index key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Put non-scalar index key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Update wrong-typed index key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Update non-scalar index key: cancelled with full ValidationError reason
- TransactWriteItems - exact error messages Put empty-string index key: top-level ValidationException
- TransactWriteItems - exact error messages Update empty-string index key: top-level ValidationException
- TransactWriteItems - exact error messages Update empty-string Key: top-level empty-value message
- TransactWriteItems - exact error messages Delete empty-string Key: top-level empty-value message
- TransactWriteItems - exact error messages ConditionCheck empty-string Key: top-level empty-value message
- TransactWriteItems - exact error messages Update wrong-typed Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages Update non-scalar Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages Delete wrong-typed Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages Delete non-scalar Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages ConditionCheck wrong-typed Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages ConditionCheck non-scalar Key: cancelled with schema-mismatch reason
- TransactWriteItems - exact error messages Update empty-binary Key: top-level empty-value message
- TransactWriteItems - exact error messages Delete empty-binary Key: top-level empty-value message
- TransactWriteItems - exact error messages ConditionCheck empty-binary Key: top-level empty-value message
- TransactWriteItems - exact error messages Put empty-binary index key: top-level ValidationException
- TransactWriteItems - exact error messages Update empty-binary index key: top-level ValidationException
- UpdateItem - exact error messages empty-binary index key value: full secondary-index-key message
-
putItem Tier 1 29 failing
View these tests in the suite →- ReturnConsumedCapacity - PutItem reports only the aggregate, no write-capacity split PutItem with TOTAL reports 1 CapacityUnit and no read/write split
- ReturnConsumedCapacity - PutItem reports only the aggregate, no write-capacity split PutItem with INDEXES omits the split at the top level and on Table
- PutItem - number format rejects "+e2"
- PutItem - number format rejects "e2"
- PutItem - number format rejects "+1+2"
- PutItem - number format rejects "1+2"
- PutItem - number format rejects "+1.2.3"
- PutItem - number format rejects "1.2.3"
- PutItem - number format rejects "++5"
- PutItem - number format rejects "+-5"
- PutItem - number format rejects "-+5"
- PutItem - number format rejects "+"
- PutItem - number format rejects "-"
- PutItem - number format rejects "1e"
- PutItem - number format rejects "1e+"
- PutItem - number format rejects "."
- PutItem - number format rejects "1.2e3.4"
- PutItem - number format rejects "0x5"
- PutItem - number format rejects "NaN"
- PutItem - number format rejects "Infinity"
- PutItem - number format rejects "1_000"
- PutItem - number format rejects " 5"
- PutItem - number format rejects "5 "
- PutItem - number format rejects "1 5"
- PutItem - validation rejects a wrong-typed index key attribute
- PutItem - validation rejects a non-scalar index key attribute
- PutItem - validation rejects an empty-string index key attribute
- PutItem - validation rejects a number with a leading space
- PutItem - validation rejects a number with a trailing space
-
transactions Tier 2 10 failing
View these tests in the suite →- TransactWriteItems - validation Put with a wrong-typed index key cancels with a ValidationError reason
- TransactWriteItems - validation Put with a non-scalar index key cancels with a ValidationError reason
- TransactWriteItems - validation Update setting a wrong-typed index key cancels with a ValidationError reason
- TransactWriteItems - validation Update setting a non-scalar index key cancels with a ValidationError reason
- TransactWriteItems - validation Put with an empty-string index key is a top-level ValidationException
- TransactWriteItems - validation Update setting an empty-string index key is a top-level ValidationException
- TransactWriteItems - validation Update with an empty-string Key is a top-level ValidationException
- TransactWriteItems - validation Delete with an empty-string Key is a top-level ValidationException
- TransactWriteItems - validation ConditionCheck with an empty-string Key is a top-level ValidationException
- TransactWriteItems - ConsumedCapacity: conditional, check, replay, cancel reports write capacity on the first call and read capacity on a same-token replay
-
getItem Tier 1 9 failing
View these tests in the suite →- ConsumedCapacity - single-item ops report only the aggregate, no read/write split a strongly-consistent GetItem reports 1 CapacityUnit and no read/write split
- ConsumedCapacity - single-item ops report only the aggregate, no read/write split an eventually-consistent GetItem reports 0.5 CapacityUnits and no read/write split
- ConsumedCapacity - single-item ops report only the aggregate, no read/write split a Query under INDEXES omits the split at the top level and on Table
- ConsumedCapacity - single-item ops report only the aggregate, no read/write split an UpdateItem reports 1 CapacityUnit and no read/write split
- ConsumedCapacity - single-item ops report only the aggregate, no read/write split a DeleteItem reports 1 CapacityUnit and no read/write split
- GetItem - projection validation and fidelity rejects overlapping projection paths (a and a.b)
- GetItem - projection validation and fidelity rejects duplicate projection paths (a and a)
- GetItem - projection validation and fidelity projects multiple list indices compacted and index-ordered
- GetItem - projection validation and fidelity rejects an undefined projection name even when the scan matches nothing
-
query Tier 1 8 failing
View these tests in the suite →- Query - GSI pagination across tied sort keys composes LastEvaluatedKey from base and index keys and walks every tied item once
- Query - hash-only GSI pagination on a composite base table walks every item across pages when they share the GSI hash and base partition key
- Query - KeyConditionExpression semantics rejects a nested path on a key attribute
- Query - LSI pagination across tied sort keys composes LastEvaluatedKey from base and index keys and walks every tied item once
- Query - Select / ProjectionExpression rejections Select ALL_ATTRIBUTES with ProjectionExpression is rejected
- Query - Select / ProjectionExpression rejections Select ALL_PROJECTED_ATTRIBUTES without an IndexName is rejected
- Query - Select / ProjectionExpression rejections Select COUNT with ProjectionExpression is rejected
- Query - Select / ProjectionExpression rejections Select ALL_PROJECTED_ATTRIBUTES with ProjectionExpression and no IndexName is rejected
-
createTable Tier 1 7 failing
View these tests in the suite →- CreateTable - validation rejects a GSI INCLUDE projection without NonKeyAttributes
- CreateTable - validation rejects StreamSpecification with StreamEnabled false plus a StreamViewType
- CreateTable - configuration parameters TableClass STANDARD_INFREQUENT_ACCESS round-trips
- CreateTable - configuration parameters SSESpecification with the AWS-managed key round-trips
- CreateTable - configuration parameters OnDemandThroughput round-trips on a PAY_PER_REQUEST table
- CreateTable - LSI rejects an LSI INCLUDE projection without NonKeyAttributes
- CreateTable - index and stream spec validation rejects a KEYS_ONLY GSI projection carrying NonKeyAttributes
-
scan Tier 1 7 failing
View these tests in the suite →- Scan - GSI pagination across tied sort keys walks every item once across a paged GSI scan with tied sort keys
- Scan - Select / ProjectionExpression rejections Select ALL_ATTRIBUTES with ProjectionExpression is rejected
- Scan - Select / ProjectionExpression rejections Select ALL_PROJECTED_ATTRIBUTES without an IndexName is rejected
- Scan - Select / ProjectionExpression rejections Select COUNT with ProjectionExpression is rejected
- Scan - Select / ProjectionExpression rejections Select ALL_PROJECTED_ATTRIBUTES with ProjectionExpression and no IndexName is rejected
- Scan - Select / ProjectionExpression rejections Select SPECIFIC_ATTRIBUTES without ProjectionExpression is rejected
- Scan - validation rejects TotalSegments above the maximum
-
batchWriteItem Tier 1 3 failing
View these tests in the suite →- BatchWriteItem - validation rejects a wrong-typed index key value
- BatchWriteItem - validation rejects a non-scalar index key value
- BatchWriteItem - validation rejects an empty-string index key value
-
updateItem Tier 1 2 failing
View these tests in the suite →- UpdateItem - SET evaluation semantics a second SET clause reads the pre-update value of another attribute
- UpdateItem - SET evaluation semantics applies parenthesised arithmetic (SET c = (c - :v))
-
updateTable Tier 1 2 failing
View these tests in the suite →- UpdateTable - configuration parameters UpdateTable changes TableClass
- UpdateTable - configuration parameters UpdateTable changes OnDemandThroughput
-
backups Tier 2 2 failing
View these tests in the suite →- On-demand backups - lifecycle and restore RestoreTableFromBackup initiates a restore into a new table
- On-demand backups - lifecycle and restore DescribeBackup on a deleted backup throws BackupNotFoundException
-
contributorInsights Tier 2 unsupported
View these tests in the suite →- Contributor insights - enable/describe/list reports DISABLED by default
- Contributor insights - enable/describe/list enabling transitions the status and lists the table
-
export Tier 2 unsupported
View these tests in the suite →- Export and import - S3 ExportTableToPointInTime initiates an export and reports it
- Export and import - S3 ImportTable ingests S3 data into a new table
-
resourcePolicy Tier 2 unsupported
View these tests in the suite →- Resource policies - Put/Get/Delete GetResourcePolicy on a table with no policy throws PolicyNotFoundException
- Resource policies - Put/Get/Delete Put then Get round-trips the policy, and Delete removes it
-
limits Tier 3 2 failing
View these tests in the suite →- Key-value length limits rejects an over-limit partition key on the read path
- Nesting depth - 32-level document limit rejects a 32-level ExpressionAttributeValue with ValidationException
-
kinesis Tier 2 unsupported
View these tests in the suite →- Kinesis streaming destination enables a streaming destination and reports it via Describe
-
validation-ordering Tier 3 1 failing
View these tests in the suite →- UpdateItem - validation ordering rejects invalid ReturnValues (UpdateItem reports the first enum error)