MCPcopy Create free account
hub / github.com/RedisGraph/redisgraph-go / parseRecords

Method parseRecords

query_result.go:127–154  ·  view source on GitHub ↗
(raw_result_set []interface{})

Source from the content-addressed store, hash-verified

125}
126
127func (qr *QueryResult) parseRecords(raw_result_set []interface{}) {
128 records, _ := redis.Values(raw_result_set[1], nil)
129 qr.results = make([]*Record, len(records))
130
131 for i, r := range records {
132 cells, _ := redis.Values(r, nil)
133 values := make([]interface{}, len(cells))
134
135 for idx, c := range cells {
136 t := qr.header.column_types[idx]
137 switch t {
138 case COLUMN_SCALAR:
139 s, _ := redis.Values(c, nil)
140 values[idx] = qr.parseScalar(s)
141 break
142 case COLUMN_NODE:
143 values[idx] = qr.parseNode(c)
144 break
145 case COLUMN_RELATION:
146 values[idx] = qr.parseEdge(c)
147 break
148 default:
149 panic("Unknown column type.")
150 }
151 }
152 qr.results[i] = recordNew(values, qr.header.column_names)
153 }
154}
155
156func (qr *QueryResult) parseProperties(props []interface{}) map[string]interface{} {
157 // [[name, value type, value] X N]

Callers 1

parseResultsMethod · 0.95

Calls 5

parseScalarMethod · 0.95
parseNodeMethod · 0.95
parseEdgeMethod · 0.95
recordNewFunction · 0.85
ValuesMethod · 0.80

Tested by

no test coverage detected