Examples of IQueryRewriter


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

    data.close();
  }

  public void testQuotedString() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Query q = dc.query().from("Production", "Product").select("Name").where("Color").eq("R'ed").toQuery();

    assertEquals(
        "SELECT \"Product\".\"Name\" FROM Production.\"Product\" Product WHERE Product.\"Color\" = 'R''ed'",
        queryRewriter.rewriteQuery(q));
  }
View Full Code Here

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

        Arrays.toString(strategy.getSchemaNames()));
  }

  public void testQueryRewriterQuoteAliases() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Schema schema = dc.getSchemaByName("Sales");
    Table customersTable = schema.getTableByName("CUSTOMER");

    Query q = new Query().from(customersTable, "cus-tomers").select(
        new SelectItem(customersTable.getColumnByName("AccountNumber")).setAlias("c|o|d|e"));
    q.setMaxRows(5);

    assertEquals("SELECT cus-tomers.\"AccountNumber\" AS c|o|d|e FROM Sales.\"Customer\" cus-tomers", q.toString());

    String queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // We have to test that no additional quoting characters are added every
    // time we run the rewriting
    queryString = queryRewriter.rewriteQuery(q);
    queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // Test that the original query is still the same (ie. it has been
View Full Code Here

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

    data.close();
  }

  public void testQuotedString() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Query q = dc.query().from("Production", "Product").select("Name").where("Color").eq("R'ed").toQuery();
   
    DataSet ds = dc.executeQuery(q);
    assertNotNull(ds);
    assertFalse(ds.next());
    ds.close();

    assertEquals(
        "SELECT Production.\"Product\".\"Name\" FROM Production.\"Product\" WHERE Production.\"Product\".\"Color\" = 'R''ed'",
        queryRewriter.rewriteQuery(q));
  }
View Full Code Here

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

        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

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

        Arrays.toString(strategy.getSchemaNames()));
  }

  public void testQueryRewriterQuoteAliases() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Schema schema = dc.getSchemaByName("Sales");
    Table customersTable = schema.getTableByName("CUSTOMER");

    Query q = new Query().from(customersTable, "cus-tomers").select(
        new SelectItem(customersTable.getColumnByName("AccountNumber")).setAlias("c|o|d|e"));
    q.setMaxRows(5);

    assertEquals("SELECT cus-tomers.\"AccountNumber\" AS c|o|d|e FROM Sales.\"Customer\" cus-tomers", q.toString());

    String queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // We have to test that no additional quoting characters are added every
    // time we run the rewriting
    queryString = queryRewriter.rewriteQuery(q);
    queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // Test that the original query is still the same (ie. it has been
View Full Code Here

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

    data.close();
  }

  public void testQuotedString() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Query q = dc.query().from("Production", "Product").select("Name").where("Color").eq("R'ed").toQuery();
   
    DataSet ds = dc.executeQuery(q);
    assertNotNull(ds);
    assertFalse(ds.next());
    ds.close();

    assertEquals(
        "SELECT Production.\"Product\".\"Name\" FROM Production.\"Product\" WHERE Production.\"Product\".\"Color\" = 'R''ed'",
        queryRewriter.rewriteQuery(q));
  }
View Full Code Here

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

    assertEquals("Schema[name=dbo]", strategy.getDefaultSchema().toString());
  }

  public void testQueryRewriterQuoteAliases() throws Exception {
    JdbcDataContext strategy = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = strategy.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Schema schema = strategy.getSchemaByName("Sales");
    Table customersTable = schema.getTableByName("CUSTOMER");

    Query q = new Query().from(customersTable, "cus-tomers").select(
        new SelectItem(customersTable.getColumnByName("AccountNumber")).setAlias("c|o|d|e"));
    q.setMaxRows(5);

    assertEquals("SELECT cus-tomers.\"AccountNumber\" AS c|o|d|e FROM Sales.\"Customer\" cus-tomers", q.toString());

    String queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // We have to test that no additional quoting characters are added every
    // time we run the rewriting
    queryString = queryRewriter.rewriteQuery(q);
    queryString = queryRewriter.rewriteQuery(q);
    assertEquals(
        "SELECT TOP 5 \"cus-tomers\".\"AccountNumber\" AS \"c|o|d|e\" FROM Sales.\"Customer\" \"cus-tomers\"",
        queryString);

    // Test that the original query is still the same (ie. it has been
View Full Code Here

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

    data.close();
  }

  public void testQuotedString() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, TableType.DEFAULT_TABLE_TYPES, _databaseName);
    IQueryRewriter queryRewriter = dc.getQueryRewriter();
    assertSame(SQLServerQueryRewriter.class, queryRewriter.getClass());

    Query q = dc.query().from("Production", "Product").select("Name").where("Color").eq("R'ed").toQuery();

    assertEquals(
        "SELECT \"Product\".\"Name\" FROM Production.\"Product\" Product WHERE Product.\"Color\" = 'R''ed'",
        queryRewriter.rewriteQuery(q));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.