Package org.apache.torque.sql

Examples of org.apache.torque.sql.Query


    public void testCurrentTime() throws TorqueException
    {
        c.add(new ColumnImpl("TABLE", "TIME_COLUMN"), Criteria.CURRENT_TIME);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));

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

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


    {
        c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22);
        c.setOffset(3).setLimit(5);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));

        Query result = SqlBuilder.buildQuery(c);
        String expect
            = "SELECT COUNT(*) FROM TABLE WHERE TABLE.DATE_COLUMN=?"
                + " LIMIT 5 OFFSET 3";
        assertEquals(expect, result.toString());
    }
View Full Code Here

    {
        c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22);
        c.setOffset(3);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));

        Query result = SqlBuilder.buildQuery(c);
        String expect
            = "SELECT COUNT(*) FROM TABLE WHERE TABLE.DATE_COLUMN=?"
                + " OFFSET 3";
        assertEquals(expect, result.toString());
    }
View Full Code Here

        c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22);
        c.setOffset(3);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));
        c.setDbName("mysql");

        Query result = SqlBuilder.buildQuery(c);
        String expect
            = "SELECT COUNT(*) FROM TABLE WHERE TABLE.DATE_COLUMN=?"
                + " LIMIT 18446744073709551615 OFFSET 3";
        assertEquals(expect, result.toString());
    }
View Full Code Here

    {
        c.addDate(new ColumnImpl("TABLE", "DATE_COLUMN"), 2003, 0, 22);
        c.setLimit(5);
        c.addSelectColumn(new ColumnImpl(null, "TABLE", null, "COUNT(*)"));

        Query result = SqlBuilder.buildQuery(c);
        String expect
            = "SELECT COUNT(*) FROM TABLE WHERE TABLE.DATE_COLUMN=?"
                + " LIMIT 5";
        assertEquals(expect, result.toString());
    }
View Full Code Here

     */
    public void testLikeWithoutWildcards() throws TorqueException
    {
        c.add(new ColumnImpl("TABLE", "COLUMN"), "no wildcards", Criteria.LIKE);

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

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

        c.add(new ColumnImpl("TABLE", "COLUMN"), "no wildcards", Criteria.NOT_LIKE);

        String firstExpect = "SELECT  FROM TABLE WHERE TABLE.COLUMN!=?";
        String secondExpect = "SELECT  FROM TABLE WHERE TABLE.COLUMN<>?";

        Query result = null;
        try
        {
            result = SqlBuilder.buildQuery(c);
        }
        catch (TorqueException e)
        {
            e.printStackTrace();
            fail("TorqueException thrown in SqlBuilder.buildQuery()");
        }

        assertTrue(result.toString().equals(firstExpect)
                || result.toString().equals(secondExpect));
        List<Object> preparedStatementReplacements
                = result.getPreparedStatementReplacements();
        assertEquals(1, preparedStatementReplacements.size());
        assertEquals("no wildcards", preparedStatementReplacements.get(0));
    }
View Full Code Here

        c.addJoin(new ColumnImpl("AUTHOR", "AUTHOR_ID"),
                new ColumnImpl("a", "AUTHOR_ID"));
        c.addAscendingOrderByColumn(
                new ColumnImpl("a", "NAME"));

        Query result = SqlBuilder.buildQuery(c);
        assertEquals("SELECT AUTHOR.NAME, a.NAME "
                    + "FROM AUTHOR, AUTHOR a "
                    + "WHERE AUTHOR.AUTHOR_ID=a.AUTHOR_ID "
                    + "ORDER BY a.NAME ASC",
                result.toString());
        List<Object> preparedStatementReplacements
            = result.getPreparedStatementReplacements();
        assertEquals(0, preparedStatementReplacements.size());
    }
View Full Code Here

        throws TorqueException
     {
        correctBooleans(criteria);
        setDbName(criteria);

        Query query = SqlBuilder.buildQuery(criteria);
        query.setType(Query.Type.DELETE);

        String fullTableName;
        if (tableMap == null)
        {
            fullTableName = SqlBuilder.guessFullTableFromCriteria(criteria);
        }
        else
        {
            fullTableName = SqlBuilder.getFullTableName(
                    tableMap.getFullyQualifiedTableName(),
                    criteria.getDbName());
        }
        boolean ownTableAdded = false;
        for (FromElement fromElement : query.getFromClause())
        {
            // Table names are case insensitive in known databases
            // so use case-insensitive compare
            if (fullTableName.equalsIgnoreCase(fromElement.getFromExpression()))
            {
                ownTableAdded = true;
                break;
            }
        }
        if (!ownTableAdded)
        {
            query.getFromClause().add(new FromElement(fullTableName));
        }
        String sql = query.toString();

        PreparedStatement preparedStatement = null;
        try
        {
            preparedStatement = connection.prepareStatement(sql);
            List<Object> replacements = setPreparedStatementReplacements(
                    preparedStatement,
                    query.getPreparedStatementReplacements(),
                    0);
            long startTime = System.currentTimeMillis();
            log.debug("Executing delete " + sql
                    + ", parameters = "
                    + replacements);
View Full Code Here

        {
            throw new TorqueException("Unqualified column name in criteria"
                    + " or table name not found in database map");
        }

        Query query = SqlBuilder.buildQuery(criteria);
        query.setType(Query.Type.DELETE);

        String fullTableName = null;
        if (tableMap != null)
        {
            fullTableName = SqlBuilder.getFullTableName(
                    tableMap.getFullyQualifiedTableName(),
                    criteria.getDbName());
        }
        else
        {
            Column column = criteria.values().iterator().next().getColumn();
            fullTableName = SqlBuilder.getFullTableName(
                    column.getFullTableName(),
                    criteria.getDbName());
        }

        boolean ownTableAdded = false;
        for (FromElement fromElement : query.getFromClause())
        {
            // Table names are case insensitive in known databases
            // so use case-insensitive compare
            if (fullTableName.equalsIgnoreCase(fromElement.getFromExpression()))
            {
                ownTableAdded = true;
                break;
            }
        }
        if (!ownTableAdded)
        {
            query.getFromClause().add(new FromElement(fullTableName));
        }
        String sql = query.toString();

        PreparedStatement preparedStatement = null;
        try
        {
            preparedStatement = con.prepareStatement(sql);
            List<Object> replacements = setPreparedStatementReplacements(
                    preparedStatement,
                    query.getPreparedStatementReplacements(),
                    0);
            long startTime = System.currentTimeMillis();
            log.debug("Executing delete " + sql
                    + ", parameters = "
                    + replacements);
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.