30 releases (6 breaking)
Uses old Rust 2015
0.8.1 | Mar 31, 2018 |
---|---|
0.7.0 | Jan 23, 2018 |
0.6.1 | Oct 8, 2017 |
0.3.1 | Apr 5, 2017 |
0.1.20 | Nov 8, 2016 |
#2168 in Database interfaces
78KB
2K
SLoC
gauc
Couchbase Rust Adapter / CLI
Why gauc? "gauč" is czech slang term for couch.
This project was originaly inspired by couchbase-rs
Status
Roadmap
See ROADMAP or milestones for up-to-date info.
Prerequisites
Features
High Level Client Functions
- add
- append
- get
- prepend
- remove
- replace
- set
- store
- upsert
Wrapped functions
- lcb_connect
- lcb_create
- lcb_destroy
- lcb_get3
- lcb_get_bootstrap_status
- lcb_install_callback3
- lcb_remove3
- lcb_store3
- lcb_strerror
- lcb_wait
REST Interface
Bucket REST Interface
-
DELETE /bucket/<BUCKET_NAME>/doc/<ID> - delete
-
GET /bucket/<BUCKET_NAME>/doc/<ID> - get
-
POST /bucket/<BUCKET_NAME>/doc/<ID> - upsert (implicit)
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/add - add
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/append - append
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/prepend - prepend
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/replace - replace
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/set - set
-
POST /bucket/<BUCKET_NAME>/doc/<ID>/upsert - upsert (explitcit)
Getting started
Sources
git clone https://github.com/korczis/gauc.git
First Build
$ cargo build
Compiling strsim v0.5.1
Compiling bitflags v0.7.0
Compiling ansi_term v0.9.0
Compiling vec_map v0.6.0
Compiling libc v0.2.16
Compiling unicode-segmentation v0.1.2
Compiling unicode-width v0.1.3
Compiling term_size v0.2.1
...
...
...
Compiling clap v2.14.0
Compiling gauc v0.1.0 (file:///Users/tomaskorcak/dev/microcrawler/gauc)
Finished debug [unoptimized + debuginfo] target(s) in 16.33 secs
Build Examples
TODO: Create make (Makefile) for these
For list of all examples see examples folder
couchbase - Low Level Couchbase Access
$ cargo build --example couchbase
Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs
hello_world - Initialize High Level Couchbase Client
$ cargo build --example hello_world
Compiling gauc v0.1.0 (file:///Users/tomaskorcak/dev/microcrawler/gauc)
Finished debug [unoptimized + debuginfo] target(s) in 1.7 secs
Examples
For examples see examples folder.
Usage
Show help
$ ./target/debug/gauc -h
Couchbase Rust Adapter / CLI / REST Interface 0.1.17
Tomas Korcak <korczis@gmail.com>
USAGE:
gauc [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-i, --interactive Interactive mode
-r, --rest Run REST Server
-V, --version Prints version information
-v, --verbose Verbose mode
OPTIONS:
-p, --rest-port <rest-port> REST Port [default: 5000]
-u, --url <url> URL - connection string [default: couchbase://localhost/default]
License
Copyright 2016 Tomas Korcak korczis@gmail.com.
Licensed under the MIT License.
See LICENSE for further details.
Dependencies
~12–20MB
~318K SLoC