fix workbench runtime nullable json reads
This commit is contained in:
@@ -480,12 +480,12 @@ func (s *Server) queryJSONColumn(ctx context.Context, sqlText string, args []any
|
||||
defer rows.Close()
|
||||
result := []any{}
|
||||
for rows.Next() {
|
||||
var raw []byte
|
||||
var raw sql.NullString
|
||||
if err := rows.Scan(&raw); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var item any
|
||||
if len(raw) > 0 && json.Unmarshal(raw, &item) == nil && item != nil {
|
||||
if raw.Valid && strings.TrimSpace(raw.String) != "" && json.Unmarshal([]byte(raw.String), &item) == nil && item != nil {
|
||||
result = append(result, item)
|
||||
}
|
||||
}
|
||||
@@ -571,14 +571,14 @@ func (s *Server) readProjectionOutbox(ctx context.Context, query outboxQuery) ([
|
||||
var outboxSeq, projectedSeq, sourceSeq sql.NullInt64
|
||||
var traceID, sessionID, turnID, messageID, sourceEventID, commitType sql.NullString
|
||||
var terminal, sealed sql.NullBool
|
||||
var raw []byte
|
||||
var raw sql.NullString
|
||||
var createdAt sql.NullTime
|
||||
if err := rows.Scan(&outboxSeq, &traceID, &sessionID, &turnID, &messageID, &projectedSeq, &sourceSeq, &sourceEventID, &commitType, &terminal, &sealed, &raw, &createdAt); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var payload any
|
||||
if len(raw) > 0 {
|
||||
_ = json.Unmarshal(raw, &payload)
|
||||
if raw.Valid && strings.TrimSpace(raw.String) != "" {
|
||||
_ = json.Unmarshal([]byte(raw.String), &payload)
|
||||
}
|
||||
result = append(result, map[string]any{
|
||||
"outboxSeq": nullableInt(outboxSeq),
|
||||
|
||||
Reference in New Issue
Block a user