Duo Xu was nice enough to help me debug an issue using the C# driver against Avatica 1.8.1. We could see that a record was being placed into the database, but the C# driver wasn't returning the value.
After inspecting the server, I could see that the row was being returned by the server. Still the client claimed to not know about the value in the row.
Turns out, this was a botched backwards-compatibility issue introduced by
CALCITE-1040. When the array_value and scalar_value fields were introduced, the original value field stopped having the values set in it. This caused the C# driver, which was still using that (now deprecated) field to stop seeing any records.
A simple fix to start adding the values for the row into that deprecated field seems to have fixed the issue.