===== INSERT IMPLEMENTATION =====
INSERT INTO TABLE T VALUES(1, 2, 3) – OK (assuming T has 3 int columns)
Implemented as:
Dump values to temp table
Rewrite insert to INSERT INTO T SELECT * FROM temp_table;
===== UPDATE IMPLEMENTATION =====
Implemented by rewriting query to:INSERT INTO T SELECT ROW__ID, a, ‘fred’, c FROM T WHERE name = ‘freddy’(assuming T has columns a, b, c)
ROW__ID is row identifier information from AcidInputFormat
FileSinkOperator is informed this is an update rather than a standard insert
=== DELETE IMPLEMENTATION ====
Implemented by rewriting query to:INSERT INTO T SELECT ROW__ID FROM T WHERE name = ‘freddy’
ROW__ID is row identifier information from AcidInputFormat
FileSinkOperator is informed this is a delete rather than a standard insert