Class: DeltaLake::TableMerger

Inherits:
Object
  • Object
show all
Defined in:
lib/deltalake/table_merger.rb

Instance Method Summary collapse

Constructor Details

#initialize(builder, table) ⇒ TableMerger

Returns a new instance of TableMerger.



3
4
5
6
# File 'lib/deltalake/table_merger.rb', line 3

def initialize(builder, table)
  @builder = builder
  @table = table
end

Instance Method Details

#executeObject



33
34
35
36
# File 'lib/deltalake/table_merger.rb', line 33

def execute
  metrics = @table.merge_execute(@builder)
  JSON.parse(metrics).transform_keys(&:to_sym)
end

#when_matched_delete(predicate: nil) ⇒ Object



18
19
20
21
# File 'lib/deltalake/table_merger.rb', line 18

def when_matched_delete(predicate: nil)
  @builder.when_matched_delete(predicate)
  self
end

#when_matched_update(updates, predicate: nil) ⇒ Object



8
9
10
11
# File 'lib/deltalake/table_merger.rb', line 8

def when_matched_update(updates, predicate: nil)
  @builder.when_matched_update(updates, predicate)
  self
end

#when_not_matched_by_source_delete(predicate: nil) ⇒ Object



28
29
30
31
# File 'lib/deltalake/table_merger.rb', line 28

def when_not_matched_by_source_delete(predicate: nil)
  @builder.when_not_matched_by_source_delete(predicate)
  self
end

#when_not_matched_by_source_update(updates, predicate: nil) ⇒ Object



23
24
25
26
# File 'lib/deltalake/table_merger.rb', line 23

def when_not_matched_by_source_update(updates, predicate: nil)
  @builder.when_not_matched_by_source_update(updates, predicate)
  self
end

#when_not_matched_insert(updates, predicate: nil) ⇒ Object



13
14
15
16
# File 'lib/deltalake/table_merger.rb', line 13

def when_not_matched_insert(updates, predicate: nil)
  @builder.when_not_matched_insert(updates, predicate)
  self
end