| 4014 | } |
| 4015 | |
| 4016 | void unpackKeyTuple(Tuple** referenceTuple, Optional<Tuple>& keyTuple, KeyValueRef* keyValue) { |
| 4017 | if (!keyTuple.present()) { |
| 4018 | // May throw exception if the key is not parsable as a tuple. |
| 4019 | try { |
| 4020 | keyTuple = Tuple::unpack(keyValue->key); |
| 4021 | } catch (Error& e) { |
| 4022 | TraceEvent("KeyNotTuple").error(e).detail("Key", keyValue->key.printable()); |
| 4023 | throw key_not_tuple(); |
| 4024 | } |
| 4025 | } |
| 4026 | *referenceTuple = &keyTuple.get(); |
| 4027 | } |
| 4028 | |
| 4029 | void unpackValueTuple(Tuple** referenceTuple, Optional<Tuple>& valueTuple, KeyValueRef* keyValue) { |
| 4030 | if (!valueTuple.present()) { |
no test coverage detected