Class: Timescaledb::Rails::Hypertable

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Models::Durationable
Defined in:
lib/timescaledb/rails/models/hypertable.rb

Overview

:nodoc:

Constant Summary

Constants included from Models::Durationable

Models::Durationable::HOUR_MINUTE_SECOND_REGEX

Instance Method Summary collapse

Methods included from Models::Durationable

#parse_duration

Instance Method Details

#chunk_time_intervalString

Returns:

  • (String)


28
29
30
31
32
# File 'lib/timescaledb/rails/models/hypertable.rb', line 28

def chunk_time_interval
  interval = time_dimension.time_interval

  interval.is_a?(String) ? interval : interval.inspect
end

#compression?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/timescaledb/rails/models/hypertable.rb', line 60

def compression?
  compression_job.present?
end

#compression_order_settingsActiveRecord::Relation<CompressionSetting>

Returns:



40
41
42
# File 'lib/timescaledb/rails/models/hypertable.rb', line 40

def compression_order_settings
  compression_settings.orderby_setting.where.not(attname: time_column_name)
end

#compression_policy_intervalString

Returns:

  • (String)


45
46
47
# File 'lib/timescaledb/rails/models/hypertable.rb', line 45

def compression_policy_interval
  parse_duration(compression_job.config['compress_after'])
end

#compression_segment_settingsActiveRecord::Relation<CompressionSetting>

Returns:



35
36
37
# File 'lib/timescaledb/rails/models/hypertable.rb', line 35

def compression_segment_settings
  compression_settings.segmentby_setting
end

#reorder?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'lib/timescaledb/rails/models/hypertable.rb', line 65

def reorder?
  reorder_job.present?
end

#reorder_policy_index_nameString

Returns:

  • (String)


50
51
52
# File 'lib/timescaledb/rails/models/hypertable.rb', line 50

def reorder_policy_index_name
  reorder_job.config['index_name']
end

#retention?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/timescaledb/rails/models/hypertable.rb', line 70

def retention?
  retention_job.present?
end

#retention_policy_intervalString

Returns:

  • (String)


55
56
57
# File 'lib/timescaledb/rails/models/hypertable.rb', line 55

def retention_policy_interval
  parse_duration(retention_job.config['drop_after'])
end

#time_column_nameString

Returns:

  • (String)


23
24
25
# File 'lib/timescaledb/rails/models/hypertable.rb', line 23

def time_column_name
  time_dimension.column_name
end