Class GenericSQLGenerator

java.lang.Object
net.ontopia.persistence.query.sql.GenericSQLGenerator
All Implemented Interfaces:
SQLGeneratorIF
Direct Known Subclasses:
MySQLGenerator, OracleSQLGenerator, PostgreSQLGenerator, SQLServerSQLGenerator

public class GenericSQLGenerator extends Object implements SQLGeneratorIF
INTERNAL: Generic SQL statement generator.
  • Field Details

  • Constructor Details

    • GenericSQLGenerator

      protected GenericSQLGenerator(Map properties)
  • Method Details

    • createSQLStatement

      public SQLStatementIF createSQLStatement(SQLQuery query)
      Description copied from interface: SQLGeneratorIF
      INTERNAL: Create a concrete SQL statement from the given abstract SQL query.
      Specified by:
      createSQLStatement in interface SQLGeneratorIF
    • createStatement

      protected String createStatement(SQLQuery query, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createStatement

      protected String createStatement(SQLExpressionIF filter, List selects, boolean distinct, int offset, int limit, List orderby, boolean issetquery, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createSelectClause

      protected StringBuilder createSelectClause(List selects, boolean distinct, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createWhereClause

      protected StringBuilder createWhereClause(SQLExpressionIF filter, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createFromClause

      protected StringBuilder createFromClause(SQLExpressionIF filter, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createGroupByClause

      protected StringBuilder createGroupByClause(net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createOrderByClause

      protected StringBuilder createOrderByClause(List orderby, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createOffsetLimitClause

      protected StringBuilder createOffsetLimitClause(int offset, int limit, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • createStatement

      protected String createStatement(StringBuilder sql_select, StringBuilder sql_where, StringBuilder sql_from, StringBuilder sql_group_by, StringBuilder sql_order_by, StringBuilder sql_offset_limit, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • analyzeQuery

      protected void analyzeQuery(SQLQuery sqlquery, Map tlevels, Integer level)
    • analyzeSelect

      protected void analyzeSelect(List selects, Map tlevels, Integer level)
    • analyzeOrderBy

      protected void analyzeOrderBy(List orderby, Map tlevels, Integer level)
    • analyzeExpression

      protected void analyzeExpression(SQLExpressionIF expr, Map tlevels, Integer level)
    • analyzeExpressions

      protected void analyzeExpressions(SQLExpressionIF[] exprs, Map tlevels, Integer level)
    • analyzeValue

      protected void analyzeValue(SQLValueIF value, Map tlevels, Integer level)
    • produceSelect

      protected void produceSelect(List selects, boolean distinct, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • produceGroupBy

      protected void produceGroupBy(StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • produceOrderBy

      protected void produceOrderBy(List orderby, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • isFromLevel

      protected boolean isFromLevel(SQLTable tbl, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • produceFrom

      protected void produceFrom(StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSubSelectAlias

      protected void fromSubSelectAlias(StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • produceWhere

      protected void produceWhere(SQLExpressionIF filter, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectSQLAggregateIF

      protected void selectSQLAggregateIF(SQLAggregateIF aggregate, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectColumnAlias

      protected void selectColumnAlias(SQLAggregateIF aggregate, StringBuilder sql)
    • selectColumnAlias

      protected void selectColumnAlias(SQLValueIF value, StringBuilder sql)
    • selectSQLValueIF

      protected void selectSQLValueIF(SQLValueIF value, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectSQLColumns

      protected void selectSQLColumns(SQLColumns columns, SQLValueIF refvalue, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info, boolean nonagg)
    • selectSQLPrimitive

      protected void selectSQLPrimitive(SQLPrimitive value, SQLValueIF refvalue, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectSQLNull

      protected void selectSQLNull(SQLNull value, SQLValueIF refvalue, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectSQLVerbatim

      protected void selectSQLVerbatim(SQLVerbatim value, SQLValueIF refvalue, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • selectSQLFunction

      protected void selectSQLFunction(SQLFunction value, SQLValueIF refvalue, boolean register, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLTable

      protected void fromSQLTable(SQLTable table, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLJoin

      protected void fromSQLJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLCrossJoin

      protected void fromSQLCrossJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLLeftOuterJoin

      protected void fromSQLLeftOuterJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLRightOuterJoin

      protected void fromSQLRightOuterJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • fromSQLJoin_GENERIC

      protected void fromSQLJoin_GENERIC(SQLJoin join, String jointype, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLExpressionIF

      protected void whereSQLExpressionIF(SQLExpressionIF expr, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLExpressionIF

      protected void whereSQLExpressionIF(SQLExpressionIF[] nexprs, String separator, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLAnd

      protected void whereSQLAnd(SQLAnd and, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLOr

      protected void whereSQLOr(SQLOr or, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLNot

      protected void whereSQLNot(SQLNot not, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLFalse

      protected void whereSQLFalse(SQLFalse expr, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLEquals

      protected void whereSQLEquals(SQLEquals equals, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLNotEquals

      protected void whereSQLNotEquals(SQLNotEquals nequals, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLValueEqualsNull

      protected void whereSQLValueEqualsNull(SQLValueIF value, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLValueNotEqualsNull

      protected void whereSQLValueNotEqualsNull(SQLValueIF value, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLIsNull

      protected void whereSQLIsNull(SQLIsNull is_null, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLLike

      protected void whereSQLLike(SQLLike like, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • isPatternFunction

      protected boolean isPatternFunction(SQLFunction func)
    • referenceSQLFunction

      protected void referenceSQLFunction(SQLFunction func, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLVerbatimExpression

      protected void whereSQLVerbatimExpression(SQLVerbatimExpression expr, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLValueExpression

      protected void whereSQLValueExpression(SQLValueExpression expr, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLExists

      protected void whereSQLExists(SQLExists exists, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo pinfo)
    • whereSQLIn

      protected void whereSQLIn(SQLIn in, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • getSetOperator

      protected String getSetOperator(int operator)
    • whereSQLSetOperation

      protected void whereSQLSetOperation(SQLSetOperation setop, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLJoin

      protected void whereSQLJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLCrossJoin

      protected void whereSQLCrossJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLCrossJoin_GENERIC

      protected void whereSQLCrossJoin_GENERIC(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLLeftOuterJoin

      protected void whereSQLLeftOuterJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLLeftOuterJoin_GENERIC

      protected void whereSQLLeftOuterJoin_GENERIC(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLLeftOuterJoin_ORACLE

      protected void whereSQLLeftOuterJoin_ORACLE(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLRightOuterJoin

      protected void whereSQLRightOuterJoin(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLRightOuterJoin_GENERIC

      protected void whereSQLRightOuterJoin_GENERIC(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • whereSQLRightOuterJoin_ORACLE

      protected void whereSQLRightOuterJoin_ORACLE(SQLJoin join, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • referenceSQLValueIFOpUnary

      protected void referenceSQLValueIFOpUnary(SQLValueIF value, String operator, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • referenceSQLValueIFOpBinary

      protected void referenceSQLValueIFOpBinary(SQLValueIF value1, String operator, SQLValueIF value2, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • atomicSQLValueIF

      protected void atomicSQLValueIF(SQLValueIF value, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • escapeString

      protected void escapeString(String value, StringBuilder sql)
    • joinSQLValueIF

      protected void joinSQLValueIF(SQLValueIF value, String separator, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • flattenSQLValueIF

      protected int flattenSQLValueIF(SQLValueIF[] values, SQLValueIF[] flatlist, int pos)
    • flattenSQLValueIF

      protected int flattenSQLValueIF(SQLValueIF value, SQLValueIF[] flatlist, int pos)
    • referenceSQLPrimitive

      protected void referenceSQLPrimitive(SQLPrimitive primitive, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • referenceSQLTableAndAlias

      protected void referenceSQLTableAndAlias(SQLTable table, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • referenceSQLColumnsColumn

      protected void referenceSQLColumnsColumn(SQLTable table, String column, StringBuilder sql, net.ontopia.persistence.query.sql.GenericSQLGenerator.BuildInfo info)
    • supportsLimitOffset

      public boolean supportsLimitOffset()
      Description copied from interface: SQLGeneratorIF
      INTERNAL: Returns true if generator supports the functionality of OFFSET/LIMIT.
      Specified by:
      supportsLimitOffset in interface SQLGeneratorIF
    • getSQLGenerator

      public static SQLGeneratorIF getSQLGenerator(String[] platforms, Map properties)
    • getSQLGenerator

      public static SQLGeneratorIF getSQLGenerator(String platform, Map properties)