docFields method
The live field rows of the given documents, grouped by document id and
keyed by bare field path (the portion of the record key after the
"$docId\x1F" separator). Existence registers are not included; a
document with no live field rows is absent from the result.
This is the materialisation read for point lookups and query pages: an indexed engine must serve it without scanning the whole table, and a scanning engine must serve the whole batch in one scan — never one scan per document.
Implementation
@override
Future<Map<String, Map<String, Object?>>> docFields(
String table, Iterable<String> docIds) async {
final raw = await _inner.docFields(table, docIds);
return {
for (final doc in raw.entries)
doc.key: {
for (final f in doc.value.entries) f.key: _resolve(f.value),
},
};
}