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