Class: Ridgepole::MySQL::Partition::RangeParser

Inherits:
Object
  • Object
show all
Defined in:
lib/ridgepole/mysql/partition/range_parser.rb

Defined Under Namespace

Classes: TimeValueParser, TransparentValueParser

Instance Method Summary collapse

Constructor Details

#initialize(between:, interval:) ⇒ RangeParser

Returns a new instance of RangeParser.



24
25
26
27
# File 'lib/ridgepole/mysql/partition/range_parser.rb', line 24

def initialize(between:, interval:)
  @between = between
  @interval = interval
end

Instance Method Details

#alter_keywordObject



29
30
31
# File 'lib/ridgepole/mysql/partition/range_parser.rb', line 29

def alter_keyword
  "PARTITION BY RANGE"
end

#partition_namesObject



39
40
41
# File 'lib/ridgepole/mysql/partition/range_parser.rb', line 39

def partition_names
  range_to_array.map(&:first)
end

#partition_stringObject



33
34
35
36
37
# File 'lib/ridgepole/mysql/partition/range_parser.rb', line 33

def partition_string
  range_to_array.map do |pname, pvalue|
    "PARTITION #{pname} VALUES LESS THAN (\"#{pvalue}\") ENGINE=InnoDB"
  end.join(",\n")
end