(raw_result_set []interface{})
| 125 | } |
| 126 | |
| 127 | func (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 | |
| 156 | func (qr *QueryResult) parseProperties(props []interface{}) map[string]interface{} { |
| 157 | // [[name, value type, value] X N] |
no test coverage detected