| 110 | } |
| 111 | |
| 112 | func (tx *CachedTransaction) createKey(schemaID string, sc *selectContext) (string, error) { |
| 113 | filterHash, err := hashstructure.Hash(sc.filter, nil) |
| 114 | if err != nil { |
| 115 | return "", err |
| 116 | } |
| 117 | res := fmt.Sprintf("%s %v %v %v", schemaID, sc.join, filterHash, sc.fields) |
| 118 | if sc.paginator != nil { |
| 119 | res = fmt.Sprintf("%s %v", res, *sc.paginator) |
| 120 | } |
| 121 | return res, err |
| 122 | } |
| 123 | |
| 124 | func (tx *CachedTransaction) getCached(schemeID string, sc *selectContext) (list []*schema.Resource, total uint64, wasCached bool, wasLocked bool, err error) { |
| 125 | key, err := tx.createKey(schemeID, sc) |