Class: Manifold::Terraform::SQLBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/manifold/terraform/workspace_configuration.rb

Overview

Handles building SQL for manifold routines

Instance Method Summary collapse

Constructor Details

#initialize(name, manifold_config) ⇒ SQLBuilder

Returns a new instance of SQLBuilder.



7
8
9
10
# File 'lib/manifold/terraform/workspace_configuration.rb', line 7

def initialize(name, manifold_config)
  @name = name
  @manifold_config = manifold_config
end

Instance Method Details

#build_dimensions_merge_sql(source_sql) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/manifold/terraform/workspace_configuration.rb', line 24

def build_dimensions_merge_sql(source_sql)
  "    MERGE \#{@name}.Dimensions AS TARGET\n    USING (\n      \#{source_sql}\n    ) AS source\n    ON source.id = target.id\n    WHEN MATCHED THEN UPDATE SET target.dimensions = source.dimensions\n    WHEN NOT MATCHED THEN INSERT ROW;\n  SQL\nend\n"

#build_manifold_merge_sqlObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/manifold/terraform/workspace_configuration.rb', line 12

def build_manifold_merge_sql
  return "" unless valid_config?

  "    MERGE \#{@name}.Manifold AS target USING (\n      \#{build_source_query}\n    ) AS source\n    \#{build_merge_conditions}\n    \#{build_merge_actions}\n  SQL\nend\n"