Class MergeRenderer
- java.lang.Object
-
- com.exasol.sql.rendering.AbstractFragmentRenderer
-
- com.exasol.sql.dml.merge.rendering.MergeRenderer
-
- All Implemented Interfaces:
MergeVisitor,FragmentRenderer,ValueTableVisitor
public class MergeRenderer extends AbstractFragmentRenderer implements MergeVisitor
TheInsertRendererturns SQL statement structures in to SQL strings.
-
-
Field Summary
-
Fields inherited from class com.exasol.sql.rendering.AbstractFragmentRenderer
config
-
-
Constructor Summary
Constructors Constructor Description MergeRenderer(StringRendererConfig config)Create a newMergeRendererwith custom render settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MergeRenderercreate()Create aMergeRendererusing the default renderer configuration.static MergeRenderercreate(StringRendererConfig config)Create aMergeRenderer.voidleave(InsertFields insertFields)Leave the insert field list.voidleave(ValueTable valueTable)Leave a value table.voidleave(ValueTableRow valueTableRow)Leave a row in a value table.voidvisit(DerivedColumn derivedColumn)Visit a derived column reference.voidvisit(InsertFields insertFields)Visit the insert field list.voidvisit(MatchedClause matchedClause)Visit the definition of the merge strategy in case of matching rows.voidvisit(Merge merge)VisitMERGEstatements.voidvisit(MergeColumnUpdate columnUpdate)Visit the update of a single column inside aMERGEstatement.voidvisit(MergeDeleteClause mergeDeleteClause)Visit the deletion definition.voidvisit(MergeInsertClause mergeInsertClause)Visit the insert definition.voidvisit(MergeUpdateClause mergeUpdateClause)Visit the update definition.voidvisit(NotMatchedClause notMatchedClause)Visit the merge strategy in case of rows that have no match in the destination table.voidvisit(OnClause onClause)Visit the merge condition definition.voidvisit(UsingClause using)Visit the source definition of aMERGEstatement.voidvisit(WhereClause whereClause)Visit aWHEREclause.voidvisit(Table table)Visit database tables.voidvisit(ValueTable valueTable)Visit a value table.voidvisit(ValueTableRow valueTableRow)Visit a row in a value table.-
Methods inherited from class com.exasol.sql.rendering.AbstractFragmentRenderer
append, append, appendAutoQuoted, appendCommaWhenNeeded, appendKeyWord, appendListOfValueExpressions, appendRenderedValueExpression, appendSpace, appendValueTableRow, endParenthesis, render, setLastVisited, startParenthesis
-
-
-
-
Constructor Detail
-
MergeRenderer
public MergeRenderer(StringRendererConfig config)
Create a newMergeRendererwith custom render settings.- Parameters:
config- render configuration settings
-
-
Method Detail
-
visit
public void visit(Merge merge)
Description copied from interface:MergeVisitorVisitMERGEstatements.- Specified by:
visitin interfaceMergeVisitor- Parameters:
merge-MERGEstatement to be visited.
-
visit
public void visit(Table table)
Description copied from interface:MergeVisitorVisit database tables.- Specified by:
visitin interfaceMergeVisitor- Parameters:
table- table to be visited.
-
visit
public void visit(UsingClause using)
Description copied from interface:MergeVisitorVisit the source definition of aMERGEstatement.- Specified by:
visitin interfaceMergeVisitor- Parameters:
using- source definition
-
visit
public void visit(OnClause onClause)
Description copied from interface:MergeVisitorVisit the merge condition definition.- Specified by:
visitin interfaceMergeVisitor- Parameters:
onClause- merge condition definition
-
visit
public void visit(MatchedClause matchedClause)
Description copied from interface:MergeVisitorVisit the definition of the merge strategy in case of matching rows.- Specified by:
visitin interfaceMergeVisitor- Parameters:
matchedClause- merge strategy definition for matches
-
visit
public void visit(MergeUpdateClause mergeUpdateClause)
Description copied from interface:MergeVisitorVisit the update definition.- Specified by:
visitin interfaceMergeVisitor- Parameters:
mergeUpdateClause- update definition.
-
visit
public void visit(MergeColumnUpdate columnUpdate)
Description copied from interface:MergeVisitorVisit the update of a single column inside aMERGEstatement.- Specified by:
visitin interfaceMergeVisitor- Parameters:
columnUpdate- update definition for a single column
-
visit
public void visit(MergeDeleteClause mergeDeleteClause)
Description copied from interface:MergeVisitorVisit the deletion definition.- Specified by:
visitin interfaceMergeVisitor- Parameters:
mergeDeleteClause- deletion definition
-
visit
public void visit(NotMatchedClause notMatchedClause)
Description copied from interface:MergeVisitorVisit the merge strategy in case of rows that have no match in the destination table.- Specified by:
visitin interfaceMergeVisitor- Parameters:
notMatchedClause- merge strategy for rows without match
-
visit
public void visit(MergeInsertClause mergeInsertClause)
Description copied from interface:MergeVisitorVisit the insert definition.- Specified by:
visitin interfaceMergeVisitor- Parameters:
mergeInsertClause- insert definition
-
create
public static MergeRenderer create(StringRendererConfig config)
Create aMergeRenderer.- Parameters:
config- renderer configuration- Returns:
MERGErenderer
-
create
public static MergeRenderer create()
Create aMergeRendererusing the default renderer configuration.- Returns:
MERGErenderer
-
visit
public void visit(DerivedColumn derivedColumn)
Description copied from interface:MergeVisitorVisit a derived column reference.- Specified by:
visitin interfaceMergeVisitor- Parameters:
derivedColumn- derived column reference
-
visit
public void visit(InsertFields insertFields)
Description copied from interface:MergeVisitorVisit the insert field list.- Specified by:
visitin interfaceMergeVisitor- Parameters:
insertFields- insert field list
-
leave
public void leave(InsertFields insertFields)
Description copied from interface:MergeVisitorLeave the insert field list.- Specified by:
leavein interfaceMergeVisitor- Parameters:
insertFields- insert field list
-
visit
public void visit(ValueTable valueTable)
Description copied from interface:ValueTableVisitorVisit a value table.- Specified by:
visitin interfaceValueTableVisitor- Parameters:
valueTable- value table to visit
-
leave
public void leave(ValueTable valueTable)
Description copied from interface:ValueTableVisitorLeave a value table.- Specified by:
leavein interfaceValueTableVisitor- Parameters:
valueTable- value table to leave
-
visit
public void visit(ValueTableRow valueTableRow)
Description copied from interface:ValueTableVisitorVisit a row in a value table.- Specified by:
visitin interfaceValueTableVisitor- Parameters:
valueTableRow- row to visit
-
leave
public void leave(ValueTableRow valueTableRow)
Description copied from interface:ValueTableVisitorLeave a row in a value table.- Specified by:
leavein interfaceValueTableVisitor- Parameters:
valueTableRow- row to leave
-
visit
public void visit(WhereClause whereClause)
Description copied from interface:MergeVisitorVisit aWHEREclause.- Specified by:
visitin interfaceMergeVisitor- Parameters:
whereClause- theWHEREclause to be visited
-
-