aerospike_native 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55fd092a56f2b28d9fff6ab918d7aae3f19324e3
4
- data.tar.gz: 687914c31d0f71e661d0453434136ef1b75f33ab
3
+ metadata.gz: 296cfb9cc494979027c364feb4637e48ddece680
4
+ data.tar.gz: fce6ce9af517cfe235f3c9e387ecb9816d38ba39
5
5
  SHA512:
6
- metadata.gz: 0e0b41edd06ad7599ed15866119471672f080358dab8346c94fe3bdabe5dad75eac914aa8026c0c406255582780565242f8aabb275eb3e6c27856ce0ac1e24f3
7
- data.tar.gz: 15595c8b755ba4d88ef78342d4d277060c93f8c5ae78fc37b09087332f194f1e85f1649b54e4259f59da30ee278db79c5c3ce7188fbc5c22a1daa8d56cb13f68
6
+ metadata.gz: 8ce57e918e11980f5fbc9bc33d2db296f271be0f0d6043575d0ca1bf3cd4ba2893d416357fd1593e3269121a543868d277761787be3ee8d03493081e0fbdbef8
7
+ data.tar.gz: 4ff43fc3ec7bf72679014cce05a30efa09d5444c1c8a32ebc61122a43dd3c113eaa1aaef238fcd2e51b8678ff43dd236e7740c0e6ff74a998cfef8b27758a753
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AerospikeNative
2
2
 
3
- TODO: Write a gem description
3
+ Ruby [aerospike](http://www.aerospike.com/) client with c extension (unstable)
4
4
 
5
5
  ## Installation
6
6
 
@@ -17,14 +17,31 @@ And then execute:
17
17
  Or install it yourself as:
18
18
 
19
19
  $ gem install aerospike_native
20
+
21
+ ## Current status
22
+
23
+ * `operate` command with _write_, _increment_, _append_, _prepend_
24
+ * `put` command
25
+ * `get` command without digest keys support
26
+ * Raw (bytes) type is not supported
27
+ * Supported timeout for policies
20
28
 
21
29
  ## Usage
22
30
 
23
- TODO: Write usage instructions here
31
+ ```ruby
32
+ require 'aerospike_native'
33
+
34
+ client = AerospikeNative::Client.new([{'host' => '127.0.0.1', 'port' => 3000}])
35
+ key = AerospikeNative::Key.new('test', 'test', 'sample')
36
+ client.put(key, {'bin1' => 1, 'bin2' => 'test'}, {'timeout' => 1})
37
+ client.operate(key, [AerospikeNative::Operation.write('bin3', 25), AerospikeNative::Operation.increment('bin1', 2), AerospikeNative::Operation.append('bin1', '_aerospike')], {'timeout' => 1})
38
+
39
+ record = client.get(key)
40
+ ```
24
41
 
25
42
  ## Contributing
26
43
 
27
- 1. Fork it ( https://github.com/[my-github-username]/aerospike_native/fork )
44
+ 1. Fork it ( https://github.com/rainlabs/aerospike_native/fork )
28
45
  2. Create your feature branch (`git checkout -b my-new-feature`)
29
46
  3. Commit your changes (`git commit -am 'Add some feature'`)
30
47
  4. Push to the branch (`git push origin my-new-feature`)
@@ -9,6 +9,7 @@ VALUE AerospikeNativeClass;
9
9
  void Init_aerospike_native()
10
10
  {
11
11
  AerospikeNativeClass = rb_define_module("AerospikeNative");
12
+ define_exception();
12
13
  define_client();
13
14
  define_native_key();
14
15
  define_record();
@@ -1,10 +1,10 @@
1
1
  #ifndef AEROSPIKE_NATIVE_H
2
2
  #define AEROSPIKE_NATIVE_H
3
3
 
4
- #include <ruby.h>
4
+ #include "common.h"
5
5
  #include <aerospike/aerospike.h>
6
6
 
7
- extern VALUE AerospikeNativeClass;
7
+ RUBY_EXTERN VALUE AerospikeNativeClass;
8
8
 
9
9
  #endif // AEROSPIKE_NATIVE_H
10
10
 
@@ -27,23 +27,6 @@ static VALUE client_allocate(VALUE klass)
27
27
  return obj;
28
28
  }
29
29
 
30
- static int keys_i(VALUE key, VALUE value, VALUE ary)
31
- {
32
- rb_ary_push(ary, key);
33
- return ST_CONTINUE;
34
- }
35
-
36
- static VALUE
37
- rb_hash_keys(VALUE hash)
38
- {
39
- VALUE ary;
40
-
41
- ary = rb_ary_new_capa(RHASH_SIZE(hash));
42
- rb_hash_foreach(hash, keys_i, ary);
43
-
44
- return ary;
45
- }
46
-
47
30
  VALUE client_initialize(int argc, VALUE* argv, VALUE self)
48
31
  {
49
32
  VALUE ary = Qnil;
@@ -91,8 +74,7 @@ VALUE client_initialize(int argc, VALUE* argv, VALUE self)
91
74
  aerospike_init(ptr, &config);
92
75
 
93
76
  if ( aerospike_connect(ptr, &err) != AEROSPIKE_OK ) {
94
- printf( "Aerospike error (%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line );
95
- rb_raise(rb_eRuntimeError, "Aerospike error (%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
77
+ raise_aerospike_exception(err.code, err.message);
96
78
  }
97
79
  return self;
98
80
  }
@@ -105,13 +87,11 @@ VALUE client_put(int argc, VALUE* vArgs, VALUE vSelf)
105
87
  VALUE vHashKeys;
106
88
 
107
89
  aerospike *ptr;
108
- as_key key;
90
+ as_key* key;
109
91
  as_error err;
110
92
  as_record record;
111
93
  as_policy_write policy;
112
94
 
113
- VALUE vNamespace, vSet, vKeyValue;
114
-
115
95
  int idx = 0, n = 0;
116
96
 
117
97
  if (argc > 3 || argc < 2) { // there should only be 2 or 3 arguments
@@ -169,19 +149,15 @@ VALUE client_put(int argc, VALUE* vArgs, VALUE vSelf)
169
149
  as_record_set_int64(&record, StringValueCStr(bin_name), NUM2LONG(bin_value));
170
150
  break;
171
151
  default:
172
- rb_raise(rb_eArgError, "Incorrect input type");
152
+ rb_raise(rb_eArgError, "Incorrect input type (expected string or fixnum)");
173
153
  break;
174
154
  }
175
155
  }
176
156
 
177
- vNamespace = rb_iv_get(vKey, "@namespace");
178
- vSet = rb_iv_get(vKey, "@set");
179
- vKeyValue = rb_iv_get(vKey, "@value");
180
- as_key_init_str(&key, StringValueCStr( vNamespace ), StringValueCStr( vSet ), StringValueCStr( vKeyValue ));
157
+ Data_Get_Struct(vKey, as_key, key);
181
158
 
182
- if (aerospike_key_put(ptr, &err, &policy, &key, &record) != AEROSPIKE_OK) {
183
- printf("error\n");
184
- fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
159
+ if (aerospike_key_put(ptr, &err, &policy, key, &record) != AEROSPIKE_OK) {
160
+ raise_aerospike_exception(err.code, err.message);
185
161
  }
186
162
 
187
163
  return Qtrue;
@@ -194,13 +170,12 @@ VALUE client_get(int argc, VALUE* vArgs, VALUE vSelf)
194
170
  VALUE vParams[4];
195
171
 
196
172
  aerospike *ptr;
197
- as_key key;
173
+ as_key* key;
198
174
  as_error err;
199
175
  as_record* record = NULL;
200
176
  as_policy_read policy;
201
177
  as_bin bin;
202
178
 
203
- VALUE vNamespace, vSet, vKeyValue;
204
179
  int n = 0;
205
180
 
206
181
  if (argc > 2 || argc < 1) { // there should only be 1 or 2 arguments
@@ -233,16 +208,11 @@ VALUE client_get(int argc, VALUE* vArgs, VALUE vSelf)
233
208
  }
234
209
 
235
210
  Data_Get_Struct(vSelf, aerospike, ptr);
236
- vNamespace = rb_iv_get(vKey, "@namespace");
237
- vSet = rb_iv_get(vKey, "@set");
238
- vKeyValue = rb_iv_get(vKey, "@value");
239
- as_key_init_str(&key, StringValueCStr( vNamespace ), StringValueCStr( vSet ), StringValueCStr( vKeyValue ));
240
-
241
- if (aerospike_key_get(ptr, &err, &policy, &key, &record) != AEROSPIKE_OK) {
242
- printf("error\n");
243
- fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
211
+ Data_Get_Struct(vKey, as_key, key);
212
+
213
+ if (aerospike_key_get(ptr, &err, &policy, key, &record) != AEROSPIKE_OK) {
214
+ raise_aerospike_exception(err.code, err.message);
244
215
  }
245
- rb_iv_set(vKey, "@digest", rb_str_new( record->key.digest.value, AS_DIGEST_VALUE_SIZE));
246
216
 
247
217
  vParams[0] = vKey;
248
218
  vParams[1] = rb_hash_new();
@@ -276,12 +246,10 @@ VALUE client_operate(int argc, VALUE* argv, VALUE vSelf)
276
246
 
277
247
  aerospike *ptr;
278
248
  as_operations ops;
279
- as_key key;
249
+ as_key* key;
280
250
  as_error err;
281
251
  as_policy_operate policy;
282
252
 
283
- VALUE vNamespace, vSet, vKeyValue;
284
-
285
253
  if (argc > 3 || argc < 2) { // there should only be 2 or 3 arguments
286
254
  rb_raise(rb_eArgError, "wrong number of arguments (%d for 2..3)", argc);
287
255
  }
@@ -328,7 +296,7 @@ VALUE client_operate(int argc, VALUE* argv, VALUE vSelf)
328
296
  VALUE bin_value = rb_iv_get(operation, "@bin_value");
329
297
 
330
298
  switch( op_type ) {
331
- case WRITE:
299
+ case OPERATION_WRITE:
332
300
  switch( TYPE(bin_value) ) {
333
301
  case T_STRING:
334
302
  as_operations_add_write_str(&ops, StringValueCStr( bin_name ), StringValueCStr( bin_value ));
@@ -339,20 +307,20 @@ VALUE client_operate(int argc, VALUE* argv, VALUE vSelf)
339
307
  }
340
308
 
341
309
  break;
342
- case READ:
310
+ case OPERATION_READ:
343
311
  break;
344
- case INCREMENT:
312
+ case OPERATION_INCREMENT:
345
313
  as_operations_add_incr(&ops, StringValueCStr( bin_name ), NUM2INT( bin_value ));
346
314
  break;
347
- case APPEND:
315
+ case OPERATION_APPEND:
348
316
  Check_Type(bin_value, T_STRING);
349
317
  as_operations_add_append_str(&ops, StringValueCStr( bin_name ), StringValueCStr( bin_value ));
350
318
  break;
351
- case PREPEND:
319
+ case OPERATION_PREPEND:
352
320
  Check_Type(bin_value, T_STRING);
353
321
  as_operations_add_prepend_str(&ops, StringValueCStr( bin_name ), StringValueCStr( bin_value ));
354
322
  break;
355
- case TOUCH:
323
+ case OPERATION_TOUCH:
356
324
  as_operations_add_touch(&ops);
357
325
  break;
358
326
  default:
@@ -361,14 +329,10 @@ VALUE client_operate(int argc, VALUE* argv, VALUE vSelf)
361
329
  }
362
330
  }
363
331
 
364
- vNamespace = rb_iv_get(vKey, "@namespace");
365
- vSet = rb_iv_get(vKey, "@set");
366
- vKeyValue = rb_iv_get(vKey, "@value");
367
- as_key_init_str(&key, StringValueCStr( vNamespace ), StringValueCStr( vSet ), StringValueCStr( vKeyValue ));
332
+ Data_Get_Struct(vKey, as_key, key);
368
333
 
369
- if (aerospike_key_operate(ptr, &err, &policy, &key, &ops, NULL) != AEROSPIKE_OK) {
370
- printf("error\n");
371
- fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
334
+ if (aerospike_key_operate(ptr, &err, &policy, key, &ops, NULL) != AEROSPIKE_OK) {
335
+ raise_aerospike_exception(err.code, err.message);
372
336
  }
373
337
 
374
338
  as_operations_destroy(&ops);
@@ -376,11 +340,6 @@ VALUE client_operate(int argc, VALUE* argv, VALUE vSelf)
376
340
  return Qtrue;
377
341
  }
378
342
 
379
- // GET
380
- // PUT
381
-
382
- // Record
383
-
384
343
  void define_client()
385
344
  {
386
345
  ClientClass = rb_define_class_under(AerospikeNativeClass, "Client", rb_cObject);
@@ -3,7 +3,7 @@
3
3
 
4
4
  #include "aerospike_native.h"
5
5
 
6
- extern VALUE ClientClass;
6
+ RUBY_EXTERN VALUE ClientClass;
7
7
  void define_client();
8
8
 
9
9
  #endif // CLIENT_H
@@ -0,0 +1,17 @@
1
+ #include "common.h"
2
+
3
+ int keys_i(VALUE key, VALUE value, VALUE ary)
4
+ {
5
+ rb_ary_push(ary, key);
6
+ return ST_CONTINUE;
7
+ }
8
+
9
+ VALUE rb_hash_keys(VALUE hash)
10
+ {
11
+ VALUE ary;
12
+
13
+ ary = rb_ary_new_capa(RHASH_SIZE(hash));
14
+ rb_hash_foreach(hash, keys_i, ary);
15
+
16
+ return ary;
17
+ }
@@ -0,0 +1,10 @@
1
+ #ifndef COMMON_H
2
+ #define COMMON_H
3
+
4
+ #include <ruby.h>
5
+ #include "exception.h"
6
+
7
+ VALUE rb_hash_keys(VALUE hash);
8
+
9
+ #endif // COMMON_H
10
+
@@ -0,0 +1,45 @@
1
+ #include "exception.h"
2
+
3
+ VALUE ExceptionClass;
4
+
5
+ VALUE exception_initialize(VALUE vSelf, VALUE vMessage)
6
+ {
7
+ Check_Type(vMessage, T_STRING);
8
+ rb_iv_set(vSelf, "@message", vMessage);
9
+
10
+ return vSelf;
11
+ }
12
+
13
+ void define_exception()
14
+ {
15
+ ExceptionClass = rb_define_class_under(AerospikeNativeClass, "Exception", rb_eStandardError);
16
+ rb_define_method(ExceptionClass, "initialize", exception_initialize, 1);
17
+ rb_define_attr(ExceptionClass, "code", 1, 0);
18
+ rb_define_attr(ExceptionClass, "message", 1, 0);
19
+
20
+ rb_define_const(ExceptionClass, "ERR_CLIENT_ABORT", INT2FIX(AEROSPIKE_ERR_CLIENT_ABORT));
21
+ rb_define_const(ExceptionClass, "ERR_INVALID_HOST", INT2FIX(AEROSPIKE_ERR_INVALID_HOST));
22
+ rb_define_const(ExceptionClass, "NO_MORE_RECORDS", INT2FIX(AEROSPIKE_NO_MORE_RECORDS));
23
+ rb_define_const(ExceptionClass, "ERR_PARAM", INT2FIX(AEROSPIKE_ERR_PARAM));
24
+ rb_define_const(ExceptionClass, "ERR_CLIENT", INT2FIX(AEROSPIKE_ERR_CLIENT));
25
+ rb_define_const(ExceptionClass, "OK", INT2FIX(AEROSPIKE_OK));
26
+ rb_define_const(ExceptionClass, "ERR_SERVER", INT2FIX(AEROSPIKE_ERR_SERVER));
27
+ rb_define_const(ExceptionClass, "ERR_RECORD_NOT_FOUND", INT2FIX(AEROSPIKE_ERR_RECORD_NOT_FOUND)); // 2
28
+
29
+ rb_define_const(ExceptionClass, "ERR_RECORD_EXISTS", INT2FIX(AEROSPIKE_ERR_RECORD_EXISTS)); // 5
30
+ rb_define_const(ExceptionClass, "ERR_BIN_EXISTS", INT2FIX(AEROSPIKE_ERR_BIN_EXISTS)); // 6
31
+
32
+ rb_define_const(ExceptionClass, "ERR_TIMEOUT", INT2FIX(AEROSPIKE_ERR_TIMEOUT)); // 9
33
+
34
+ rb_define_const(ExceptionClass, "ERR_RECORD_TOO_BIG", INT2FIX(AEROSPIKE_ERR_RECORD_TOO_BIG)); // 13
35
+ rb_define_const(ExceptionClass, "ERR_RECORD_BUSY", INT2FIX(AEROSPIKE_ERR_RECORD_BUSY));
36
+ }
37
+
38
+ void raise_aerospike_exception(int iCode, char* sMessage)
39
+ {
40
+ VALUE vException;
41
+
42
+ vException = rb_exc_new2(ExceptionClass, sMessage);
43
+ rb_iv_set(vException, "@code", iCode);
44
+ rb_exc_raise(vException);
45
+ }
@@ -0,0 +1,11 @@
1
+ #ifndef EXCEPTION_H
2
+ #define EXCEPTION_H
3
+
4
+ #include "aerospike_native.h"
5
+
6
+ RUBY_EXTERN VALUE ExceptionClass;
7
+ void define_exception();
8
+ void raise_aerospike_exception(int iCode, char* sMessage);
9
+
10
+ #endif // EXCEPTION_H
11
+
@@ -1,16 +1,41 @@
1
1
  #include "key.h"
2
+ #include <aerospike/as_key.h>
2
3
 
3
4
  VALUE KeyClass;
4
5
 
6
+ static void key_deallocate(void *p)
7
+ {
8
+ as_key* ptr = p;
9
+ as_key_destroy(ptr);
10
+ }
11
+
12
+ static VALUE key_allocate(VALUE klass)
13
+ {
14
+ VALUE obj;
15
+ as_key *ptr;
16
+
17
+ obj = Data_Make_Struct(klass, as_key, NULL, key_deallocate, ptr);
18
+
19
+ return obj;
20
+ }
21
+
5
22
  VALUE key_initialize(VALUE vSelf, VALUE vNamespace, VALUE vSet, VALUE vValue)
6
23
  {
24
+ as_key *ptr;
25
+ as_digest* digest;
26
+
7
27
  Check_Type(vNamespace, T_STRING);
8
28
  Check_Type(vSet, T_STRING);
9
29
  Check_Type(vValue, T_STRING);
10
30
 
31
+ Data_Get_Struct(vSelf, as_key, ptr);
32
+ as_key_init_str(ptr, StringValueCStr( vNamespace ), StringValueCStr( vSet ), StringValueCStr( vValue ));
33
+ digest = as_key_digest(ptr);
34
+
11
35
  rb_iv_set(vSelf, "@namespace", vNamespace);
12
36
  rb_iv_set(vSelf, "@set", vSet);
13
37
  rb_iv_set(vSelf, "@value", vValue);
38
+ rb_iv_set(vSelf, "@digest", rb_str_new( digest->value, AS_DIGEST_VALUE_SIZE));
14
39
 
15
40
  return vSelf;
16
41
  }
@@ -27,6 +52,7 @@ void check_aerospike_key(VALUE vKey)
27
52
  void define_native_key()
28
53
  {
29
54
  KeyClass = rb_define_class_under(AerospikeNativeClass, "Key", rb_cObject);
55
+ rb_define_alloc_func(KeyClass, key_allocate);
30
56
  rb_define_method(KeyClass, "initialize", key_initialize, 3);
31
57
  rb_define_attr(KeyClass, "namespace", 1, 0);
32
58
  rb_define_attr(KeyClass, "set", 1, 0);
@@ -3,7 +3,7 @@
3
3
 
4
4
  #include "aerospike_native.h"
5
5
 
6
- extern VALUE KeyClass;
6
+ RUBY_EXTERN VALUE KeyClass;
7
7
  void define_native_key();
8
8
  void check_aerospike_key(VALUE vKey);
9
9
 
@@ -17,7 +17,7 @@ VALUE operation_initialize(VALUE vSelf, VALUE vOpType, VALUE vBinName, VALUE vBi
17
17
  VALUE operation_write(VALUE vSelf, VALUE vBinName, VALUE vBinValue)
18
18
  {
19
19
  VALUE vArgs[3];
20
- vArgs[0] = INT2NUM(WRITE);
20
+ vArgs[0] = INT2NUM(OPERATION_WRITE);
21
21
  vArgs[1] = vBinName;
22
22
  vArgs[2] = vBinValue;
23
23
  return rb_class_new_instance(3, vArgs, vSelf);
@@ -29,7 +29,7 @@ VALUE operation_append(VALUE vSelf, VALUE vBinName, VALUE vBinValue)
29
29
 
30
30
  Check_Type(vBinValue, T_STRING);
31
31
 
32
- vArgs[0] = INT2NUM(APPEND);
32
+ vArgs[0] = INT2NUM(OPERATION_APPEND);
33
33
  vArgs[1] = vBinName;
34
34
  vArgs[2] = vBinValue;
35
35
  return rb_class_new_instance(3, vArgs, vSelf);
@@ -41,7 +41,7 @@ VALUE operation_prepend(VALUE vSelf, VALUE vBinName, VALUE vBinValue)
41
41
 
42
42
  Check_Type(vBinValue, T_STRING);
43
43
 
44
- vArgs[0] = INT2NUM(PREPEND);
44
+ vArgs[0] = INT2NUM(OPERATION_PREPEND);
45
45
  vArgs[1] = vBinName;
46
46
  vArgs[2] = vBinValue;
47
47
  return rb_class_new_instance(3, vArgs, vSelf);
@@ -53,7 +53,7 @@ VALUE operation_increment(VALUE vSelf, VALUE vBinName, VALUE vBinValue)
53
53
 
54
54
  Check_Type(vBinValue, T_FIXNUM);
55
55
 
56
- vArgs[0] = INT2NUM(INCREMENT);
56
+ vArgs[0] = INT2NUM(OPERATION_INCREMENT);
57
57
  vArgs[1] = vBinName;
58
58
  vArgs[2] = vBinValue;
59
59
  return rb_class_new_instance(3, vArgs, vSelf);
@@ -3,16 +3,16 @@
3
3
 
4
4
  #include "aerospike_native.h"
5
5
 
6
- extern VALUE OperationClass;
6
+ RUBY_EXTERN VALUE OperationClass;
7
7
  void define_operation();
8
8
 
9
9
  enum OperationType {
10
- READ,
11
- WRITE,
12
- INCREMENT,
13
- APPEND,
14
- PREPEND,
15
- TOUCH
10
+ OPERATION_READ,
11
+ OPERATION_WRITE,
12
+ OPERATION_INCREMENT,
13
+ OPERATION_APPEND,
14
+ OPERATION_PREPEND,
15
+ OPERATION_TOUCH
16
16
  };
17
17
 
18
18
  #endif // OPERATION_H
@@ -3,7 +3,7 @@
3
3
 
4
4
  #include "aerospike_native.h"
5
5
 
6
- extern VALUE RecordClass;
6
+ RUBY_EXTERN VALUE RecordClass;
7
7
  void define_record();
8
8
 
9
9
  #endif // RECORD_H
@@ -1,3 +1,3 @@
1
1
  module AerospikeNative
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aerospike_native
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Ziablitskii
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-28 00:00:00.000000000 Z
11
+ date: 2015-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,12 +80,15 @@ files:
80
80
  - LICENSE.txt
81
81
  - README.md
82
82
  - Rakefile
83
- - aerospike_native.creator.user.93aa60d
84
83
  - aerospike_native.gemspec
85
84
  - ext/aerospike_native/aerospike_native.c
86
85
  - ext/aerospike_native/aerospike_native.h
87
86
  - ext/aerospike_native/client.c
88
87
  - ext/aerospike_native/client.h
88
+ - ext/aerospike_native/common.c
89
+ - ext/aerospike_native/common.h
90
+ - ext/aerospike_native/exception.c
91
+ - ext/aerospike_native/exception.h
89
92
  - ext/aerospike_native/extconf.rb
90
93
  - ext/aerospike_native/include/.keep
91
94
  - ext/aerospike_native/key.c
@@ -1,193 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE QtCreatorProject>
3
- <!-- Written by QtCreator 3.3.1, 2015-06-27T00:06:17. -->
4
- <qtcreator>
5
- <data>
6
- <variable>EnvironmentId</variable>
7
- <value type="QByteArray">{93aa60d5-4a13-46a0-a50b-d8053e37d65a}</value>
8
- </data>
9
- <data>
10
- <variable>ProjectExplorer.Project.ActiveTarget</variable>
11
- <value type="int">0</value>
12
- </data>
13
- <data>
14
- <variable>ProjectExplorer.Project.EditorSettings</variable>
15
- <valuemap type="QVariantMap">
16
- <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
17
- <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
18
- <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
19
- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
20
- <value type="QString" key="language">Cpp</value>
21
- <valuemap type="QVariantMap" key="value">
22
- <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
23
- </valuemap>
24
- </valuemap>
25
- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
26
- <value type="QString" key="language">QmlJS</value>
27
- <valuemap type="QVariantMap" key="value">
28
- <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
29
- </valuemap>
30
- </valuemap>
31
- <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
32
- <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
33
- <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
34
- <value type="int" key="EditorConfiguration.IndentSize">4</value>
35
- <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
36
- <value type="int" key="EditorConfiguration.MarginColumn">80</value>
37
- <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
38
- <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
39
- <value type="int" key="EditorConfiguration.PaddingMode">1</value>
40
- <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
41
- <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
42
- <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
43
- <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
44
- <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
45
- <value type="int" key="EditorConfiguration.TabSize">8</value>
46
- <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
47
- <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
48
- <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
49
- <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
50
- <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
51
- <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
52
- </valuemap>
53
- </data>
54
- <data>
55
- <variable>ProjectExplorer.Project.PluginSettings</variable>
56
- <valuemap type="QVariantMap"/>
57
- </data>
58
- <data>
59
- <variable>ProjectExplorer.Project.Target.0</variable>
60
- <valuemap type="QVariantMap">
61
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
62
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
63
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{67e3e301-82cd-498d-a671-f86202cae2db}</value>
64
- <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
65
- <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
66
- <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
67
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
68
- <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/rain/projects/aerospike_native</value>
69
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
70
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
71
- <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
72
- <value type="QString">all</value>
73
- </valuelist>
74
- <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">false</value>
75
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments"></value>
76
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
77
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
78
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
79
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
80
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
81
- </valuemap>
82
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
83
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
84
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
85
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
86
- </valuemap>
87
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
88
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
89
- <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
90
- <value type="QString">clean</value>
91
- </valuelist>
92
- <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">true</value>
93
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments"></value>
94
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
95
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
96
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
97
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
98
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
99
- </valuemap>
100
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
101
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
102
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
103
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
104
- </valuemap>
105
- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
106
- <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
107
- <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
108
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
109
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Default</value>
110
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
111
- </valuemap>
112
- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
113
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
114
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
115
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
116
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
117
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
118
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
119
- </valuemap>
120
- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
121
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
122
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
123
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
124
- </valuemap>
125
- <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
126
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
127
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
128
- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
129
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
130
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
131
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
132
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
133
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
134
- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
135
- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
136
- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
137
- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
138
- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
139
- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
140
- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
141
- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
142
- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
143
- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
144
- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
145
- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
146
- <value type="int">0</value>
147
- <value type="int">1</value>
148
- <value type="int">2</value>
149
- <value type="int">3</value>
150
- <value type="int">4</value>
151
- <value type="int">5</value>
152
- <value type="int">6</value>
153
- <value type="int">7</value>
154
- <value type="int">8</value>
155
- <value type="int">9</value>
156
- <value type="int">10</value>
157
- <value type="int">11</value>
158
- <value type="int">12</value>
159
- <value type="int">13</value>
160
- <value type="int">14</value>
161
- </valuelist>
162
- <value type="int" key="PE.EnvironmentAspect.Base">2</value>
163
- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
164
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
165
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
166
- <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
167
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
168
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
169
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
170
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
171
- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
172
- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
173
- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
174
- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
175
- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
176
- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
177
- </valuemap>
178
- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
179
- </valuemap>
180
- </data>
181
- <data>
182
- <variable>ProjectExplorer.Project.TargetCount</variable>
183
- <value type="int">1</value>
184
- </data>
185
- <data>
186
- <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
187
- <value type="int">18</value>
188
- </data>
189
- <data>
190
- <variable>Version</variable>
191
- <value type="int">18</value>
192
- </data>
193
- </qtcreator>