| 1515 | } |
| 1516 | |
| 1517 | Status VisitFieldRef(const FieldRef& ref) { |
| 1518 | if (ref.nested_refs()) { |
| 1519 | metadata_->Append("nested_field_ref", ToChars(ref.nested_refs()->size())); |
| 1520 | for (const auto& child : *ref.nested_refs()) { |
| 1521 | RETURN_NOT_OK(VisitFieldRef(child)); |
| 1522 | } |
| 1523 | return Status::OK(); |
| 1524 | } |
| 1525 | if (!ref.name()) { |
| 1526 | return Status::NotImplemented("Serialization of non-name field_refs"); |
| 1527 | } |
| 1528 | metadata_->Append("field_ref", *ref.name()); |
| 1529 | return Status::OK(); |
| 1530 | } |
| 1531 | |
| 1532 | Status Visit(const Expression& expr) { |
| 1533 | if (auto lit = expr.literal()) { |