Class: Rotulus::DB::MySQL

Inherits:
Database show all
Defined in:
lib/rotulus/db/mysql.rb

Instance Method Summary collapse

Methods inherited from Database

#default_nulls_order, #name, #nulls_in_default_order?, #order_sql, #reversed_order_sql

Instance Method Details

#nullable_order_sql(column_name, sort_direction, nulls) ⇒ Object



14
15
16
17
18
19
# File 'lib/rotulus/db/mysql.rb', line 14

def nullable_order_sql(column_name, sort_direction, nulls)
  sql = order_sql(column_name, sort_direction)
  return sql if nulls_in_default_order?(sort_direction, nulls)

  "#{column_name} #{nulls_order_sql(nulls)}, #{sql}"
end

#nulls_order_sql(nulls) ⇒ Object



8
9
10
11
12
# File 'lib/rotulus/db/mysql.rb', line 8

def nulls_order_sql(nulls)
  return 'is not null' if nulls == :first

  'is null'
end

#reversed_nullable_order_sql(column_name, sort_direction, nulls) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/rotulus/db/mysql.rb', line 21

def reversed_nullable_order_sql(column_name, sort_direction, nulls)
  sql = reversed_order_sql(column_name, sort_direction)

  nulls = reverse_nulls(nulls)
  return sql if nulls_in_default_order?(reverse_sort_direction(sort_direction), nulls)

  "#{column_name} #{nulls_order_sql(nulls)}, #{sql}"
end

#select_all_sql(table_name) ⇒ Object



4
5
6
# File 'lib/rotulus/db/mysql.rb', line 4

def select_all_sql(table_name)
  "`#{table_name}`.*"
end