Class: SimpleMySQLPartitioning::SQL

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

Class Method Summary collapse

Class Method Details

.add_sql(table_name, partition_name, value) ⇒ Object



17
18
19
20
# File 'lib/simple_mysql_partitioning/sql.rb', line 17

def add_sql(table_name, partition_name, value)
  "ALTER TABLE #{table_name}
     ADD PARTITION ( PARTITION #{partition_name} VALUES LESS THAN #{less_than(value)});"
end

.exists_sql(table_name, partition_name) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/simple_mysql_partitioning/sql.rb', line 4

def exists_sql(table_name, partition_name)
  "SELECT
      table_schema,
      table_name,
      partition_name,
      partition_ordinal_position,
      table_rows
    FROM information_schema.partitions
    WHERE table_name='#{table_name}'
      AND partition_name='#{partition_name}'
    LIMIT 1;"
end

.parge_sql(table_name, partition_name) ⇒ Object



30
31
32
# File 'lib/simple_mysql_partitioning/sql.rb', line 30

def parge_sql(table_name, partition_name)
  "ALTER TABLE #{table_name} DROP PARTITION #{partition_name};"
end

.reorganize_sql(table_name, partition_name, value, reorganize_partition_name, max_value = 'MAXVALUE') ⇒ Object



22
23
24
25
26
27
28
# File 'lib/simple_mysql_partitioning/sql.rb', line 22

def reorganize_sql(table_name, partition_name, value, reorganize_partition_name, max_value = 'MAXVALUE')
  "ALTER TABLE #{table_name}
     REORGANIZE PARTITION #{reorganize_partition_name} INTO (
       PARTITION #{partition_name} VALUES LESS THAN ('#{value}'),
       PARTITION #{reorganize_partition_name} VALUES LESS THAN #{less_than(max_value)}
     );"
end