aerospike
Advanced tools
Comparing version 1.0.25 to 1.0.26
@@ -5,6 +5,9 @@ # Aerospike Module | ||
- [Fields](#fields) | ||
- [filter](#filter) | ||
- [log](#log) | ||
- [operators](#operators) | ||
- [policies](#Policies) | ||
- [status](#status) | ||
- [log](#log) | ||
- [scanStatus](#scanStatus) | ||
- [scanPriority](#scanPriority) | ||
- [Functions](#functions) | ||
@@ -80,4 +83,39 @@ - [client()](#client) | ||
For details, see [status Object](status.md) | ||
<!-- | ||
################################################################################ | ||
scanStatus | ||
################################################################################ | ||
--> | ||
<a name="scanStatus"></a> | ||
### scanStatus | ||
Status of a particular background scan. | ||
```js | ||
aerospike.scanStatus | ||
``` | ||
For details, see [scanStatus Object](scanproperties.md#scanStatus) | ||
<!-- | ||
################################################################################ | ||
scanPriority | ||
################################################################################ | ||
--> | ||
<a name="scanPriority"></a> | ||
### scanPriority | ||
Priority levels for a given scan operation. | ||
```js | ||
aerospike.scanPriority | ||
``` | ||
For details, see [scanPriority Object](scanproperties.md#scanPriority) | ||
<!-- | ||
################################################################################ | ||
Log | ||
@@ -84,0 +122,0 @@ ################################################################################ |
@@ -23,2 +23,4 @@ # Client Class | ||
- [connect()](#connect) | ||
- [createIntegerIndex()](#createIntegerIndex) | ||
- [createStringIndex()](#createStringIndex) | ||
- [execute()](#execute) | ||
@@ -28,4 +30,6 @@ - [exists()](#exists) | ||
- [info()](#info) | ||
- [indexRemove()](#indexRemove) | ||
- [operate()](#operate) | ||
- [put()](#put) | ||
- [query()](#query) | ||
- [remove()](#remove) | ||
@@ -200,2 +204,75 @@ - [select()](#select) | ||
################################################################################ | ||
createIntegerIndex() | ||
################################################################################ | ||
--> | ||
<a name="createIntegerIndex"></a> | ||
### createIntegerIndex(args, callback) | ||
Creates an integer index. | ||
Parameters: | ||
- `args` - An object with these entries. ns, set, bin, index, policy. | ||
- `ns` - namespace on which index is to be created | ||
- `set` - set on which index is to be created | ||
- `bin` - bin to be indexed | ||
- `index` - name of the index to be created | ||
- `policy` - (optional) The [Info Policy object](policies.md#InfoPolicy) to use for this operation. | ||
- `callback` – The function to call when the operation completes. | ||
The parameters for the `callback` argument: | ||
- `error` – An [Error object](datamodel.md#error), which contains the status of the connect call. | ||
Example: | ||
```js | ||
var args = { ns: "test", set: "demo", bin: "bin1", index:"index_name"} | ||
client.createIntegerIndex(args, function (error) { | ||
if ( error.status == aerospike.Status.AEROSPIKE_OK ) { | ||
// handle success | ||
} | ||
else { | ||
// handle failure | ||
} | ||
}) | ||
``` | ||
<!-- | ||
################################################################################ | ||
createStringIndex() | ||
################################################################################ | ||
--> | ||
<a name="createStringIndex"></a> | ||
### createStringIndex(args, callback) | ||
Creates a string index. | ||
Parameters: | ||
- `args` - An object with these entries. ns, set, bin, index, policy. | ||
- `ns` - namespace on which index is to be created | ||
- `set` - set on which index is to be created | ||
- `bin` - bin to be indexed | ||
- `index` - name of the index to be created | ||
- `policy` - (optional) The [Info Policy object](policies.md#InfoPolicy) to use for this operation. | ||
- `callback` – The function to call when the operation completes. | ||
The parameters for the `callback` argument: | ||
- `error` – An [Error object](datamodel.md#error), which contains the status of the connect call. | ||
Example: | ||
```js | ||
var args = { ns: "test", set: "demo", bin: "bin1", index: "index_name"} | ||
client.createStringIndex(args, function (error) { | ||
if ( error.status == aerospike.Status.AEROSPIKE_OK ) { | ||
// handle success | ||
} | ||
else { | ||
// handle failure | ||
} | ||
}) | ||
``` | ||
<!-- | ||
################################################################################ | ||
execute() | ||
@@ -213,3 +290,3 @@ ################################################################################ | ||
- `key` – A [Key object](datamodel.md#key), used to locate the record in the cluster. | ||
- `udfArgs` – A [Record object](datamodel.md#UDFArgs) used for specifying the fields to store. | ||
- `udfArgs` – A [UDFArgs object](datamodel.md#UDFArgs) used for specifying the fields to store. | ||
- `policy` – (optional) A [ApplyPolicy object](policies.md#ApplyPolicy) to use for this operation. | ||
@@ -305,3 +382,35 @@ - `callback` – The function to call when the operation completes with the results of the operation. | ||
``` | ||
<!-- | ||
################################################################################ | ||
indexRemove() | ||
################################################################################ | ||
--> | ||
<a name="indexRemove"></a> | ||
### indexRemove(namespace, index, policy, callback) | ||
Remove the index provided. | ||
Parameters: | ||
- `namespace` – The namespace on which the index is present. | ||
- `index` – The name of the index to be created. | ||
- `policy` – (optional) The [Info Policy object](policies.md#InfoPolicy) to use for this operation. | ||
- `callback` – The function to call when the operation completes with the results of the operation. | ||
The parameters for the `callback` argument: | ||
- `error` – The [Error object](datamodel.md#error) representing the status of | ||
the operation. | ||
Example: | ||
```js | ||
client.indexRemove('test', 'index', function(error) { | ||
// do something | ||
}); | ||
``` | ||
<!-- | ||
@@ -343,3 +452,3 @@ ################################################################################ | ||
```js | ||
client.operate("statistics", function(err, response, host) { | ||
client.info("statistics", function(err, response, host) { | ||
// do something | ||
@@ -352,3 +461,3 @@ }); | ||
```js | ||
client.operate("statistics", {addr: "127.0.0.1", port: 3000}, function(error, response, host) { | ||
client.info("statistics", {addr: "127.0.0.1", port: 3000}, function(error, response, host) { | ||
// do something | ||
@@ -439,3 +548,27 @@ }); | ||
``` | ||
<!-- | ||
################################################################################ | ||
query() | ||
################################################################################ | ||
--> | ||
<a name="query"></a> | ||
### query(namespace, set, statement):query | ||
creates a new [query](query.md) object, which is used to define query in the database. | ||
Parameters: | ||
- `namespace` - Namespace to be queried. | ||
- `set` - Set on which the query has to be executed. | ||
- `statement` - an Instance of [Statement](query.md#Statement), which specifies the properties of | ||
a given query. | ||
Example: | ||
```js | ||
var query = client.query(ns, set); | ||
``` | ||
For details, see [Query Class](query.md) | ||
<!-- | ||
@@ -442,0 +575,0 @@ ################################################################################ |
@@ -24,2 +24,6 @@ # Configuration | ||
file : fd // fd opened by the application using fs.open() | ||
}, | ||
modlua: { | ||
systemPath: 'path to system UDF files', | ||
userPath: ' 'path to user UDF files' | ||
} | ||
@@ -31,3 +35,3 @@ }; | ||
The attributes of the configuration enumerated below. | ||
The attributes of the configuration are enumerated below. | ||
@@ -69,2 +73,9 @@ ## Configuration Attributes | ||
### `modlua` attribute | ||
The `modlua` object contains configuration values for mod-lua system and user paths. | ||
The attributes of `mod-lua` object. | ||
- `systemPath` - The path to the system UDF files. These UDF files are installed with the aerospike client library. Default location relative to node_modules is : 'node_modules/aerospike/aerospike-client-c/package/opt/aerospike/client/sys/udf/lua/' | ||
- `userPath` - The path to user's UDF files. Default location relative to node modules is : 'node_modules/aerospike/aerospike-client-c/package/opt/aerospike/client/usr/udf/lua/' |
@@ -8,5 +8,5 @@ # Operators | ||
```js | ||
var op = aerospike.operator | ||
var filter = aerospike.filter | ||
var ops = [ | ||
var filters = [ | ||
op.append('a', 'hello'), | ||
@@ -13,0 +13,0 @@ op.append('a', 'world'), |
@@ -35,7 +35,9 @@ # Introduction | ||
- [Client Class](client.md) | ||
- [Configuration Object](configuration.md) | ||
- [Data Models](datamodel.md) | ||
- [Configuration Object](configuration.md) | ||
- [Filters](filters.md) | ||
- [Operator Objects](operators.md) | ||
- [Policy Objects](policies.md) | ||
- [Operator Objects](operators.md) | ||
- [Status Codes](status.md) | ||
- [Scan Properties](scanproperties.md) | ||
@@ -5,3 +5,3 @@ # Status | ||
An enumeration of the status codes are available in `aerospike.status` object, which can be accessed similarly to: | ||
An enumeration of the status codes are available in `aerospike.status` object, which can be accessed as follows: | ||
@@ -8,0 +8,0 @@ ```js |
@@ -128,5 +128,5 @@ /******************************************************************************* | ||
******************************************************************************/ | ||
var client = aerospike.client(config); | ||
client.connect(function (err, client) { | ||
aerospike.client(config).connect(function (err, client) { | ||
if ( err.code != Status.AEROSPIKE_OK ) { | ||
@@ -181,3 +181,3 @@ console.error("Error: Aerospike server connection error. ", err.message); | ||
console.log("---"); | ||
console.timeEnd("exists"); | ||
console.timeEnd("put"); | ||
} | ||
@@ -184,0 +184,0 @@ |
{ | ||
"name" : "aerospike", | ||
"version" : "1.0.25", | ||
"version" : "1.0.26", | ||
"description" : "Aerospike Client Library", | ||
"tags" : [ "aerospike", "database", "nosql" ], | ||
"homepage" : "https://github.com/aerospike/aerospike-client-nodejs", | ||
"main" : "./build/Release/aerospike.node", | ||
"main" : "lib/aerospike", | ||
"engines" : { | ||
@@ -9,0 +9,0 @@ "node" : ">=0.10" |
102
README.md
@@ -5,3 +5,3 @@ # Aerospike Node.js Client | ||
This module is compatible with Node.js 0.10.x and supports the following operating systems: CentOS/RHEL 6.x, Debian 6+, Ubuntu 12.04, Mac OS X. | ||
This module is compatible with Node.js 0.10.x and supports the following operating systems: CentOS/RHEL 6.x, Debian 6+, Ubuntu 12.04, Ubuntu 14.04, Mac OS X. | ||
@@ -76,12 +76,82 @@ - [Usage](#Usage) | ||
Aerospike Node.js has a dependency on Aerospike C client, which is | ||
downloaded during the installation. | ||
To Download Aerospike C client, curl is required. | ||
downloaded during the installation. To Download Aerospike C client, curl is required. | ||
The client library requires the following libraries to be present on the machine for building and running. | ||
Supported operating systems: | ||
| Library Name | .rpm Package | Description | | ||
| --- | --- | --- | | ||
| libssl | openssl | | | ||
| libcrypto | openssl | Required for RIPEMD160 hash function. | | ||
| liblua5.1 | lua | Required for Lua execution, used in query aggregation. | | ||
Note: Lua is used for query aggregation. If the application is not using the aggregation feature, lua installation can be skipped. | ||
- CentOS/RHEL 6.x | ||
To install library prerequisites via `yum`: | ||
```bash | ||
sudo yum install openssl-devel lua-devel | ||
``` | ||
Some CentOS installation paths do not include necessary C development tools. You may need the following packages: | ||
```bash | ||
sudo yum install gcc gcc-c++ | ||
``` | ||
- Debian 6+ | ||
- Ubuntu 12.04 | ||
To install library prerequisites via `apt-get`: | ||
```bash | ||
sudo apt-get install libssl0.9.8 libssl-dev liblua5.1-dev | ||
``` | ||
The following symlinks need to be created for Aerospike's packaged examples to compile: | ||
```bash | ||
sudo ln -s /usr/lib/liblua5.1.so /usr/lib/liblua.so | ||
sudo ln -s /usr/lib/liblua5.1.a /usr/lib/liblua.a | ||
``` | ||
- Ubuntu 12.04+ | ||
To install library prerequisites via `apt-get`: | ||
```bash | ||
sudo apt-get install libssl0.9.8 libssl-dev liblua5.1-dev | ||
``` | ||
The following symlinks need to be created for Aerospike's packaged examples to compile: | ||
```bash | ||
sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so /usr/lib/liblua.so | ||
sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.a /usr/lib/liblua.a | ||
``` | ||
- Mac OS X | ||
Before starting with the Aerospike Nodejs Client, please make sure the following prerequisites are met: | ||
- Mac OS X 10.8 or greater. | ||
- Xcode 5 or greater. | ||
- Lua 5.1.5 library. Required when running queries with user defined aggregations. | ||
####Openssl library installation in Mac OS X. | ||
```bash | ||
$ brew install openssl | ||
$ brew link openssl --force | ||
``` | ||
#####Lua Installation in Mac OS X | ||
Lua is required for performing aggregations on results returned from the database. The following are instruction for installing Lua 5.1: | ||
```bash | ||
$ curl -O http://www.lua.org/ftp/lua-5.1.5.tar.gz | ||
$ tar xvf lua-5.1.5.tar.gz | ||
$ cd lua-5.1.5 | ||
$ make macosx | ||
$ make test | ||
$ sudo make install | ||
``` | ||
<a name="Installation"></a> | ||
@@ -112,2 +182,12 @@ ## Installation | ||
If the application uses query aggregation feature, LUA library should be installed | ||
following the instruction given in [Prerequisites](#Prerequisites). The last step | ||
in aggregation is executed in the client machine which uses LUA. To install `aerospike` | ||
library with LUA enabled, an environment variable `USELUA` must be set. For more details | ||
[Aerospike with Aggregation](#Aerospike with Aggregation) | ||
```bash | ||
$ export USELUA=1 | ||
``` | ||
<a name="Installing-via-NPM-Registry"></a> | ||
@@ -189,3 +269,15 @@ ### Installing via NPM Registry | ||
<a name="Aerospike with Aggregation"> | ||
### Aerospike with Aggregation | ||
Aerospike nodejs client does not include LUA by default during installation. Application can set | ||
an environment variable `USELUA` to inclue LUA library, and can use the Aggregation feature in | ||
Aerospike. To install with Aggregation enabled: | ||
$USELUA=1 npm install | ||
If application includes `aerospike` as a dependency in `package.json` the variable `USELUA` | ||
can be exported as a environment variable as follows: | ||
$export USELUA=1 | ||
<a name="C-Client-Resolution"></a> | ||
@@ -192,0 +284,0 @@ ### C Client Resolution |
@@ -39,3 +39,4 @@ /******************************************************************************* | ||
log: { | ||
level: options.log | ||
level: options.log, | ||
file: options.log_file | ||
}, | ||
@@ -61,2 +62,3 @@ policies: { | ||
this.timeout(3000); | ||
// number of records | ||
@@ -93,5 +95,8 @@ var nrecords = 10; | ||
expect(result.status).to.equal(status.AEROSPIKE_OK); | ||
} | ||
if( j == nrecords-1) | ||
{ | ||
done(); | ||
} | ||
} | ||
done(); | ||
}); | ||
@@ -103,2 +108,3 @@ }); | ||
this.timeout(3000); | ||
// number of records | ||
@@ -143,2 +149,3 @@ var nrecords = 10; | ||
this.timeout(5000); | ||
// number of records | ||
@@ -176,5 +183,7 @@ var nrecords = 1000; | ||
expect(result.status).to.equal(status.AEROSPIKE_OK); | ||
} | ||
if( j == results.length-1) { | ||
done(); | ||
} | ||
} | ||
done(); | ||
}); | ||
@@ -181,0 +190,0 @@ }); |
@@ -39,3 +39,4 @@ /******************************************************************************* | ||
log: { | ||
level: options.log | ||
level: options.log, | ||
file: options.log_file | ||
}, | ||
@@ -42,0 +43,0 @@ policies: { |
@@ -39,3 +39,4 @@ /******************************************************************************* | ||
log: { | ||
level: options.log | ||
level: options.log, | ||
file: options.log_file | ||
}, | ||
@@ -70,3 +71,5 @@ policies: { | ||
expect(res).to.equal(0); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -82,3 +85,5 @@ }); | ||
expect(res).to.equal(0); | ||
done(); | ||
client.remove(key, function(err, key) { | ||
done(); | ||
}); | ||
}); | ||
@@ -95,3 +100,5 @@ }); | ||
expect(res).to.equal(0); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -98,0 +105,0 @@ }); |
@@ -75,4 +75,5 @@ /******************************************************************************* | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -79,0 +80,0 @@ }); |
@@ -73,4 +73,5 @@ /******************************************************************************* | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -120,4 +121,5 @@ }); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -124,0 +126,0 @@ }); |
@@ -86,3 +86,5 @@ /******************************************************************************* | ||
expect(record['s']).to.equal(record2['s']); | ||
done(); | ||
client.remove(key2, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -123,3 +125,5 @@ | ||
expect(record['s'] + 'def').to.equal(record2['s']); | ||
done(); | ||
client.remove(key2, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -162,3 +166,5 @@ | ||
expect('def'+record['s'] ).to.equal(record2['s']); | ||
done(); | ||
client.remove(key2, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -216,3 +222,5 @@ | ||
expect(500 + ttl_diff-10).to.be.below(metadata2.ttl); | ||
done(); | ||
client.remove(key2, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -219,0 +227,0 @@ |
109
test/put.js
@@ -66,3 +66,3 @@ /******************************************************************************* | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -85,3 +85,2 @@ var rgen = recgen.record({i: valgen.integer(), s: valgen.string(), b: valgen.bytes()}); | ||
expect(_record).to.eql(record); | ||
count++; | ||
@@ -103,3 +102,3 @@ if ( count >= total ) { | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -118,4 +117,5 @@ var rgen = recgen.record({i: valgen.integer(), s: valgen.string()}); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -142,4 +142,6 @@ }); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
done(); | ||
}); | ||
@@ -164,4 +166,5 @@ }); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -174,3 +177,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -190,3 +193,5 @@ var rgen = recgen.record({list: valgen.array(), map: valgen.map()}); | ||
expect(record1).to.eql(record); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -199,3 +204,3 @@ }); | ||
//generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl:1000}); | ||
@@ -215,3 +220,5 @@ var rgen = recgen.record({list_of_list: valgen.array_of_array(), map_of_list: valgen.map_of_map()}); | ||
expect(record1).to.eql(record); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -225,3 +232,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -239,3 +246,5 @@ var rgen = recgen.record({i: valgen.integer(), s: valgen.string()}); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key1).to.eql(key); | ||
expect(key1).to.have.property('ns', key.ns); | ||
expect(key1).to.have.property('set', key.set); | ||
expect(key1).to.have.property('key', key.key); | ||
@@ -245,3 +254,5 @@ client.get(key1, function(err, record2, metadata2, key2) { | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key2).to.eql(key); | ||
expect(key2).to.have.property('ns', key.ns); | ||
expect(key2).to.have.property('set', key.set); | ||
expect(key2).to.have.property('key', key.key); | ||
expect(record2).to.eql(record); | ||
@@ -257,3 +268,5 @@ | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key4).to.eql(key); | ||
expect(key4).to.have.property('ns', key.ns); | ||
expect(key4).to.have.property('set', key.set); | ||
expect(key4).to.have.property('key', key.key); | ||
@@ -263,8 +276,11 @@ client.get(key4, function(err, record5, metadata5, key5) { | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key5).to.eql(key); | ||
expect(key5).to.have.property('ns', key.ns); | ||
expect(key5).to.have.property('set', key.set); | ||
expect(key5).to.have.property('key', key.key); | ||
expect(record5).to.eql(record3); | ||
expect(metadata5.gen).to.equal(metadata2.gen+1); | ||
expect(record5.i).to.equal(record3.i); | ||
done(); | ||
client.remove(key5, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -278,3 +294,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -292,3 +308,5 @@ var rgen = recgen.record({i: valgen.integer(), s: valgen.string()}); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key1).to.eql(key); | ||
expect(key1).to.have.property('ns', key.ns); | ||
expect(key1).to.have.property('set', key.set); | ||
expect(key1).to.have.property('key', key.key); | ||
@@ -298,3 +316,5 @@ client.get(key1, function(err, record2, metadata2, key2) { | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key2).to.eql(key); | ||
expect(key2).to.have.property('ns', key.ns); | ||
expect(key2).to.have.property('set', key.set); | ||
expect(key2).to.have.property('key', key.key); | ||
expect(record2).to.eql(record); | ||
@@ -305,3 +325,5 @@ | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key3).to.eql(key); | ||
expect(key3).to.have.property('ns', key.ns); | ||
expect(key3).to.have.property('set', key.set); | ||
expect(key3).to.have.property('key', key.key); | ||
@@ -322,3 +344,5 @@ client.get(key3, function(err, record4, metadata4, key4) { | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key5).to.eql(key); | ||
expect(key5).to.have.property('ns', key.ns); | ||
expect(key5).to.have.property('set', key.set); | ||
expect(key5).to.have.property('key', key.key); | ||
@@ -328,7 +352,10 @@ client.get(key5, function(err, record6, metadata6, key6) { | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key6).to.eql(key); | ||
expect(key6).to.have.property('ns', key.ns); | ||
expect(key6).to.have.property('set', key.set); | ||
expect(key6).to.have.property('key', key.key); | ||
expect(record6).to.eql(record); | ||
expect(metadata6.gen).to.equal(1); | ||
done(); | ||
client.remove(key6, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -345,3 +372,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -364,8 +391,14 @@ var rgen = recgen.record({ | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key1).to.eql(key); | ||
expect(key1).to.have.property('ns', key.ns); | ||
expect(key1).to.have.property('set', key.set); | ||
expect(key1).to.have.property('key', key.key); | ||
client.get(key1, function(err, record2, metadata2, key2) { | ||
expect(err).to.be.ok(); | ||
expect(err.code).to.equal(status.AEROSPIKE_OK); | ||
expect(key2).to.eql(key); | ||
expect(key2).to.have.property('ns', key.ns); | ||
expect(key2).to.have.property('set', key.set); | ||
expect(key2).to.have.property('key', key.key); | ||
expect(record2).to.eql(record); | ||
@@ -376,3 +409,5 @@ expect(record2.m).to.eql({a: 1, b: 2}); | ||
expect(record2.le).to.be.eql([]); | ||
done(); | ||
client.remove(key, function(err, key) { | ||
done(); | ||
}); | ||
}); | ||
@@ -384,3 +419,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/get/"}); | ||
var kgen = keygen.string(options.namespace, options.set, {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -401,3 +436,5 @@ var rgen = recgen.record({ | ||
expect(err.code).to.equal(status.AEROSPIKE_ERR_PARAM); | ||
done(); | ||
client.remove(key, function(err,key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -408,3 +445,3 @@ }); | ||
// generators | ||
var kgen = keygen.string(options.namespace, "", {prefix: "test/set/"}); | ||
var kgen = keygen.string(options.namespace, "", {prefix: "test/put/"}); | ||
var mgen = metagen.constant({ttl: 1000}); | ||
@@ -429,3 +466,5 @@ var rgen = recgen.record({ | ||
expect(bins.l).to.eql([1,2,3]); | ||
done(); | ||
client.remove(key2, function(err, key3){ | ||
done(); | ||
}); | ||
}); | ||
@@ -432,0 +471,0 @@ }); |
@@ -82,4 +82,6 @@ /******************************************************************************* | ||
} | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -104,7 +106,8 @@ }); | ||
var select_key = { ns:options.namespace, set: options.set} | ||
client.select(select_key, bins, function(err, _record, metadata, key) { | ||
client.select(select_key, bins, function(err, _record, metadata, key1) { | ||
expect(err).to.be.ok(); | ||
expect(err.code).to.equal(status.AEROSPIKE_ERR_PARAM); | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -167,4 +170,5 @@ }); | ||
} | ||
done(); | ||
client.remove(key, function(err, key){ | ||
done(); | ||
}); | ||
}); | ||
@@ -171,0 +175,0 @@ }); |
@@ -71,10 +71,10 @@ /******************************************************************************* | ||
// it('remove non-existent UDF module from aerospike cluster - should fail',function(done) { | ||
// var filename = "noudf.lua" | ||
// client.udfRemove(filename, function(err) { | ||
// expect(err).to.be.ok(); | ||
// expect(err.code).to.equal(status.AEROSPIKE_ERR_UDF); | ||
// done(); | ||
// }); | ||
// }); | ||
it('remove non-existent UDF module from aerospike cluster - should fail',function(done) { | ||
var filename = "noudf.lua" | ||
client.udfRemove(filename, function(err) { | ||
expect(err).to.be.ok(); | ||
expect(err.code).to.equal(status.AEROSPIKE_ERR_UDF); | ||
done(); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
788211
127
8661
367
30