Class: ActiveRecord::Materialized::ReconcileResult

Inherits:
Data
  • Object
show all
Defined in:
lib/activerecord/materialized/reconcile_result.rb

Overview

The outcome of a Reconciler run: which partitions were found divergent and repaired with scoped maintenance, and whether the run was deferred because a refresh was already in flight (in which case nothing was changed — the next scheduled tick reconciles).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view_name:, mode:, repaired_keys:, deferred: false, error: nil) ⇒ ReconcileResult

Returns a new instance of ReconcileResult.



20
# File 'lib/activerecord/materialized/reconcile_result.rb', line 20

def initialize(view_name:, mode:, repaired_keys:, deferred: false, error: nil) = super

Instance Attribute Details

#deferredObject (readonly)

Returns the value of attribute deferred

Returns:

  • (Object)

    the current value of deferred



9
10
11
# File 'lib/activerecord/materialized/reconcile_result.rb', line 9

def deferred
  @deferred
end

#errorObject (readonly)

Returns the value of attribute error

Returns:

  • (Object)

    the current value of error



9
10
11
# File 'lib/activerecord/materialized/reconcile_result.rb', line 9

def error
  @error
end

#modeObject (readonly)

Returns the value of attribute mode

Returns:

  • (Object)

    the current value of mode



9
10
11
# File 'lib/activerecord/materialized/reconcile_result.rb', line 9

def mode
  @mode
end

#repaired_keysObject (readonly)

Returns the value of attribute repaired_keys

Returns:

  • (Object)

    the current value of repaired_keys



9
10
11
# File 'lib/activerecord/materialized/reconcile_result.rb', line 9

def repaired_keys
  @repaired_keys
end

#view_nameObject (readonly)

Returns the value of attribute view_name

Returns:

  • (Object)

    the current value of view_name



9
10
11
# File 'lib/activerecord/materialized/reconcile_result.rb', line 9

def view_name
  @view_name
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/activerecord/materialized/reconcile_result.rb', line 31

def failed?
  !error.nil?
end

#repaired?Boolean

Repaired real drift this run — divergence was found and applied, not deferred.

Returns:

  • (Boolean)


27
28
29
# File 'lib/activerecord/materialized/reconcile_result.rb', line 27

def repaired?
  repaired_keys.any? && !deferred
end

#repaired_partition_countObject



22
23
24
# File 'lib/activerecord/materialized/reconcile_result.rb', line 22

def repaired_partition_count
  repaired_keys.size
end