можем ли мы получить версию документа по хешу транзакции в qldb
мы пытаемся получить зафиксированную ревизию документа в qldb с ее хешем транзакции. однако он не возвращает строку с определенным хешем при попытке под запросом
SELECT * FROM history(Users) AS h WHERE h.hash='8kmIsF2X2HonQDhuoosBbKZtSQCjHZgnyUmPGZa9pJc='
Я считаю, что хеш tx в ревизии qldb является ионным литералом, поэтому его не следует рассматривать как строку. Итак, как мы можем получить ревизию документа по хешу
1 ответ
Решение
To execute this query successfully you'll need to treat the
hash
value as a blob type Ion literal, which can be done using backticks and
{{...}}
:
SELECT * FROM history(Users) AS h WHERE h.hash = `{{8kmIsF2X2HonQDhuoosBbKZtSQCjHZgnyUmPGZa9pJc=}}`
It is worth noting that this query scans every revision for all documents in the
Users
table. QLDB'shistory does not support indexes and this query will degrade as the table grows.