Documentation ¶
Index ¶
- func IsJSON(s string) bool
- type Attachment
- type ConnectionInfo
- type CouchConnectionDef
- type CouchDatabase
- func (dbclient *CouchDatabase) CreateDatabaseIfNotExist() (*DBOperationResponse, error)
- func (dbclient *CouchDatabase) DeleteDoc(id, rev string) error
- func (dbclient *CouchDatabase) DropDatabase() (*DBOperationResponse, error)
- func (dbclient *CouchDatabase) EnsureFullCommit() (*DBOperationResponse, error)
- func (dbclient *CouchDatabase) GetDatabaseInfo() (*DBInfo, *DBReturn, error)
- func (dbclient *CouchDatabase) QueryDocuments(query string) (*[]QueryResult, error)
- func (dbclient *CouchDatabase) ReadDoc(id string) (*CouchDoc, string, error)
- func (dbclient *CouchDatabase) ReadDocRange(startKey, endKey string, limit, skip int) (*[]QueryResult, error)
- func (dbclient *CouchDatabase) SaveDoc(id string, rev string, couchDoc *CouchDoc) (string, error)
- type CouchDoc
- type CouchInstance
- type DBInfo
- type DBOperationResponse
- type DBReturn
- type Doc
- type DocID
- type DocRev
- type FileDetails
- type QueryResponse
- type QueryResult
- type RangeQueryResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Attachment ¶
Attachment contains the definition for an attached file for couchdb
type ConnectionInfo ¶
type ConnectionInfo struct { Couchdb string `json:"couchdb"` Version string `json:"version"` Vendor struct { Name string `json:"name"` } `json:"vendor"` }
ConnectionInfo is a structure for capturing the database info and version
type CouchConnectionDef ¶
CouchConnectionDef contains parameters
func CreateConnectionDefinition ¶
func CreateConnectionDefinition(couchDBAddress, username, password string) (*CouchConnectionDef, error)
CreateConnectionDefinition for a new client connection
type CouchDatabase ¶
type CouchDatabase struct {
// contains filtered or unexported fields
}
CouchDatabase represents a database within a CouchDB instance
func CreateCouchDatabase ¶
func CreateCouchDatabase(couchInstance CouchInstance, dbName string) (*CouchDatabase, error)
CreateCouchDatabase creates a CouchDB database object, as well as the underlying database if it does not exist
func (*CouchDatabase) CreateDatabaseIfNotExist ¶
func (dbclient *CouchDatabase) CreateDatabaseIfNotExist() (*DBOperationResponse, error)
CreateDatabaseIfNotExist method provides function to create database
func (*CouchDatabase) DeleteDoc ¶
func (dbclient *CouchDatabase) DeleteDoc(id, rev string) error
DeleteDoc method provides function to delete a document from the database by id
func (*CouchDatabase) DropDatabase ¶
func (dbclient *CouchDatabase) DropDatabase() (*DBOperationResponse, error)
DropDatabase provides method to drop an existing database
func (*CouchDatabase) EnsureFullCommit ¶
func (dbclient *CouchDatabase) EnsureFullCommit() (*DBOperationResponse, error)
EnsureFullCommit calls _ensure_full_commit for explicit fsync
func (*CouchDatabase) GetDatabaseInfo ¶
func (dbclient *CouchDatabase) GetDatabaseInfo() (*DBInfo, *DBReturn, error)
GetDatabaseInfo method provides function to retrieve database information
func (*CouchDatabase) QueryDocuments ¶
func (dbclient *CouchDatabase) QueryDocuments(query string) (*[]QueryResult, error)
QueryDocuments method provides function for processing a query
func (*CouchDatabase) ReadDoc ¶
func (dbclient *CouchDatabase) ReadDoc(id string) (*CouchDoc, string, error)
ReadDoc method provides function to retrieve a document from the database by id
func (*CouchDatabase) ReadDocRange ¶
func (dbclient *CouchDatabase) ReadDocRange(startKey, endKey string, limit, skip int) (*[]QueryResult, error)
ReadDocRange method provides function to a range of documents based on the start and end keys startKey and endKey can also be empty strings. If startKey and endKey are empty, all documents are returned TODO This function provides a limit option to specify the max number of entries. This will need to be added to configuration options. Skip will not be used by Fabric since a consistent result set is required
type CouchDoc ¶
type CouchDoc struct { JSONValue []byte Attachments []Attachment }
CouchDoc defines the structure for a JSON document value
type CouchInstance ¶
type CouchInstance struct {
// contains filtered or unexported fields
}
CouchInstance represents a CouchDB instance
func CreateCouchInstance ¶
func CreateCouchInstance(couchDBConnectURL string, id string, pw string) (*CouchInstance, error)
CreateCouchInstance creates a CouchDB instance
func (*CouchInstance) VerifyConnection ¶
func (couchInstance *CouchInstance) VerifyConnection() (*ConnectionInfo, *DBReturn, error)
VerifyConnection method provides function to verify the connection information
type DBInfo ¶
type DBInfo struct { DbName string `json:"db_name"` UpdateSeq string `json:"update_seq"` Sizes struct { File int `json:"file"` External int `json:"external"` Active int `json:"active"` } `json:"sizes"` PurgeSeq int `json:"purge_seq"` Other struct { DataSize int `json:"data_size"` } `json:"other"` DocDelCount int `json:"doc_del_count"` DocCount int `json:"doc_count"` DiskSize int `json:"disk_size"` DiskFormatVersion int `json:"disk_format_version"` DataSize int `json:"data_size"` CompactRunning bool `json:"compact_running"` InstanceStartTime string `json:"instance_start_time"` }
DBInfo is body for database information.
type DBOperationResponse ¶
type DBOperationResponse struct { Ok bool // contains filtered or unexported fields }
DBOperationResponse is body for successful database calls.
type DBReturn ¶
type DBReturn struct { StatusCode int `json:"status_code"` Error string `json:"error"` Reason string `json:"reason"` }
DBReturn contains an error reported by CouchDB
type Doc ¶
type Doc struct { ID string `json:"_id"` Rev string `json:"_rev"` Attachments json.RawMessage `json:"_attachments"` }
Doc is used for capturing if attachments are return in the query from CouchDB
type DocID ¶
type DocID struct {
ID string `json:"_id"`
}
DocID is a minimal structure for capturing the ID from a query result
type FileDetails ¶
type FileDetails struct { Follows bool `json:"follows"` ContentType string `json:"content_type"` Length int `json:"length"` }
FileDetails defines the structure needed to send an attachment to couchdb
type QueryResponse ¶
type QueryResponse struct { Warning string `json:"warning"` Docs []json.RawMessage `json:"docs"` }
QueryResponse is used for processing REST query responses from CouchDB
type QueryResult ¶
type QueryResult struct { ID string Value []byte Attachments []Attachment }
QueryResult is used for returning query results from CouchDB
type RangeQueryResponse ¶
type RangeQueryResponse struct { TotalRows int `json:"total_rows"` Offset int `json:"offset"` Rows []struct { ID string `json:"id"` Key string `json:"key"` Value struct { Rev string `json:"rev"` } `json:"value"` Doc json.RawMessage `json:"doc"` } `json:"rows"` }
RangeQueryResponse is used for processing REST range query responses from CouchDB