Module: SqlGenius::Core::QueryBuilders

Extended by:
QueryBuilders
Included in:
QueryBuilders
Defined in:
lib/sql_genius/core/query_builders.rb,
lib/sql_genius/core/query_builders/mysql.rb,
lib/sql_genius/core/query_builders/postgresql.rb

Overview

Factory for dialect-specific SQL query builders used by the analysis classes. Each builder is a stateless module exposing class methods that return raw SQL strings; the analysis class is responsible for executing them and mapping result rows into output hashes.

Builders intentionally output a stable column-name contract so that downstream transformation logic doesn’t need to know which dialect produced the rows. See QueryBuilders::Mysql and ::Postgresql.

Defined Under Namespace

Modules: Mysql, Postgresql

Instance Method Summary collapse

Instance Method Details

#for(connection) ⇒ Object



16
17
18
19
20
21
# File 'lib/sql_genius/core/query_builders.rb', line 16

def for(connection)
  case connection.server_version.dialect
  when :postgresql then Postgresql
  else Mysql
  end
end