class Aerospike::Statement
The Aerospike::Statement
class represents a query or scan statement to be executed on the database. It provides a set of properties that define the query or scan, including namespace, set name, bin names, index name, filters, and operations.
Constants
- RAND_MAX
Attributes
bin_names[RW]
filters[RW]
function_args[RW]
function_name[RW]
index_name[RW]
namespace[RW]
operations[RW]
package_name[RW]
records_per_second[RW]
return_data[RW]
set_name[RW]
task_id[RW]
Public Class Methods
new(namespace, set_name, bin_names=[])
click to toggle source
# File lib/aerospike/query/statement.rb, line 26 def initialize(namespace, set_name, bin_names=[]) # Namespace determines query Namespace @namespace = namespace # SetName determines query Set name (Optional) @set_name = set_name # IndexName determines query index name (Optional) # If not set, the server will determine the index from the filter's bin name. @index_name = nil # BinNames detemines bin names (optional) @bin_names = bin_names # Filters determine query filters (Optional) # Currently, only one filter is allowed by the server on a secondary index lookup. # If multiple filters are necessary, see QueryFilter example for a workaround. # QueryFilter demonstrates how to add additional filters in an user-defined # aggregation function. @filters = [] @package_name = nil @function_name = nil @function_args = nil @operations = nil # Limit returned records per second (rps) rate for each server. # Will not apply rps limit if records_per_second is zero. # Currently only applicable to a query without a defined filter (scan). # Default is 0 @records_per_second = 0 # TaskId determines query task id. (Optional) @task_id = rand(RAND_MAX) # determines if the query should return data @return_data = true end
Public Instance Methods
is_scan?()
click to toggle source
# File lib/aerospike/query/statement.rb, line 73 def is_scan? filters.nil? || filters.empty? end
reset_task_id()
click to toggle source
# File lib/aerospike/query/statement.rb, line 81 def reset_task_id @task_id = rand(RAND_MAX) @task_id = rand(RAND_MAX) while @task_id == 0 end
set_aggregate_function(package_name, function_name, function_args=[], return_data=true)
click to toggle source
# File lib/aerospike/query/statement.rb, line 66 def set_aggregate_function(package_name, function_name, function_args=[], return_data=true) @package_name = package_name @function_name = function_name @function_args = function_args @return_data = return_data end
set_task_id()
click to toggle source
# File lib/aerospike/query/statement.rb, line 77 def set_task_id @task_id = rand(RAND_MAX) while @task_id == 0 end