(cell []interface{})
| 242 | } |
| 243 | |
| 244 | func (qr *QueryResult) parseScalar(cell []interface{}) interface{} { |
| 245 | t, _ := redis.Int(cell[0], nil) |
| 246 | v := cell[1] |
| 247 | var s interface{} |
| 248 | switch ResultSetScalarTypes(t) { |
| 249 | case VALUE_NULL: |
| 250 | return nil |
| 251 | |
| 252 | case VALUE_STRING: |
| 253 | s, _ = redis.String(v, nil) |
| 254 | |
| 255 | case VALUE_INTEGER: |
| 256 | s, _ = redis.Int(v, nil) |
| 257 | |
| 258 | case VALUE_BOOLEAN: |
| 259 | s, _ = redis.Bool(v, nil) |
| 260 | |
| 261 | case VALUE_DOUBLE: |
| 262 | s, _ = redis.Float64(v, nil) |
| 263 | |
| 264 | case VALUE_ARRAY: |
| 265 | s = qr.parseArray(v) |
| 266 | |
| 267 | case VALUE_EDGE: |
| 268 | s = qr.parseEdge(v) |
| 269 | |
| 270 | case VALUE_NODE: |
| 271 | s = qr.parseNode(v) |
| 272 | |
| 273 | case VALUE_PATH: |
| 274 | s = qr.parsePath(v) |
| 275 | |
| 276 | case VALUE_MAP: |
| 277 | s = qr.parseMap(v) |
| 278 | |
| 279 | case VALUE_UNKNOWN: |
| 280 | panic("Unknown scalar type\n") |
| 281 | } |
| 282 | |
| 283 | return s |
| 284 | } |
| 285 | |
| 286 | func (qr *QueryResult) getStat(stat string) float64 { |
| 287 | if val, ok := qr.statistics[stat]; ok { |
no test coverage detected