sql - 我们可以通过 qldb 中的事务哈希检索文档修订吗
问题描述
我们正在尝试使用其事务哈希检索 qldb 中已提交的文档修订。但是,在尝试以下查询时,它没有返回具有特定哈希的行
SELECT * FROM history(Users) AS h WHERE h.hash='8kmIsF2X2HonQDhuoosBbKZtSQCjHZgnyUmPGZa9pJc='
我相信 qldb 修订版中的 tx 哈希是离子文字,因此不应将其视为字符串。那么我们如何通过哈希检索文档修订
解决方案
要成功执行此查询,您需要将hash
值视为 blob 类型的 Ion 文字,这可以使用反引号和 来完成{{...}}
:
SELECT * FROM history(Users) AS h WHERE h.hash = `{{8kmIsF2X2HonQDhuoosBbKZtSQCjHZgnyUmPGZa9pJc=}}`
值得注意的是,此查询会扫描Users
表中所有文档的每个修订版。QLDB 的历史记录不支持索引,并且此查询将随着表的增长而降级。
推荐阅读
- angular - 角度中的数组对象始终默认为0,同时从中间删除一个对象并添加一个新对象
- android - 如何标记 android studio 中的输入文本以在 NLP 模型中处理?
- android - 带有 ViewPager 的 Butterknife NullPointerException
- c# - 使用 SQL Server 表中的列填充 CartesianChart 标签
- hibernate - 将缓存与 Spring Boot 集成
- sql - 日期之间的左连接匹配
- python - 在 Python 中的列表中切片元组
- multithreading - 图片未在视图控制器启动 Swift 时加载
- html - 为什么 HTML 可拖动元素与父背景一起拖动?
- python - if python语句中的多个and