{"record":{"id":"657cacf0e29072fc","repo":"tursodatabase/turso","slug":"remote-response-type-did-not-include-a-result","errorCode":null,"errorMessage":"Remote response {Type} did not include a result.","messagePattern":"Remote response (.+?) did not include a result\\.","errorType":"exception","errorClass":"TursoException","httpStatus":null,"severity":"error","filePath":"bindings/dotnet/src/Turso.Data/TursoRemoteClient.cs","lineNumber":550,"sourceCode":"    [JsonPropertyName(\"response\")]\n    public RemoteStreamResponse? Response { get; init; }\n\n    [JsonPropertyName(\"error\")]\n    public RemoteError? Error { get; init; }\n}\n\ninternal sealed class RemoteStreamResponse\n{\n    [JsonPropertyName(\"type\")]\n    public string Type { get; init; } = \"\";\n\n    [JsonPropertyName(\"result\")]\n    public JsonElement Result { get; init; }\n\n    public T DeserializeResult<T>()\n    {\n        if (Result.ValueKind is JsonValueKind.Undefined or JsonValueKind.Null)\n            throw new TursoException($\"Remote response {Type} did not include a result.\");\n\n        try\n        {\n            return Result.Deserialize<T>()\n                   ?? throw new TursoException($\"Remote response {Type} returned an empty result.\");\n        }\n        catch (JsonException ex)\n        {\n            throw new TursoException($\"Unable to parse remote {Type} response: {ex.Message}\");\n        }\n    }\n}\n\ninternal sealed class RemoteError\n{\n    [JsonPropertyName(\"message\")]\n    public string Message { get; init; } = \"\";\n","sourceCodeStart":532,"sourceCodeEnd":568,"githubUrl":"https://github.com/tursodatabase/turso/blob/244cde92a7df7f9b8b8b7a4075c35a12977e303e/bindings/dotnet/src/Turso.Data/TursoRemoteClient.cs#L532-L568","documentation":"An inner pipeline response object (type \"execute\" or \"batch\") did not carry a result payload: its \"result\" property was absent or an explicit JSON null. DeserializeResult guards this before converting, so the server sent an execute/batch acknowledgment without the data the client needs to build a reader.","triggerScenarios":"Remote command or batch execution where response.Results[0].Response.Type is \"execute\"/\"batch\" but the Result JsonElement is Undefined or Null -- the JSON lacked \"result\" or set it to null.","commonSituations":"Servers that omit result for statements they classify as no-output; serializers dropping null fields at a gateway; version drift in the response schema; server bugs on specific statement shapes.","solutions":["Inspect the raw envelope and confirm the result field is missing or null for the failing statement.","Test the same SQL as a standalone command against a known-good instance.","Align server and bindings versions.","Remove field-stripping intermediaries from the path.","Report the statement and raw envelope if current versions still omit the result."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { return await cmd.ExecuteReaderAsync(cancellationToken); }\ncatch (TursoException ex) when (ex.Message.Contains(\"did not include a result\"))\n{\n    logger.LogError(ex, \"Server omitted result payload for {Sql}\", cmd.CommandText);\n    throw;\n}","preventionTips":["Test new server versions against the statements your app actually runs, including DDL and no-output statements.","Keep field-stripping serializers and gateways off the database route.","Version-align server and bindings.","Capture the raw envelope when reporting so maintainers can see the omitted field."],"tags":["turso","dotnet","remote","protocol","json"],"backgroundTag":"missing-response-field","analyzedSha":"244cde92a7df7f9b8b8b7a4075c35a12977e303e","analyzedAt":"2026-08-20T07:02:18.389Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}