Package org.apache.metamodel.jdbc.dialects

Examples of org.apache.metamodel.jdbc.dialects.DefaultQueryRewriter


        } else if (DATABASE_PRODUCT_HSQLDB.equals(_databaseProductName)) {
            setQueryRewriter(new HsqldbQueryRewriter(this));
        } else if (DATABASE_PRODUCT_H2.equals(_databaseProductName)) {
            setQueryRewriter(new H2QueryRewriter(this));
        } else {
            setQueryRewriter(new DefaultQueryRewriter(this));
        }

        _supportsBatchUpdates = supportsBatchUpdates;
        _identifierQuoteString = identifierQuoteString;
        _usesCatalogsAsSchemas = usesCatalogsAsSchemas;
View Full Code Here


        mockStatement.close();

        EasyMock.replay(mockCon, mockStatement);

        JdbcDataContext dc = new JdbcDataContext(mockCon, new TableType[] { TableType.TABLE, TableType.VIEW }, null);
        dc.setQueryRewriter(new DefaultQueryRewriter(dc));
        Schema schema = dc.getDefaultSchema();

        Query q = new Query().setMaxRows(3);
        Table table = schema.getTables()[0];
        q.from(table, "a");
View Full Code Here

        realStatement.close();
    }

    public void testMaxRowsRewrite() throws Exception {
        JdbcDataContext dc = new JdbcDataContext(getTestDbConnection(), new TableType[] { TableType.TABLE }, null);
        IQueryRewriter rewriter = new DefaultQueryRewriter(dc) {
            @Override
            public String rewriteQuery(Query query) {
                return "SELECT COUNT(*) FROM PUBLIC.CUSTOMERS";
            }
        };
View Full Code Here

    public void testCreateSqlStatement() throws Exception {
        JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
        Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
        JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
        JdbcDeleteBuilder updateBuilder = new JdbcDeleteBuilder(updateCallback, table, new DefaultQueryRewriter(
                dataContext), true);

        updateBuilder.where("REPORTSTO").eq(1234);
        assertEquals("DELETE FROM PUBLIC._EMPLOYEES_ WHERE _EMPLOYEES_._REPORTSTO_ = 1234",
                updateBuilder.createSqlStatement().replaceAll("\"", "_"));
View Full Code Here

    public void testInsertNulls() throws Exception {
        JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
        Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
        JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
        JdbcDeleteBuilder updateBuilder = new JdbcDeleteBuilder(updateCallback, table, new DefaultQueryRewriter(
                dataContext), true);

        assertEquals("[EMPLOYEENUMBER, LASTNAME, FIRSTNAME, EXTENSION, EMAIL, OFFICECODE, REPORTSTO, JOBTITLE]",
                Arrays.toString(table.getColumnNames()));
View Full Code Here

    public void testCreateSqlStatementWithQuotesInValue() throws Exception {
        JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
        Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
        JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
        JdbcDeleteBuilder updateBuilder = new JdbcDeleteBuilder(updateCallback, table, new DefaultQueryRewriter(
                dataContext), true);
       
        updateBuilder.where("OFFICECODE").isEquals("ro'om");
        assertEquals(
                "DELETE FROM PUBLIC._EMPLOYEES_ WHERE _EMPLOYEES_._OFFICECODE_ = 'ro''om'",
View Full Code Here

  public void testCreateSqlStatement() throws Exception {
    JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
    Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
    JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
    JdbcInsertBuilder insertBuilder = new JdbcInsertBuilder(updateCallback, table, true,
        new DefaultQueryRewriter(dataContext));

    assertEquals("[EMPLOYEENUMBER, LASTNAME, FIRSTNAME, EXTENSION, EMAIL, OFFICECODE, REPORTSTO, JOBTITLE]",
        Arrays.toString(table.getColumnNames()));

    insertBuilder.value("LASTNAME", "foo").value("firstname", "BAR");
View Full Code Here

  public void testInsertNulls() throws Exception {
    JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
    Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
    JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
    JdbcInsertBuilder insertBuilder = new JdbcInsertBuilder(updateCallback, table, true,
        new DefaultQueryRewriter(dataContext));

    assertEquals("[EMPLOYEENUMBER, LASTNAME, FIRSTNAME, EXTENSION, EMAIL, OFFICECODE, REPORTSTO, JOBTITLE]",
        Arrays.toString(table.getColumnNames()));

    insertBuilder.value("LASTNAME", "foo").value("firstname", null);
View Full Code Here

  public void testCreateSqlStatementWithQuotesInValue() throws Exception {
    JdbcDataContext dataContext = new JdbcDataContext(getTestDbConnection());
    Table table = dataContext.getTableByQualifiedLabel("PUBLIC.EMPLOYEES");
    JdbcUpdateCallback updateCallback = new JdbcSimpleUpdateCallback(dataContext);
    JdbcInsertBuilder insertBuilder = new JdbcInsertBuilder(updateCallback, table, true,
        new DefaultQueryRewriter(dataContext));

    assertEquals("[EMPLOYEENUMBER, LASTNAME, FIRSTNAME, EXTENSION, EMAIL, OFFICECODE, REPORTSTO, JOBTITLE]",
        Arrays.toString(table.getColumnNames()));

    insertBuilder.value("LASTNAME", "foo").value("firstname", "BAR");
View Full Code Here

                .having(new FilterItem(new SelectItem(new MutableColumn("col2")), OperatorType.GREATER_THAN, 40))
                .orderBy(new MutableColumn("bla"));
        assertEquals("SELECT COUNT(*) FROM foobar WHERE foob IS NULL GROUP BY col1 HAVING col2 > 40 ORDER BY bla ASC",
                q.toString());

        AbstractQueryRewriter rewriter = new DefaultQueryRewriter(null) {

        };

        assertEquals("SELECT COUNT(*) FROM foobar WHERE foob IS NULL GROUP BY col1 HAVING col2 > 40 ORDER BY bla ASC",
                rewriter.rewriteQuery(q));

        rewriter = new DefaultQueryRewriter(null) {
            @Override
            protected String rewriteFromItem(Query query, FromItem item) {
                return "mytable";
            }
        };

        assertEquals("SELECT COUNT(*) FROM mytable WHERE foob IS NULL GROUP BY col1 HAVING col2 > 40 ORDER BY bla ASC",
                rewriter.rewriteQuery(q));

        q.getSelectClause().setDistinct(true);

        assertEquals(
                "SELECT DISTINCT COUNT(*) FROM mytable WHERE foob IS NULL GROUP BY col1 HAVING col2 > 40 ORDER BY bla ASC",
                rewriter.rewriteQuery(q));
    }
View Full Code Here

TOP

Related Classes of org.apache.metamodel.jdbc.dialects.DefaultQueryRewriter

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.