aerospike 5.7.0 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +3 -4
  2. package/aerospike-client-c.ini +1 -1
  3. package/aerospike-client-c.sha256 +1 -1
  4. package/binding.gyp +2 -0
  5. package/lib/aerospike.js +8 -0
  6. package/lib/bin.js +59 -0
  7. package/lib/binding/node-v108-darwin-arm64/aerospike.node +0 -0
  8. package/lib/binding/node-v108-darwin-x64/aerospike.node +0 -0
  9. package/lib/binding/node-v108-win32-x64/aerospike.dll +0 -0
  10. package/lib/binding/node-v108-win32-x64/aerospike.node +0 -0
  11. package/lib/binding/node-v108-win32-x64/event_core.dll +0 -0
  12. package/lib/binding/node-v108-win32-x64/getopt.dll +0 -0
  13. package/lib/binding/node-v108-win32-x64/libeay32.dll +0 -0
  14. package/lib/binding/node-v108-win32-x64/pthreadVC2.dll +0 -0
  15. package/lib/binding/node-v108-win32-x64/ssleay32.dll +0 -0
  16. package/lib/binding/node-v108-win32-x64/zlib.dll +0 -0
  17. package/lib/binding/node-v115-darwin-arm64/aerospike.node +0 -0
  18. package/lib/binding/node-v115-darwin-x64/aerospike.node +0 -0
  19. package/lib/binding/node-v115-win32-x64/aerospike.dll +0 -0
  20. package/lib/binding/node-v115-win32-x64/aerospike.node +0 -0
  21. package/lib/binding/node-v115-win32-x64/event_core.dll +0 -0
  22. package/lib/binding/node-v115-win32-x64/getopt.dll +0 -0
  23. package/lib/binding/node-v115-win32-x64/libeay32.dll +0 -0
  24. package/lib/binding/node-v115-win32-x64/pthreadVC2.dll +0 -0
  25. package/lib/binding/node-v115-win32-x64/ssleay32.dll +0 -0
  26. package/lib/binding/node-v115-win32-x64/zlib.dll +0 -0
  27. package/lib/binding/openssl@1/node-v108-linux-arm64/aerospike.node +0 -0
  28. package/lib/binding/openssl@1/node-v108-linux-x64/aerospike.node +0 -0
  29. package/lib/binding/openssl@1/node-v115-linux-arm64/aerospike.node +0 -0
  30. package/lib/binding/openssl@1/node-v115-linux-x64/aerospike.node +0 -0
  31. package/lib/binding/openssl@3/node-v108-linux-arm64/aerospike.node +0 -0
  32. package/lib/binding/openssl@3/node-v108-linux-x64/aerospike.node +0 -0
  33. package/lib/binding/openssl@3/node-v115-linux-arm64/aerospike.node +0 -0
  34. package/lib/binding/openssl@3/node-v115-linux-x64/aerospike.node +0 -0
  35. package/lib/client.js +369 -197
  36. package/lib/config.js +36 -0
  37. package/lib/error.js +5 -4
  38. package/lib/exp.js +97 -1
  39. package/lib/exp_lists.js +22 -22
  40. package/lib/exp_maps.js +52 -36
  41. package/lib/exp_operations.js +7 -1
  42. package/lib/filter.js +4 -0
  43. package/lib/maps.js +51 -0
  44. package/package.json +6 -3
  45. package/scripts/build-c-client.sh-cclient-output.log +241 -253
  46. package/scripts/build-package.ps1 +5 -4
  47. package/scripts/build-package.sh +1 -2
  48. package/scripts/prebuiltBinding.js +35 -54
  49. package/src/include/conversions.h +4 -0
  50. package/src/include/enums.h +3 -0
  51. package/src/main/aerospike.cc +2 -0
  52. package/src/main/async.cc +4 -11
  53. package/src/main/commands/batch_apply.cc +4 -4
  54. package/src/main/commands/batch_exists.cc +4 -4
  55. package/src/main/commands/batch_get.cc +4 -4
  56. package/src/main/commands/batch_remove.cc +7 -4
  57. package/src/main/commands/batch_select.cc +5 -4
  58. package/src/main/config.cc +11 -1
  59. package/src/main/enums/exp_enum.cc +1 -0
  60. package/src/main/enums/exp_read_flags.cc +37 -0
  61. package/src/main/enums/exp_write_flags.cc +41 -0
  62. package/src/main/enums/index.cc +1 -0
  63. package/src/main/expressions.cc +10 -0
  64. package/src/main/map_operations.cc +33 -3
  65. package/src/main/query.cc +18 -0
  66. package/src/main/util/conversions.cc +81 -14
  67. package/test/batch_remove.js +25 -0
  68. package/test/batch_write.js +22 -0
  69. package/test/config.js +4 -0
  70. package/test/exp.js +63 -3
  71. package/test/exp_list.js +438 -11
  72. package/test/exp_map.js +984 -10
  73. package/test/index.js +15 -0
  74. package/test/maps.js +53 -0
  75. package/test/put.js +34 -4
  76. package/test/query.js +71 -2
  77. package/test/util/options.js +2 -0
  78. package/typings/index.d.ts +1880 -1518
  79. package/lib/binding/node-v111-darwin-arm64/aerospike.node +0 -0
  80. package/lib/binding/node-v111-darwin-x64/aerospike.node +0 -0
  81. package/lib/binding/node-v93-darwin-arm64/aerospike.node +0 -0
  82. package/lib/binding/node-v93-darwin-x64/aerospike.node +0 -0
  83. package/lib/binding/openssl@1/node-v111-linux-arm64/aerospike.node +0 -0
  84. package/lib/binding/openssl@1/node-v111-linux-x64/aerospike.node +0 -0
  85. package/lib/binding/openssl@1/node-v93-linux-arm64/aerospike.node +0 -0
  86. package/lib/binding/openssl@1/node-v93-linux-x64/aerospike.node +0 -0
  87. package/lib/binding/openssl@3/node-v111-linux-arm64/aerospike.node +0 -0
  88. package/lib/binding/openssl@3/node-v111-linux-x64/aerospike.node +0 -0
  89. package/lib/binding/openssl@3/node-v93-linux-arm64/aerospike.node +0 -0
  90. package/lib/binding/openssl@3/node-v93-linux-x64/aerospike.node +0 -0
  91. package/typings/autoIndex.d.ts +0 -1709
package/README.md CHANGED
@@ -11,15 +11,14 @@
11
11
 
12
12
  The Aerospike Node.js client is a Node.js add-on module, written using V8.
13
13
 
14
- The client is compatible with Node.js 20 (LTS), 19, 18 (LTS), 16 (LTS).
14
+ The client is compatible with Node.js 20 (Upcoming LTS) and 18 (LTS).
15
15
  It supports the following operating systems:
16
16
  - RHEL 8/9
17
- - Debian 10 (x86_64 architecture only)
18
17
  - Debian 11
19
18
  - Amazon Linux 2023
20
19
  - Ubuntu 20.04/22.04 (Focal Fossa, Jammy Jellyfish)
21
20
  - Many Linux distributions compatible with one of the above OS releases.
22
- - macOS versions 11/12/13 are also supported. (Node.js 14 install unavailable on M1 Mac systems)
21
+ - macOS 12/13
23
22
 
24
23
  The client is compatible with arm64, aarch64, and x86_64 architectures.
25
24
 
@@ -301,7 +300,7 @@ const Aerospike = require('aerospike')
301
300
  Access the client API documentation at:
302
301
  [https://docs.aerospike.com/apidocs/nodejs](https://docs.aerospike.com/apidocs/nodejs).
303
302
  This documentation is built from the client's source using [JSDocs
304
- v3](http://usejsdoc.org/index.html) for every release.
303
+ v4](https://www.npmjs.com/package/jsdoc) for every release.
305
304
 
306
305
  The API docs also contain a few basic tutorials:
307
306
 
@@ -1,3 +1,3 @@
1
1
 
2
2
  # Version number of the dependencies package for C client (Windows only)
3
- AEROSPIKE_C_DEPS_VERSION=1.0.1
3
+ AEROSPIKE_C_DEPS_VERSION=1.0.2
@@ -1 +1 @@
1
- 3ef446436aa0b97dc952ab5f90141f7e2c7ff8254d545edb82654e490189d80a aerospike-client-c-dependencies.1.0.1.zip
1
+ BB7AEB63571E63FD6C9CD042DC1810743DF9C8F122C91EAFB705C2E08B87733A aerospike-client-c-dependencies.1.0.2.zip
package/binding.gyp CHANGED
@@ -145,6 +145,8 @@
145
145
  'src/main/enums/exp_enum.cc',
146
146
  'src/main/enums/batch_type.cc',
147
147
  'src/main/enums/privilege_code.cc',
148
+ 'src/main/enums/exp_read_flags.cc',
149
+ 'src/main/enums/exp_write_flags.cc',
148
150
  'src/main/stats.cc',
149
151
  'src/main/util/conversions.cc',
150
152
  'src/main/util/conversions_batch.cc',
package/lib/aerospike.js CHANGED
@@ -264,6 +264,14 @@ exports.Key = require('./key')
264
264
  */
265
265
  exports.Record = require('./record')
266
266
 
267
+ /**
268
+ * In the Aerospike database, each record (similar to a row in a relational database) stores
269
+ * data using one or more bins (like columns in a relational database).
270
+ *
271
+ * @summary {@link Bin} class
272
+ */
273
+ exports.Bin = require('./bin')
274
+
267
275
  // ========================================================================
268
276
  // Enumerations
269
277
  // ========================================================================
package/lib/bin.js ADDED
@@ -0,0 +1,59 @@
1
+ // *****************************************************************************
2
+ // Copyright 2023 Aerospike, Inc.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License")
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ // *****************************************************************************
16
+
17
+ 'use strict'
18
+
19
+ /**
20
+ * @class Bin
21
+ * @classdesc Aerospike Bin
22
+ *
23
+ * In the Aerospike database, each record (similar to a row in a relational database) stores
24
+ * data using one or more bins (like columns in a relational database). The major difference
25
+ * between bins and RDBMS columns is that you don't need to define a schema. Each record can
26
+ * have multiple bins. Bins accept the data types listed {@link https://docs.aerospike.com/apidocs/nodejs/#toc4__anchor|here}.
27
+ *
28
+ * For information about these data types and how bins support them, see {@link https://docs.aerospike.com/server/guide/data-types/scalar-data-types|this}.
29
+ *
30
+ * Although the bin for a given record or object must be typed, bins in different rows do not
31
+ * have to be the same type. There are some internal performance optimizations for single-bin namespaces.
32
+ *
33
+ * @summary Construct a new Aerospike Bin instance.
34
+ *
35
+ */
36
+ class Bin {
37
+ /** @private */
38
+ constructor (name, value, mapOrder) {
39
+ /**
40
+ * Bin name.
41
+ *
42
+ * @member {String} Bin#name
43
+ */
44
+ this.name = name
45
+
46
+ /**
47
+ * Bin value.
48
+ *
49
+ * @member {Any} Bin#value
50
+ */
51
+ if (mapOrder === 1) {
52
+ this.value = new Map(Object.entries(value))
53
+ } else {
54
+ this.value = value
55
+ }
56
+ }
57
+ }
58
+
59
+ module.exports = Bin