Uploaded image for project: 'Torque'
  1. Torque
  2. TORQUE-322

Support for SQL Set Operations (UNION, INTERSECT, ...)

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.0
    • 5.0
    • None
    • None

    Description

      • It would be nice to support sql constructs like:
        SELECT * FROM sales2005 UNION SELECT * FROM sales2006;
      • If you want to realize the UNION operator you have to do something like that:

      [...]
      Criteria criteriaA = new Criteria();
      criteriaA.where( ... );
      criteriaA.addSelectColumn(COLUMNX);

      Query queryA = SqlBuilder.buildQuery(criteriaA);
      String sqlA = queryA.toString();
      List<Object> replacementsA = queryA.getPreparedStatementReplacements();

      Criteria criteriaB = new Criteria();
      criteriaB.where( ... );
      criteriaB.addSelectColumn(...);

      Query queryB = SqlBuilder.buildQuery(criteriaB);
      String sqlB = queryB.toString();
      List<Object> replacementsB = queryB.getPreparedStatementReplacements();

      List<Object> replacements = Lists.newArrayList();
      replacements.addAll(replacementsA);
      replacements.addAll(replacementsB);

      String sql = COLUMNX + " IN (" + sqlA + " UNION " + sqlB + ")";

      mainCriteria.whereVerbatimSql(sql, replacements.toArray());
      [...]

      Attachments

        Activity

          People

            tfischer Thomas Fox
            michael.wagner Michael Wa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: