SsGen Architecture

Element

object representation of each piece of SQL.

  • ~StatementElement : represents SQL statement itself. (ex: select, delete, update, insert)
  • ~ClauseElement : represents parts of statement. (ex: select, from, where, groupby ...)
  • ~OperatorElement : represents operators in SQL (ex: in, some, join, like ...)

Writer

  • ~QueryWriter :

    write out entire SQL statement. It has mapping information between elements and writers

  • ~Writer :

    generate SQL snippet for corresponding element

Expression

Element builder class.

Expression is an API for user to generate SQL statement(element).