Sha256: c80c372689dc85ba63720249bd3844c958f9168ca40e149f12cff33e2e33b529

Contents?: true

Size: 810 Bytes

Versions: 3

Compression:

Stored size: 810 Bytes

Contents

module Timescale
  class Chunk < ActiveRecord::Base
    self.table_name = "timescaledb_information.chunks"
    self.primary_key = "chunk_name"

    belongs_to :hypertable, foreign_key: :hypertable_name

    scope :compressed, -> { where(is_compressed: true) }
    scope :uncompressed, -> { where(is_compressed: false) }

    scope :resume, -> do
      {
        total: count,
        compressed: compressed.count,
        uncompressed: uncompressed.count
      }
    end

    def compress!
      execute("SELECT compress_chunk(#{chunk_relation})")
    end

    def decompress!
      execute("SELECT decompress_chunk(#{chunk_relation})")
    end

    def chunk_relation
      "('#{chunk_schema}.#{chunk_name}')::regclass"
    end

    def execute(sql)
      self.class.connection.execute(sql)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
timescaledb-0.1.5 lib/timescale/chunk.rb
timescaledb-0.1.4 lib/timescale/chunk.rb
timescaledb-0.1.3 lib/timescale/chunk.rb