Skip to content

Commit 158fe97

Browse files
ricardojmendezptaoussanis
authored andcommitted
[taoensso#92] scan now support consistent reads
1 parent c10f9f3 commit 158fe97

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

Diff for: src/taoensso/faraday.clj

+3-1
Original file line numberDiff line numberDiff line change
@@ -1152,7 +1152,7 @@
11521152
[table
11531153
& [{:keys [attr-conds last-prim-kvs return limit total-segments
11541154
proj-expr expr-attr-names filter-expr expr-attr-vals
1155-
index segment return-cc?] :as opts}]]
1155+
consistent? index segment return-cc?] :as opts}]]
11561156
(doto-cond [g (ScanRequest.)]
11571157
:always (.setTableName (name table))
11581158
attr-conds (.setScanFilter (query|scan-conditions g))
@@ -1166,6 +1166,7 @@
11661166
proj-expr (.setProjectionExpression g)
11671167
total-segments (.setTotalSegments (int g))
11681168
segment (.setSegment (int g))
1169+
consistent? (.setConsistentRead consistent?)
11691170
(coll?* return) (.setAttributesToGet (mapv name return))
11701171
return-cc? (.setReturnConsumedCapacity (utils/enum :total))
11711172
(and return (not (coll?* return)))
@@ -1188,6 +1189,7 @@
11881189
[<attr> ...]}.
11891190
:total-segments - Total number of parallel scan segments.
11901191
:segment - Calling worker's segment number (>=0, <=total-segments).
1192+
:consistent? - If the scan should use consistent reads
11911193
11921194
comparison-operators e/o #{:eq :le :lt :ge :gt :begins-with :between :ne
11931195
:not-null :null :contains :not-contains :in}.

Diff for: test/taoensso/faraday/tests/requests.clj

+13
Original file line numberDiff line numberDiff line change
@@ -437,3 +437,16 @@
437437
(expect "age, #t" (.getProjectionExpression req))
438438
(expect {"#t" "year"} (.getExpressionAttributeNames req))
439439
)
440+
441+
(let [req ^ScanRequest (scan-request
442+
:scan
443+
{:filter-expr "age < 25"
444+
:index "age-index"
445+
:limit 5
446+
:consistent? true})]
447+
(expect "scan" (.getTableName req))
448+
(expect 5 (.getLimit req))
449+
(expect "age < 25" (.getFilterExpression req))
450+
(expect "age-index" (.getIndexName req))
451+
(expect (.getConsistentRead req))
452+
)

0 commit comments

Comments
 (0)