Module: Cassie::Statements::Execution::PartitionLinking

Extended by:
ActiveSupport::Concern
Included in:
Cassie::Statements::Execution
Defined in:
lib/cassie/statements/execution/partition_linking/policy_methods.rb,
lib/cassie/statements/execution/partition_linking.rb,
lib/cassie/statements/execution/partition_linking/simple_policy.rb,
lib/cassie/statements/execution/partition_linking/cursoring_policy.rb

Overview

Note: currently supports only natural linking that is in the same direction as the clustering order

Defined Under Namespace

Modules: ClassMethods, PolicyMethods Classes: CursoringPolicy, SimplePolicy

Instance Method Summary collapse

Instance Method Details

#build_partition_linkerObject



42
43
44
# File 'lib/cassie/statements/execution/partition_linking.rb', line 42

def build_partition_linker
  self.class.partition_linker.new(self, *self.class.partition_linker_args)
end

#execute(*args) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/cassie/statements/execution/partition_linking.rb', line 32

def execute(*args)
  success = super
  if success && partition_linker?
    @result = build_partition_linker.link
    result.success?
  else
    success
  end
end

#partition_linker?Boolean



46
47
48
# File 'lib/cassie/statements/execution/partition_linking.rb', line 46

def partition_linker?
  !!self.class.partition_linker_args
end