perf(go): skip empty parsed raw payloads
This commit is contained in:
@@ -126,6 +126,27 @@ func TestWriterChunksOversizedParsedJSON(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWriterLeavesParsedJSONEmptyWhenNoParsedPayload(t *testing.T) {
|
||||
exec := &recordingExec{}
|
||||
writer := NewWriter(exec)
|
||||
env := sampleEnvelope()
|
||||
env.Parsed = nil
|
||||
env.ParseStatus = envelope.ParseBadFrame
|
||||
env.ParseError = "invalid frame checksum"
|
||||
|
||||
if err := writer.AppendRawFrame(context.Background(), env); err != nil {
|
||||
t.Fatalf("AppendRawFrame() error = %v", err)
|
||||
}
|
||||
|
||||
rawInsert := findSQL(exec.calls, "INSERT INTO raw_")
|
||||
if strings.Contains(rawInsert, "'{}'") || strings.Contains(rawInsert, "'null'") {
|
||||
t.Fatalf("raw insert should not store empty parsed_json payload: %s", rawInsert)
|
||||
}
|
||||
if !strings.Contains(rawInsert, "'invalid frame checksum'") {
|
||||
t.Fatalf("raw insert should keep parse error: %s", rawInsert)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWriterSkipsSparseDerivedRows(t *testing.T) {
|
||||
exec := &recordingExec{}
|
||||
writer := NewWriter(exec)
|
||||
|
||||
Reference in New Issue
Block a user