aerospike 2.29.0 → 4.0.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +13 -9
  4. data/lib/aerospike/batch_attr.rb +292 -0
  5. data/lib/aerospike/batch_delete.rb +48 -0
  6. data/lib/aerospike/batch_read.rb +97 -0
  7. data/lib/aerospike/batch_record.rb +83 -0
  8. data/lib/aerospike/batch_results.rb +38 -0
  9. data/lib/aerospike/batch_udf.rb +76 -0
  10. data/lib/aerospike/batch_write.rb +79 -0
  11. data/lib/aerospike/cdt/bit_operation.rb +4 -5
  12. data/lib/aerospike/cdt/map_operation.rb +24 -10
  13. data/lib/aerospike/cdt/map_policy.rb +6 -3
  14. data/lib/aerospike/cdt/map_return_type.rb +8 -0
  15. data/lib/aerospike/client.rb +39 -56
  16. data/lib/aerospike/cluster.rb +50 -46
  17. data/lib/aerospike/command/batch_index_command.rb +7 -11
  18. data/lib/aerospike/command/batch_index_node.rb +3 -4
  19. data/lib/aerospike/command/batch_operate_command.rb +151 -0
  20. data/lib/aerospike/command/batch_operate_node.rb +51 -0
  21. data/lib/aerospike/command/command.rb +231 -128
  22. data/lib/aerospike/exp/exp.rb +54 -27
  23. data/lib/aerospike/exp/exp_bit.rb +24 -24
  24. data/lib/aerospike/exp/exp_hll.rb +12 -12
  25. data/lib/aerospike/exp/exp_list.rb +101 -86
  26. data/lib/aerospike/exp/exp_map.rb +118 -110
  27. data/lib/aerospike/exp/operation.rb +2 -2
  28. data/lib/aerospike/info.rb +2 -4
  29. data/lib/aerospike/node.rb +20 -3
  30. data/lib/aerospike/operation.rb +38 -0
  31. data/lib/aerospike/policy/batch_delete_policy.rb +71 -0
  32. data/lib/aerospike/policy/batch_policy.rb +53 -4
  33. data/lib/aerospike/{command/batch_direct_node.rb → policy/batch_read_policy.rb} +17 -19
  34. data/lib/aerospike/policy/batch_udf_policy.rb +75 -0
  35. data/lib/aerospike/policy/batch_write_policy.rb +105 -0
  36. data/lib/aerospike/policy/policy.rb +3 -40
  37. data/lib/aerospike/query/query_command.rb +3 -205
  38. data/lib/aerospike/query/query_executor.rb +2 -2
  39. data/lib/aerospike/query/query_partition_command.rb +4 -230
  40. data/lib/aerospike/query/scan_executor.rb +2 -2
  41. data/lib/aerospike/query/scan_partition_command.rb +3 -3
  42. data/lib/aerospike/query/server_command.rb +2 -2
  43. data/lib/aerospike/query/statement.rb +5 -21
  44. data/lib/aerospike/task/execute_task.rb +2 -2
  45. data/lib/aerospike/utils/buffer.rb +15 -15
  46. data/lib/aerospike/version.rb +1 -1
  47. data/lib/aerospike.rb +13 -12
  48. metadata +16 -14
  49. data/lib/aerospike/command/batch_direct_command.rb +0 -105
  50. data/lib/aerospike/command/batch_direct_exists_command.rb +0 -51
  51. data/lib/aerospike/query/pred_exp/and_or.rb +0 -32
  52. data/lib/aerospike/query/pred_exp/geo_json_value.rb +0 -41
  53. data/lib/aerospike/query/pred_exp/integer_value.rb +0 -32
  54. data/lib/aerospike/query/pred_exp/op.rb +0 -27
  55. data/lib/aerospike/query/pred_exp/regex.rb +0 -32
  56. data/lib/aerospike/query/pred_exp/regex_flags.rb +0 -23
  57. data/lib/aerospike/query/pred_exp/string_value.rb +0 -29
  58. data/lib/aerospike/query/pred_exp.rb +0 -192
@@ -21,243 +21,17 @@ module Aerospike
21
21
  private
22
22
 
23
23
  class QueryPartitionCommand < QueryCommand #:nodoc:
24
- def initialize(node, tracker, policy, statement, recordset, node_partitions)
25
- super(node, policy, statement, recordset, @node_partitions)
24
+ def initialize(cluster, node, tracker, policy, statement, recordset, node_partitions)
25
+ super(cluster, node, policy, statement, recordset, @node_partitions)
26
26
  @node_partitions = node_partitions
27
27
  @tracker = tracker
28
28
  end
29
29
 
30
30
  def write_buffer
31
- function_arg_buffer = nil
32
- field_count = 0
33
- filter_size = 0
34
- bin_name_size = 0
35
-
36
- begin_cmd
37
-
38
- if @statement.namespace
39
- @data_offset += @statement.namespace.bytesize + FIELD_HEADER_SIZE
40
- field_count += 1
41
- end
42
-
43
- if @statement.set_name
44
- @data_offset += @statement.set_name.bytesize + FIELD_HEADER_SIZE
45
- field_count += 1
46
- end
47
-
48
- # Estimate recordsPerSecond field size. This field is used in new servers and not used
49
- # (but harmless to add) in old servers.
50
- if @policy.records_per_second > 0
51
- @data_offset += 4 + FIELD_HEADER_SIZE
52
- field_count += 1
53
- end
54
-
55
- # Estimate socket timeout field size. This field is used in new servers and not used
56
- # (but harmless to add) in old servers.
57
- @data_offset += 4 + FIELD_HEADER_SIZE
58
- field_count += 1
59
-
60
- # Estimate task_id field.
61
- @data_offset += 8 + FIELD_HEADER_SIZE
62
- field_count += 1
63
-
64
- filter = @statement.filters[0]
65
- bin_names = @statement.bin_names
66
- packed_ctx = nil
67
-
68
- if filter
69
- col_type = filter.collection_type
70
-
71
- # Estimate INDEX_TYPE field.
72
- if col_type > 0
73
- @data_offset += FIELD_HEADER_SIZE + 1
74
- field_count += 1
75
- end
76
-
77
- # Estimate INDEX_RANGE field.
78
- @data_offset += FIELD_HEADER_SIZE
79
- filter_size += 1 # num filters
80
- filter_size += filter.estimate_size
81
-
82
- @data_offset += filter_size
83
- field_count += 1
84
-
85
- packed_ctx = filter.packed_ctx
86
- if packed_ctx
87
- @data_offset += FIELD_HEADER_SIZE + packed_ctx.length
88
- field_count += 1
89
- end
90
- end
91
-
92
- @statement.set_task_id
93
- predexp = @policy.predexp || @statement.predexp
94
-
95
- if predexp
96
- @data_offset += FIELD_HEADER_SIZE
97
- pred_size = Aerospike::PredExp.estimate_size(predexp)
98
- @data_offset += pred_size
99
- field_count += 1
100
- end
101
-
102
- unless @policy.filter_exp.nil?
103
- exp_size = estimate_expression_size(@policy.filter_exp)
104
- field_count += 1 if exp_size > 0
105
- end
106
-
107
- # Estimate aggregation/background function size.
108
- if @statement.function_name
109
- @data_offset += FIELD_HEADER_SIZE + 1 # udf type
110
- @data_offset += @statement.package_name.bytesize + FIELD_HEADER_SIZE
111
- @data_offset += @statement.function_name.bytesize + FIELD_HEADER_SIZE
112
-
113
- function_arg_buffer = ""
114
- if @statement.function_args && @statement.function_args.length > 0
115
- function_arg_buffer = Value.of(@statement.function_args).to_bytes
116
- end
117
- @data_offset += FIELD_HEADER_SIZE + function_arg_buffer.bytesize
118
- field_count += 4
119
- end
120
-
121
- max_records = 0
122
- parts_full_size = 0
123
- parts_partial_digest_size = 0
124
- parts_partial_bval_size = 0
125
-
126
- unless @node_partitions.nil?
127
- parts_full_size = @node_partitions.parts_full.length * 2
128
- parts_partial_digest_size = @node_partitions.parts_partial.length * 20
129
-
130
- unless filter.nil?
131
- parts_partial_bval_size = @node_partitions.parts_partial.length * 8
132
- end
133
- max_records = @node_partitions.record_max
134
- end
135
-
136
- if parts_full_size > 0
137
- @data_offset += parts_full_size + FIELD_HEADER_SIZE
138
- field_count += 1
139
- end
140
-
141
- if parts_partial_digest_size > 0
142
- @data_offset += parts_partial_digest_size + FIELD_HEADER_SIZE
143
- field_count += 1
144
- end
145
-
146
- if parts_partial_bval_size > 0
147
- @data_offset += parts_partial_bval_size + FIELD_HEADER_SIZE
148
- field_count += 1
149
- end
150
-
151
- # Estimate max records field size. This field is used in new servers and not used
152
- # (but harmless to add) in old servers.
153
- if max_records > 0
154
- @data_offset += 8 + FIELD_HEADER_SIZE
155
- field_count += 1
156
- end
157
-
158
- operation_count = 0
159
- unless bin_names.empty?
160
- # Estimate size for selected bin names (query bin names already handled for old servers).
161
- bin_names.each do |bin_name|
162
- estimate_operation_size_for_bin_name(bin_name)
163
- end
164
- operation_count = bin_names.length
165
- end
166
-
167
- projected_offset = @data_offset
168
-
169
- size_buffer
170
-
171
- read_attr = INFO1_READ
172
- read_attr |= INFO1_NOBINDATA if !@policy.include_bin_data
173
- read_attr |= INFO1_SHORT_QUERY if @policy.short_query
174
-
175
- infoAttr = INFO3_PARTITION_DONE
176
-
177
- write_header(@policy, read_attr, 0, field_count, operation_count)
178
-
179
- write_field_string(@statement.namespace, FieldType::NAMESPACE) if @statement.namespace
180
- write_field_string(@statement.set_name, FieldType::TABLE) if @statement.set_name
181
-
182
- # Write records per second.
183
- write_field_int(@policy.records_per_second, FieldType::RECORDS_PER_SECOND) if @policy.records_per_second > 0
184
-
185
- write_filter_exp(@policy.filter_exp, exp_size)
186
-
187
- # Write socket idle timeout.
188
- write_field_int(@policy.socket_timeout, FieldType::SOCKET_TIMEOUT)
189
-
190
- # Write task_id field
191
- write_field_int64(@statement.task_id, FieldType::TRAN_ID)
192
-
193
- unless predexp.nil?
194
- write_field_header(pred_size, Aerospike::FieldType::PREDEXP)
195
- @data_offset = Aerospike::PredExp.write(
196
- predexp, @data_buffer, @data_offset
197
- )
198
- end
199
-
200
- if filter
201
- type = filter.collection_type
202
-
203
- if type > 0
204
- write_field_header(1, FieldType::INDEX_TYPE)
205
- @data_offset += @data_buffer.write_byte(type, @data_offset)
206
- end
207
-
208
- write_field_header(filter_size, FieldType::INDEX_RANGE)
209
- @data_offset += @data_buffer.write_byte(1, @data_offset)
210
- @data_offset = filter.write(@data_buffer, @data_offset)
211
-
212
- if packed_ctx
213
- write_field_header(packed_ctx.length, FieldType::INDEX_CONTEXT)
214
- @data_offset += @data_buffer.write_binary(packed_ctx, @data_offset)
215
- end
216
- end
217
-
218
- if @statement.function_name
219
- write_field_header(1, FieldType::UDF_OP)
220
- @data_offset += @data_buffer.write_byte(1, @data_offset)
221
- write_field_string(@statement.package_name, FieldType::UDF_PACKAGE_NAME)
222
- write_field_string(@statement.function_name, FieldType::UDF_FUNCTION)
223
- write_field_string(function_arg_buffer, FieldType::UDF_ARGLIST)
224
- end
225
-
226
- if parts_full_size > 0
227
- write_field_header(parts_full_size, FieldType::PID_ARRAY)
228
- @node_partitions.parts_full.each do |part|
229
- @data_offset += @data_buffer.write_uint16_little_endian(part.id, @data_offset)
230
- end
231
- end
232
-
233
- if parts_partial_digest_size > 0
234
- write_field_header(parts_partial_digest_size, FieldType::DIGEST_ARRAY)
235
- @node_partitions.parts_partial.each do |part|
236
- @data_offset += @data_buffer.write_binary(part.digest, @data_offset)
237
- end
238
- end
239
-
240
- if parts_partial_bval_size > 0
241
- write_field_header(parts_partial_bval_size, FieldType::BVAL_ARRAY)
242
- @node_partitions.parts_partial.each do |part|
243
- @data_offset += @data_buffer.write_uint64_little_endian(part.bval, @data_offset)
244
- end
245
- end
246
-
247
- if max_records > 0
248
- write_field(max_records, FieldType::MAX_RECORDS)
249
- end
250
-
251
- unless bin_names.empty?
252
- bin_names.each do |bin_name|
253
- write_operation_for_bin_name(bin_name, Operation::READ)
254
- end
255
- end
31
+ set_query(@cluster, @policy, @statement, false, @node_partitions)
32
+ end
256
33
 
257
- end_cmd
258
34
 
259
- nil
260
- end
261
35
 
262
36
  def should_retry(e)
263
37
  # !! converts nil to false
@@ -34,7 +34,7 @@ module Aerospike
34
34
  list.each do |node_partition|
35
35
  threads << Thread.new do
36
36
  Thread.current.abort_on_exception = true
37
- command = ScanPartitionCommand.new(policy, tracker, node_partition, namespace, set_name, bin_names, recordset)
37
+ command = ScanPartitionCommand.new(cluster, policy, tracker, node_partition, namespace, set_name, bin_names, recordset)
38
38
  begin
39
39
  command.execute
40
40
  rescue => e
@@ -48,7 +48,7 @@ module Aerospike
48
48
  else
49
49
  # Use a single thread for all nodes for all node
50
50
  list.each do |node_partition|
51
- command = ScanPartitionCommand.new(policy, tracker, node_partition, namespace, set_name, bin_names, recordset)
51
+ command = ScanPartitionCommand.new(cluster, policy, tracker, node_partition, namespace, set_name, bin_names, recordset)
52
52
  begin
53
53
  command.execute
54
54
  rescue => e
@@ -23,9 +23,9 @@ module Aerospike
23
23
 
24
24
  class ScanPartitionCommand < StreamCommand #:nodoc:
25
25
 
26
- def initialize(policy, tracker, node_partitions, namespace, set_name, bin_names, recordset)
26
+ def initialize(cluster, policy, tracker, node_partitions, namespace, set_name, bin_names, recordset)
27
27
  super(node_partitions.node)
28
-
28
+ @cluster = cluster
29
29
  @policy = policy
30
30
  @namespace = namespace
31
31
  @set_name = set_name
@@ -36,7 +36,7 @@ module Aerospike
36
36
  end
37
37
 
38
38
  def write_buffer
39
- set_scan(@policy, @namespace, @set_name, @bin_names, @node_partitions)
39
+ set_scan(@cluster, @policy, @namespace, @set_name, @bin_names, @node_partitions)
40
40
  end
41
41
 
42
42
  def should_retry(e)
@@ -33,10 +33,10 @@ module Aerospike
33
33
  end
34
34
 
35
35
  def write_buffer
36
- set_query(@policy, @statement, background, nil)
36
+ set_query(@cluster, @policy, @statement, true, nil)
37
37
  end
38
38
 
39
- def parse_row
39
+ def parse_row(result_code)
40
40
  field_count = @data_buffer.read_int16(18)
41
41
  result_code = @data_buffer.read(5).ord & 0xFF
42
42
  skip_key(field_count)
@@ -21,9 +21,7 @@ module Aerospike
21
21
  # index name, filters, and operations.
22
22
  class Statement
23
23
 
24
- attr_accessor :namespace, :set_name, :index_name, :bin_names, :task_id
25
- attr_accessor :filters, :package_name, :function_name, :function_args, :operations
26
- attr_accessor :predexp, :return_data, :records_per_second
24
+ attr_accessor :namespace, :set_name, :index_name, :bin_names, :task_id, :filters, :package_name, :function_name, :function_args, :operations, :return_data, :records_per_second
27
25
 
28
26
  def initialize(namespace, set_name, bin_names=[])
29
27
  # Namespace determines query Namespace
@@ -46,16 +44,6 @@ module Aerospike
46
44
  # aggregation function.
47
45
  @filters = []
48
46
 
49
- # Predicate expressions in postfix notation. If the expression is evaluated to false,
50
- # the record will be ommited in the results.
51
- #
52
- # This method is redundant because PredExp can now be set in the base Policy for
53
- # any transaction (including queries).
54
- #
55
- # NOTE : Policy.predexp takes precedence to this value. This value will be
56
- # deprecated in the future.
57
- @predexp = nil
58
-
59
47
  @package_name = nil
60
48
  @function_name = nil
61
49
  @function_args = nil
@@ -83,27 +71,23 @@ module Aerospike
83
71
  end
84
72
 
85
73
  def is_scan?
86
- return (filters.nil? || (filters.empty?))
74
+ filters.nil? || filters.empty?
87
75
  end
88
76
 
89
77
  def set_task_id
90
- while @task_id == 0
91
- @task_id = rand(RAND_MAX)
92
- end
78
+ @task_id = rand(RAND_MAX) while @task_id == 0
93
79
  end
94
80
 
95
81
  def reset_task_id
96
82
  @task_id = rand(RAND_MAX)
97
- while @task_id == 0
98
- @task_id = rand(RAND_MAX)
99
- end
83
+ @task_id = rand(RAND_MAX) while @task_id == 0
100
84
  end
101
85
 
102
86
 
103
87
 
104
88
  private
105
89
 
106
- RAND_MAX = 2**63 - 1
90
+ RAND_MAX = (2**63) - 1
107
91
 
108
92
  end # class
109
93
  end
@@ -1,4 +1,4 @@
1
- # Copyright 2013-2020 Aerospike, Inc.
1
+ # Copyright 2013-2023 Aerospike, Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@ module Aerospike
47
47
  end
48
48
 
49
49
  conn = node.get_connection(0)
50
- responseMap, _ = Info.request(conn, command)
50
+ responseMap, = Info.request(conn, command)
51
51
  node.put_connection(conn)
52
52
 
53
53
  response = responseMap[command]
@@ -25,7 +25,7 @@ module Aerospike
25
25
  # Buffer class to ease the work around
26
26
  class Buffer #:nodoc:
27
27
  @@buf_pool = Pool.new
28
- @@buf_pool.create_proc = Proc.new { Buffer.new }
28
+ @@buf_pool.create_proc = proc { Buffer.new }
29
29
 
30
30
  attr_accessor :buf
31
31
 
@@ -43,7 +43,7 @@ module Aerospike
43
43
  MAX_BUFFER_SIZE = 10 * 1024 * 1024
44
44
 
45
45
  def initialize(size = DEFAULT_BUFFER_SIZE, buf = nil)
46
- @buf = (buf ? buf : ("%0#{size}d" % 0))
46
+ @buf = buf || format("%0#{size}d", 0)
47
47
  @buf.force_encoding("binary")
48
48
  @slice_end = @buf.bytesize
49
49
  end
@@ -60,7 +60,7 @@ module Aerospike
60
60
  @buf.bytesize
61
61
  end
62
62
 
63
- alias_method :length, :size
63
+ alias length size
64
64
 
65
65
  def eat!(n)
66
66
  @buf.replace(@buf[n..-1])
@@ -74,7 +74,7 @@ module Aerospike
74
74
  end
75
75
 
76
76
  if @buf.bytesize < length
77
- @buf.concat("%0#{length - @buf.bytesize}d" % 0)
77
+ @buf.concat(format("%0#{length - @buf.bytesize}d", 0))
78
78
  end
79
79
  @slice_end = length
80
80
  end
@@ -144,37 +144,37 @@ module Aerospike
144
144
 
145
145
  def read_int16(offset)
146
146
  vals = @buf[offset..offset + 1]
147
- vals.unpack(INT16)[0]
147
+ vals.unpack1(INT16)
148
148
  end
149
149
 
150
150
  def read_uint16(offset)
151
151
  vals = @buf[offset..offset + 1]
152
- vals.unpack(UINT16)[0]
152
+ vals.unpack1(UINT16)
153
153
  end
154
154
 
155
155
  def read_int32(offset)
156
156
  vals = @buf[offset..offset + 3]
157
- vals.unpack(INT32)[0]
157
+ vals.unpack1(INT32)
158
158
  end
159
159
 
160
160
  def read_uint32(offset)
161
161
  vals = @buf[offset..offset + 3]
162
- vals.unpack(UINT32)[0]
162
+ vals.unpack1(UINT32)
163
163
  end
164
164
 
165
165
  def read_int64(offset)
166
166
  vals = @buf[offset..offset + 7]
167
- vals.unpack(INT64)[0]
167
+ vals.unpack1(INT64)
168
168
  end
169
169
 
170
170
  def read_uint64_little_endian(offset)
171
171
  vals = @buf[offset..offset + 7]
172
- vals.unpack(UINT64LE)[0]
172
+ vals.unpack1(UINT64LE)
173
173
  end
174
174
 
175
175
  def read_uint64(offset)
176
176
  vals = @buf[offset..offset + 7]
177
- vals.unpack(UINT64)[0]
177
+ vals.unpack1(UINT64)
178
178
  end
179
179
 
180
180
  def read_var_int64(offset, len)
@@ -190,7 +190,7 @@ module Aerospike
190
190
 
191
191
  def read_double(offset)
192
192
  vals = @buf[offset..offset + 7]
193
- vals.unpack(DOUBLE)[0]
193
+ vals.unpack1(DOUBLE)
194
194
  end
195
195
 
196
196
  def read_bool(offset, length)
@@ -219,13 +219,13 @@ module Aerospike
219
219
  @buf.bytes[start...finish].each do |c|
220
220
  if counter >= start
221
221
  print "%02x " % c
222
- ascii << (c.between?(32, 126) ? c : ?.)
223
- print " " if ascii.length == (width / 2 + 1)
222
+ ascii << (c.between?(32, 126) ? c : '.')
223
+ print " " if ascii.length == ((width / 2) + 1)
224
224
  if ascii.length > width
225
225
  ascii << "|"
226
226
  puts ascii
227
227
  ascii = "|"
228
- print "%08x " % (counter + 1)
228
+ print format("%08x ", (counter + 1))
229
229
  end
230
230
  end
231
231
  counter += 1
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Aerospike
3
- VERSION = "2.29.0"
3
+ VERSION = "4.0.0"
4
4
  end
data/lib/aerospike.rb CHANGED
@@ -43,8 +43,8 @@ require "aerospike/version"
43
43
  require "aerospike/value/particle_type"
44
44
  require "aerospike/value/value"
45
45
  require "aerospike/command/single_command"
46
- require "aerospike/command/batch_direct_node"
47
46
  require "aerospike/command/batch_index_node"
47
+ require "aerospike/command/batch_operate_node"
48
48
  require "aerospike/command/field_type"
49
49
  require "aerospike/command/command"
50
50
  require "aerospike/command/execute_command"
@@ -53,9 +53,8 @@ require "aerospike/command/batch_item"
53
53
  require "aerospike/command/operate_command"
54
54
  require "aerospike/command/exists_command"
55
55
  require "aerospike/command/multi_command"
56
- require "aerospike/command/batch_direct_command"
57
- require "aerospike/command/batch_direct_exists_command"
58
56
  require "aerospike/command/batch_index_command"
57
+ require "aerospike/command/batch_operate_command"
59
58
  require "aerospike/command/batch_index_exists_command"
60
59
  require "aerospike/command/read_header_command"
61
60
  require "aerospike/command/touch_command"
@@ -97,6 +96,10 @@ require "aerospike/policy/record_exists_action"
97
96
  require "aerospike/policy/generation_policy"
98
97
  require "aerospike/policy/policy"
99
98
  require "aerospike/policy/batch_policy"
99
+ require "aerospike/policy/batch_delete_policy"
100
+ require "aerospike/policy/batch_read_policy"
101
+ require "aerospike/policy/batch_udf_policy"
102
+ require "aerospike/policy/batch_write_policy"
100
103
  require "aerospike/policy/write_policy"
101
104
  require "aerospike/policy/scan_policy"
102
105
  require "aerospike/policy/query_policy"
@@ -105,6 +108,13 @@ require "aerospike/policy/commit_level"
105
108
  require "aerospike/policy/admin_policy"
106
109
  require "aerospike/policy/auth_mode"
107
110
 
111
+ require "aerospike/batch_record"
112
+ require "aerospike/batch_attr"
113
+ require "aerospike/batch_read"
114
+ require "aerospike/batch_write"
115
+ require "aerospike/batch_delete"
116
+ require "aerospike/batch_udf"
117
+
108
118
  require "aerospike/socket/base"
109
119
  require "aerospike/socket/ssl"
110
120
  require "aerospike/socket/tcp"
@@ -160,7 +170,6 @@ require "aerospike/query/stream_command"
160
170
  require "aerospike/query/query_command"
161
171
  require "aerospike/query/scan_command"
162
172
  require "aerospike/query/statement"
163
- require "aerospike/query/pred_exp"
164
173
  require "aerospike/query/partition_tracker"
165
174
  require "aerospike/query/partition_status"
166
175
  require "aerospike/query/partition_filter"
@@ -178,14 +187,6 @@ require "aerospike/exp/exp_bit"
178
187
  require "aerospike/exp/exp_hll"
179
188
  require "aerospike/exp/operation"
180
189
 
181
- require "aerospike/query/pred_exp/and_or"
182
- require "aerospike/query/pred_exp/geo_json_value"
183
- require "aerospike/query/pred_exp/integer_value"
184
- require "aerospike/query/pred_exp/op"
185
- require "aerospike/query/pred_exp/regex"
186
- require "aerospike/query/pred_exp/regex_flags"
187
- require "aerospike/query/pred_exp/string_value"
188
-
189
190
  module Aerospike
190
191
  extend Loggable
191
192
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aerospike
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.29.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Khosrow Afroozeh
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-08-24 00:00:00.000000000 Z
13
+ date: 2024-08-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: msgpack
@@ -56,6 +56,13 @@ files:
56
56
  - lib/aerospike.rb
57
57
  - lib/aerospike/aerospike_exception.rb
58
58
  - lib/aerospike/atomic/atomic.rb
59
+ - lib/aerospike/batch_attr.rb
60
+ - lib/aerospike/batch_delete.rb
61
+ - lib/aerospike/batch_read.rb
62
+ - lib/aerospike/batch_record.rb
63
+ - lib/aerospike/batch_results.rb
64
+ - lib/aerospike/batch_udf.rb
65
+ - lib/aerospike/batch_write.rb
59
66
  - lib/aerospike/bin.rb
60
67
  - lib/aerospike/cdt/bit_operation.rb
61
68
  - lib/aerospike/cdt/bit_overflow_action.rb
@@ -87,13 +94,12 @@ files:
87
94
  - lib/aerospike/cluster/partition_parser.rb
88
95
  - lib/aerospike/cluster/rack_parser.rb
89
96
  - lib/aerospike/command/admin_command.rb
90
- - lib/aerospike/command/batch_direct_command.rb
91
- - lib/aerospike/command/batch_direct_exists_command.rb
92
- - lib/aerospike/command/batch_direct_node.rb
93
97
  - lib/aerospike/command/batch_index_command.rb
94
98
  - lib/aerospike/command/batch_index_exists_command.rb
95
99
  - lib/aerospike/command/batch_index_node.rb
96
100
  - lib/aerospike/command/batch_item.rb
101
+ - lib/aerospike/command/batch_operate_command.rb
102
+ - lib/aerospike/command/batch_operate_node.rb
97
103
  - lib/aerospike/command/command.rb
98
104
  - lib/aerospike/command/delete_command.rb
99
105
  - lib/aerospike/command/execute_command.rb
@@ -148,7 +154,11 @@ files:
148
154
  - lib/aerospike/peers/parse.rb
149
155
  - lib/aerospike/policy/admin_policy.rb
150
156
  - lib/aerospike/policy/auth_mode.rb
157
+ - lib/aerospike/policy/batch_delete_policy.rb
151
158
  - lib/aerospike/policy/batch_policy.rb
159
+ - lib/aerospike/policy/batch_read_policy.rb
160
+ - lib/aerospike/policy/batch_udf_policy.rb
161
+ - lib/aerospike/policy/batch_write_policy.rb
152
162
  - lib/aerospike/policy/client_policy.rb
153
163
  - lib/aerospike/policy/commit_level.rb
154
164
  - lib/aerospike/policy/consistency_level.rb
@@ -168,14 +178,6 @@ files:
168
178
  - lib/aerospike/query/partition_filter.rb
169
179
  - lib/aerospike/query/partition_status.rb
170
180
  - lib/aerospike/query/partition_tracker.rb
171
- - lib/aerospike/query/pred_exp.rb
172
- - lib/aerospike/query/pred_exp/and_or.rb
173
- - lib/aerospike/query/pred_exp/geo_json_value.rb
174
- - lib/aerospike/query/pred_exp/integer_value.rb
175
- - lib/aerospike/query/pred_exp/op.rb
176
- - lib/aerospike/query/pred_exp/regex.rb
177
- - lib/aerospike/query/pred_exp/regex_flags.rb
178
- - lib/aerospike/query/pred_exp/string_value.rb
179
181
  - lib/aerospike/query/query_command.rb
180
182
  - lib/aerospike/query/query_executor.rb
181
183
  - lib/aerospike/query/query_partition_command.rb
@@ -230,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
232
  - !ruby/object:Gem::Version
231
233
  version: '0'
232
234
  requirements: []
233
- rubygems_version: 3.3.3
235
+ rubygems_version: 3.5.11
234
236
  signing_key:
235
237
  specification_version: 4
236
238
  summary: An Aerospike driver for Ruby.