Class: SimpleMySQLPartitioning::BasePartitioning

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_mysql_partitioning/base_partitioning.rb

Direct Known Subclasses

Range

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ BasePartitioning

Returns a new instance of BasePartitioning.



8
9
10
11
# File 'lib/simple_mysql_partitioning/base_partitioning.rb', line 8

def initialize(klass)
  @klass = klass
  @table_name = klass.table_name
end

Instance Attribute Details

#klassObject (readonly)

Returns the value of attribute klass.



6
7
8
# File 'lib/simple_mysql_partitioning/base_partitioning.rb', line 6

def klass
  @klass
end

#table_nameObject (readonly)

Returns the value of attribute table_name.



6
7
8
# File 'lib/simple_mysql_partitioning/base_partitioning.rb', line 6

def table_name
  @table_name
end

Instance Method Details

#drop(partition_name) ⇒ Object



19
20
21
# File 'lib/simple_mysql_partitioning/base_partitioning.rb', line 19

def drop(partition_name)
  klass.connection.execute(SQL.parge_sql(table_name, partition_name))
end

#exists?(partition_name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/simple_mysql_partitioning/base_partitioning.rb', line 13

def exists?(partition_name)
  klass.connection.select_all(
    SQL.exists_sql(table_name, partition_name)
  ).to_hash.present?
end