func (r *reader) IndexedGet(rang *IndexedRange) ([]*Row, error) { if r.cf == "" { return nil, errors.New("No column family specified") } if !r.setWhere { return nil, errors.New("At least one Where call must be made") } if rang == nil || rang.Count <= 0 { return make([]*Row, 0), nil } ic := r.buildIndexClause(rang) cp := r.buildColumnParent() sp := r.buildPredicate() var ret []*cassandra.KeySlice err := r.pool.run(func(c *connection) *transactionError { var err error ret, err = c.client.GetIndexedSlices( cp, ic, sp, cassandra.ConsistencyLevel(r.consistencyLevel)) return &transactionError{err} }) if err != nil { return nil, err } return rowsFromTListKeySlice(ret), nil }
func (r *reader) RangeGet(rang *Range) ([]*Row, error) { if r.cf == "" { return nil, errors.New("No column family specified") } if rang == nil || rang.Count <= 0 { return make([]*Row, 0), nil } kr := r.buildKeyRange(rang) cp := r.buildColumnParent() sp := r.buildPredicate() var ret []*cassandra.KeySlice err := r.pool.run(func(c *connection) *transactionError { var err error ret, err = c.client.GetRangeSlices( cp, sp, kr, cassandra.ConsistencyLevel(r.consistencyLevel)) return &transactionError{err} }) if err != nil { return nil, err } return rowsFromTListKeySlice(ret), nil }
func (r *reader) MultiCount(keys [][]byte) ([]*RowColumnCount, error) { if r.cf == "" { return nil, errors.New("No column family specified") } if len(keys) <= 0 { return make([]*RowColumnCount, 0), nil } cp := r.buildColumnParent() sp := r.buildPredicate() tk := keys var ret map[string]int32 err := r.pool.run(func(c *connection) *transactionError { var err error ret, err = c.client.MultigetCount( tk, cp, sp, cassandra.ConsistencyLevel(r.consistencyLevel)) return &transactionError{err} }) if err != nil { return nil, err } return rowsColumnCountFromTMap(ret), nil }
func (w *writer) Run() error { toRun := func(c *connection) *transactionError { err := c.client.BatchMutate( w.writers, cassandra.ConsistencyLevel(w.consistencyLevel)) return &transactionError{err} } if w.usedCounters { return w.pool.runWithRetries(toRun, 1) } return w.pool.run(toRun) }
func (r *reader) Count(key []byte) (int, error) { if r.cf == "" { return 0, errors.New("No column family specified") } cp := r.buildColumnParent() sp := r.buildPredicate() var ret int32 err := r.pool.run(func(c *connection) *transactionError { var err error ret, err = c.client.GetCount( key, cp, sp, cassandra.ConsistencyLevel(r.consistencyLevel)) return &transactionError{err} }) if err != nil { return 0, err } return int(ret), nil }
func (r *reader) Get(key []byte) (*Row, error) { if r.cf == "" { return nil, errors.New("No column family specified") } cp := r.buildColumnParent() sp := r.buildPredicate() var ret []*cassandra.ColumnOrSuperColumn err := r.pool.run(func(c *connection) *transactionError { var err error ret, err = c.client.GetSlice( key, cp, sp, cassandra.ConsistencyLevel(r.consistencyLevel)) return &transactionError{err} }) if err != nil { return nil, err } return rowFromTListColumns(key, ret), nil }