Package org.apache.torque.sql

Examples of org.apache.torque.sql.Query


        // plain object

        if (toBuildFrom instanceof Criteria)
        {
            Query subquery = SqlBuilder.buildQuery(
                    (Criteria) toBuildFrom);
            result.getPreparedStatementReplacements().addAll(
                    subquery.getPreparedStatementReplacements());
            result.getSql().append("(").append(subquery.toString()).append(")");
            return result;
        }

        if (toBuildFrom instanceof org.apache.torque.util.Criteria)
        {
            Query subquery = SqlBuilder.buildQuery(
                    (org.apache.torque.util.Criteria) toBuildFrom);
            result.getPreparedStatementReplacements().addAll(
                    subquery.getPreparedStatementReplacements());
            result.getSql().append("(").append(subquery.toString()).append(")");
            return result;
        }

        if (toBuildFrom.equals(
                SqlEnum.CURRENT_DATE)
View Full Code Here


        input.add("c1 a1");
        input.add("c1 a2");
        input.add("t.c1 a4");

        // A list with no duplicates must remain unchanged
        Query query = new Query();
        query.getSelectClause().addAll(input);
        new OracleAdapter().generateLimits(query, 0, 1);
        assertEquals(input, query.getSelectClause());

        // double column names must be aliased
        query = new Query();
        input.set(1, "t.c1");
        query.getSelectClause().addAll(input);
        new OracleAdapter().generateLimits(query, 0, 1);
        UniqueList expected = new UniqueList(input);
        expected.set(1, "t.c1 a0");
        assertEquals(expected, query.getSelectClause());

        // a column name which is the same as an alias name must be replaced
        query = new Query();
        input.set(1, "c2");
        input.set(0, "t.a1");
        query.getSelectClause().addAll(input);
        new OracleAdapter().generateLimits(query, 0, 1);
        expected = new UniqueList(input);
        expected.set(0, "t.a1 a0");
        assertEquals(query.getSelectClause(), expected);

        // triple column names must be made unique
        query = new Query();
        input.set(1, "t2.a1");
        query.getSelectClause().addAll(input);
        new OracleAdapter().generateLimits(query, 0, 1);
        expected = new UniqueList(input);
        expected.set(0, "t.a1 a0");
        expected.set(1, "t2.a1 a3");
        assertEquals(expected, query.getSelectClause());
    }
View Full Code Here

            "SELECT * FROM myTable2, myTable3, myTable4, myTable5 WHERE "
            + "((myTable2.myColumn2=? "
                + "AND myTable3.myColumn3=?) "
            + "OR (myTable4.myColumn4=? "
                + "AND myTable5.myColumn5=?))";
        Query result = SqlBuilder.buildQuery(c);
        assertEquals(expect, result.toString());
        List<Object> preparedStatementReplacements
            = result.getPreparedStatementReplacements();
        assertEquals(4, preparedStatementReplacements.size());
        assertEquals("myValue2", preparedStatementReplacements.get(0));
        assertEquals("myValue3", preparedStatementReplacements.get(1));
        assertEquals("myValue4", preparedStatementReplacements.get(2));
        assertEquals("myValue5", preparedStatementReplacements.get(3));

        c.clear();
        Criteria.Criterion crit6 = c.getNewCriterion(
                table2,
                column2,
                value2,
                Criteria.LESS_THAN);
        Criteria.Criterion crit7 = c.getNewCriterion(
                table3,
                column3,
                value3,
                Criteria.LESS_EQUAL);
        Criteria.Criterion crit8 = c.getNewCriterion(
                table4,
                column4,
                value4,
                Criteria.GREATER_THAN);
        Criteria.Criterion crit9 = c.getNewCriterion(
                table5,
                column5,
                value5,
                Criteria.GREATER_EQUAL);

        crit6.and(crit7).or(crit8).and(crit9);
        c.add(crit6);
        c.addSelectColumn(new ColumnImpl(null, "myTable2", null, "*"));
        expect =
            "SELECT * FROM myTable2, myTable3, myTable4, myTable5 WHERE "
                + "(((myTable2.myColumn2<? "
                    + "AND myTable3.myColumn3<=?) "
                + "OR myTable4.myColumn4>?) "
                    + "AND myTable5.myColumn5>=?)";
        result = SqlBuilder.buildQuery(c);
        assertEquals(expect, result.toString());
        preparedStatementReplacements
            = result.getPreparedStatementReplacements();
        assertEquals(4, preparedStatementReplacements.size());
        assertEquals("myValue2", preparedStatementReplacements.get(0));
        assertEquals("myValue3", preparedStatementReplacements.get(1));
        assertEquals("myValue4", preparedStatementReplacements.get(2));
        assertEquals("myValue5", preparedStatementReplacements.get(3));
View Full Code Here

                Criteria.LESS_EQUAL);
        c.add(cn1.and(cn2));
        String expect =
            "SELECT  FROM INVOICE WHERE "
            + "(INVOICE.COST>=? AND INVOICE.COST<=?)";
        Query result = SqlBuilder.buildQuery(c);

        assertEquals(expect, result.toString());
        assertEquals(2, result.getPreparedStatementReplacements().size());
        assertEquals(1000, result.getPreparedStatementReplacements().get(0));
        assertEquals(5000, result.getPreparedStatementReplacements().get(1));
    }
View Full Code Here

                new ColumnImpl("TABLE", "COLUMN4"), new Integer(1), Criteria.EQUAL);
        criterion4.setIgnoreCase(true);
        c.add(criterion1.and(criterion2).and(criterion3).and(criterion4));
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "*"));
        c.setDbName("postgresql");
        Query result = SqlBuilder.buildQuery(c);

        String expect = "SELECT * FROM TABLE WHERE "
            + "(((UPPER(TABLE.COLUMN1)=UPPER(?)"
            + " AND UPPER(TABLE.COLUMN2)=UPPER(?))"
            + " AND TABLE.COLUMN3=?) AND TABLE.COLUMN4=?)";
        assertEquals(expect, result.toString());
        List<Object> replacements = result.getPreparedStatementReplacements();
        assertEquals(4, replacements.size());
        assertEquals("FoObAr1", replacements.get(0));
        assertEquals("FoObAr2", replacements.get(1));
        assertEquals("FoObAr3", replacements.get(2));
        assertEquals(new Integer(1), replacements.get(3));
View Full Code Here

     */
    public void testBoolean() throws TorqueException
    {
        c.add(new ColumnImpl("TABLE", "COLUMN"), true);

        Query result = SqlBuilder.buildQuery(c);

        assertEquals(
                "SELECT  FROM TABLE WHERE TABLE.COLUMN=?",
                result.toString());
        List<Object> preparedStatementReplacements
            = result.getPreparedStatementReplacements();
        assertEquals(1, preparedStatementReplacements.size());
        assertEquals(Boolean.TRUE, preparedStatementReplacements.get(0));

        // test the postgresql variation
        c = new Criteria();
        c.add(new ColumnImpl("TABLE", "COLUMN"), true);
        c.setDbName("postgresql");

        result = SqlBuilder.buildQuery(c);

        assertEquals(
                "SELECT  FROM TABLE WHERE TABLE.COLUMN=?",
                result.toString());
        preparedStatementReplacements
            = result.getPreparedStatementReplacements();
        assertEquals(1, preparedStatementReplacements.size());
        assertEquals(Boolean.TRUE, preparedStatementReplacements.get(0));
    }
View Full Code Here

     */
    public void testAddDate() throws TorqueException
    {
         c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22);

        Query result = SqlBuilder.buildQuery(c);

        assertEquals(
                "SELECT  FROM TABLE WHERE TABLE.DATE_COLUMN=?",
                result.toString());
        List<Object> preparedStatementReplacements
                = result.getPreparedStatementReplacements();
        assertEquals(1, preparedStatementReplacements.size());
        assertEquals(
                new GregorianCalendar(2003, 0, 22).getTime(),
                preparedStatementReplacements.get(0));
    }
View Full Code Here

    public void testAndDate() throws TorqueException
    {
        c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22, Criteria.GREATER_THAN);
        c.andDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2004, 2, 24, Criteria.LESS_THAN);

        Query result = SqlBuilder.buildQuery(c);
        assertEquals(
                "SELECT  FROM TABLE WHERE "
                    + "(TABLE.DATE_COLUMN>? AND TABLE.DATE_COLUMN<?)",
                result.toString());
        List<Object> preparedStatementReplacements
                = result.getPreparedStatementReplacements();
        assertEquals(2, preparedStatementReplacements.size());
        assertEquals(
                new GregorianCalendar(2003, 0, 22).getTime(),
                preparedStatementReplacements.get(0));
        assertEquals(
View Full Code Here

    {
        Calendar cal = new GregorianCalendar(2003, 0, 22);
        Date date = cal.getTime();
        c.add(new ColumnImpl("TABLE", "DATE_COLUMN"), date);

        Query result = SqlBuilder.buildQuery(c);
        assertEquals(
                "SELECT  FROM TABLE WHERE "
                    + "TABLE.DATE_COLUMN=?",
                result.toString());

        List<Object> preparedStatementReplacements
                = result.getPreparedStatementReplacements();
        assertEquals(1, preparedStatementReplacements.size());
        assertEquals(
                new GregorianCalendar(2003, 0, 22).getTime(),
                preparedStatementReplacements.get(0));
    }
View Full Code Here

    public void testCurrentDate() throws TorqueException
    {
        c.add(new ColumnImpl("TABLE", "DATE_COLUMN"), Criteria.CURRENT_DATE);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));

        Query result = SqlBuilder.buildQuery(c);
        assertEquals(
                "SELECT COUNT(*) FROM TABLE WHERE "
                    + "TABLE.DATE_COLUMN=CURRENT_DATE",
                result.toString());

        List<Object> preparedStatementReplacements
                = result.getPreparedStatementReplacements();
        assertEquals(0, preparedStatementReplacements.size());
    }
View Full Code Here

TOP

Related Classes of org.apache.torque.sql.Query

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.