tcb

package module
v2.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2018 License: MIT Imports: 4 Imported by: 0

README

tcb

Build Status Coverage Status GoDoc

takin' care of business

1rqml0

what is this ?

this is an adapter library for couchbase client gocb i made gocbadapter for that before, i want refactor and refine by recreating.

How to Use

Install

it's just same as traditional style go get github.com/deadcheat/tcb

Example
package main

import (
	"fmt"

	"github.com/deadcheat/tcb"
)

type Data struct {
	Text string
}

func main() {
	config := tcb.Configure{
		ConnectString: "couchbase://localhost",
		BucketConfigs: []tcb.BucketConfig{
			tcb.BucketConfig{
				Name:     "default",
				Password: "",
			},
		},
		User:     "Administrator",
		Password: "password",
	}
	c := tcb.NewCluster(config)
	if err := c.Open(); err != nil {
		panic(err)
	}
	defer c.CloseAll()
	o, _ := c.Operator("default")
	data := Data{
		Text: "TestData",
	}
	if _, err := o.Insert("key", &data, 0); err != nil {
		panic(err)
	}
	var m Data
	if _, err := o.Get("key", &m); err != nil {
		panic(err)
	}
	fmt.Println("data : ", m)
	if _, err := o.Remove("key"); err != nil {
		panic(err)
	}
}

Documentation

Index

Constants

View Source
const (
	ConsistencyModeNone = gocb.ConsistencyMode(-1)
)

Variables

View Source
var (
	// ErrBucketMissing Constant error for Missing bucket
	ErrBucketMissing error = errors.New("bucket is missing")
)
View Source
var ErrOperationUnenforceable = errors.New("operator is nil or not enabled")

ErrOperationUnenforceable returns this error if operator is nil

Functions

This section is empty.

Types

type BucketConfig

type BucketConfig struct {
	Name     string
	Password string
}

BucketConfig tuple for bucket connection

type BucketOperator

type BucketOperator struct {
	Bucket *gocb.Bucket
	Logger
}

BucketOperator Operator instance

func NewBucketOperator

func NewBucketOperator(b *gocb.Bucket, l Logger) *BucketOperator

NewBucketOperator return new Operator instance

func (*BucketOperator) Get

func (b *BucketOperator) Get(key string, data interface{}) (cas gocb.Cas, err error)

Get invoke gocb.Bucket.Get

func (*BucketOperator) Insert

func (b *BucketOperator) Insert(k string, d interface{}, e uint32) (cas gocb.Cas, err error)

Insert invoke gocb.Bucket.Insert

func (*BucketOperator) N1qlQuery

func (b *BucketOperator) N1qlQuery(q string, params interface{}) (r gocb.QueryResults, err error)

N1qlQuery prepare query and execute

func (*BucketOperator) N1qlQueryWithMode

func (b *BucketOperator) N1qlQueryWithMode(m gocb.ConsistencyMode, q string, params interface{}) (r gocb.QueryResults, err error)

N1qlQuery prepare query and execute

func (*BucketOperator) Remove

func (b *BucketOperator) Remove(key string) (cas gocb.Cas, err error)

Remove remove data

func (*BucketOperator) Upsert

func (b *BucketOperator) Upsert(k string, d interface{}, e uint32) (cas gocb.Cas, err error)

Upsert invoke gocb.Bucket.Upsert

type Cluster

type Cluster struct {
	Configure
	Logger
	// contains filtered or unexported fields
}

Cluster to connect couchbase

func NewCluster

func NewCluster(c Configure) *Cluster

NewCluster return new instance

func (*Cluster) AddBucket

func (a *Cluster) AddBucket(bucket, password string) (*gocb.Bucket, error)

AddBucket add a bucket to

func (*Cluster) Bucket

func (a *Cluster) Bucket(bucket string) *gocb.Bucket

Bucket return from bucketmap

func (*Cluster) Close

func (a *Cluster) Close(bucket string) error

Close closes specified bucket

func (*Cluster) CloseAll

func (a *Cluster) CloseAll() error

CloseAll closes all buckets

func (*Cluster) Cluster

func (a *Cluster) Cluster() *gocb.Cluster

Cluster return inner cluster instance

func (*Cluster) Open

func (a *Cluster) Open() error

Open call this to open cluster connection

func (*Cluster) Operator

func (a *Cluster) Operator(bucket string) (Operator, error)

Operator return operator instance

type Configure

type Configure struct {
	ConnectString string
	User          string
	Password      string
	BucketConfigs []BucketConfig
}

Configure struct for config

type Configurer

type Configurer interface {
	Open() error
	Close(bucket string) error
	CloseAll() error
	Cluster() *gocb.Cluster
	AddBucket(bucket, password string) (*gocb.Bucket, error)
	Bucket(name string) *gocb.Bucket
	Operator(bucketName string) (Operator, error)
}

Configurer governs for configure and open connect

type CouchBaseAdapter

type CouchBaseAdapter interface {
	Configurer
	Logger
}

CouchBaseAdapter CouchBase connect Adapter

type DefaultLogger

type DefaultLogger struct {
	Logger *log.Logger
	// contains filtered or unexported fields
}

DefaultLogger type-default logger

func NewDefaultActiveLogger

func NewDefaultActiveLogger() *DefaultLogger

NewDefaultActiveLogger Generate New Silent Logger

func NewDefaultDisabledLogger

func NewDefaultDisabledLogger() *DefaultLogger

NewDefaultDisabledLogger Generate New Silent Logger

func (*DefaultLogger) Log

func (d *DefaultLogger) Log(v ...interface{})

Log logging with log-package

func (*DefaultLogger) LogEnabled

func (d *DefaultLogger) LogEnabled() bool

LogEnabled return Log-enabled or not

func (*DefaultLogger) Logf

func (d *DefaultLogger) Logf(f string, v ...interface{})

Logf logging with format using log-package

type Logger

type Logger interface {
	Log(...interface{})
	Logf(format string, v ...interface{})
}

Logger logging interface

type Operator

type Operator interface {
	Get(key string, data interface{}) (gocb.Cas, error)
	Insert(key string, data interface{}, expire uint32) (gocb.Cas, error)
	Upsert(key string, data interface{}, expire uint32) (gocb.Cas, error)
	Remove(key string) (gocb.Cas, error)
	N1qlQuery(q string, params interface{}) (gocb.QueryResults, error)
	N1qlQueryWithMode(mode gocb.ConsistencyMode, q string, params interface{}) (gocb.QueryResults, error)
}

Operator abstracted for operating on couchbase

type SilentLogger

type SilentLogger struct{}

SilentLogger logger say noting

func (*SilentLogger) Log

func (s *SilentLogger) Log(v ...interface{})

Log but say nothing

func (*SilentLogger) Logf

func (s *SilentLogger) Logf(f string, v ...interface{})

Logf but say nothing with format either

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL