Package org.apache.metamodel.query

Examples of org.apache.metamodel.query.FromItem


    public JoinFromBuilderImpl(Query query, FromItem leftItem, Table rightTable, JoinType joinType,
            DataContext dataContext) {
        super(query, dataContext);
        this.joinType = joinType;
        this.leftItem = leftItem;
        this.rightItem = new FromItem(rightTable);
    }
View Full Code Here


        }
        getQuery().getFromClause().removeItem(leftItem);

        SelectItem[] leftOn = new SelectItem[] { new SelectItem(left) };
        SelectItem[] rightOn = new SelectItem[] { new SelectItem(right) };
        FromItem fromItem = new FromItem(joinType, leftItem, rightItem, leftOn, rightOn);

        getQuery().from(fromItem);

        return this;
    }
View Full Code Here

  public void testExecuteQuery() throws Exception {
    Schema schema = _dataContext.getDefaultSchema();
    Table departmentTable = schema.getTableByName("DEPARTMENT");
    Table employeeTable = schema.getTableByName("EMPLOYEE");
    Query q = new Query().from(new FromItem(JoinType.INNER, departmentTable.getRelationships(employeeTable)[0]));
    q.select(departmentTable.getColumns()[1]);
    q.select(new SelectItem(employeeTable.getColumns()[4]).setAlias("hire-date"));
    assertEquals(
        "SELECT \"DEPARTMENT\".\"DEPARTMENT\", \"EMPLOYEE\".\"HIRE_DATE\" AS hire-date FROM \"EMPLOYEE\" INNER JOIN \"DEPARTMENT\" ON \"EMPLOYEE\".\"EMP_NO\" = \"DEPARTMENT\".\"MNGR_NO\"",
        q.toString());
View Full Code Here

            + "Column[name=film_id,columnNumber=1,type=SMALLINT,nullable=false,nativeType=SMALLINT UNSIGNED,columnSize=5], "
            + "Column[name=last_update,columnNumber=2,type=TIMESTAMP,nullable=false,nativeType=TIMESTAMP,columnSize=19]]",
        Arrays.toString(filmActorJoinTable.getColumns()));

    Query q = new Query();
    q.from(new FromItem(actorTable).setAlias("a"));
    q.select(actorTable.getColumns());
    q.getSelectClause().getItem(0).setAlias("foo-bar");
    assertEquals(
        "SELECT a.`actor_id` AS foo-bar, a.`first_name`, a.`last_name`, a.`last_update` FROM sakila.`actor` a",
        q.toString());
View Full Code Here

            final Query innerQuery = query.clone();
            innerQuery.setFirstRow(null);
            innerQuery.setMaxRows(null);

            final Query outerQuery = new Query();
            final FromItem subQuerySelectItem = new FromItem(innerQuery).setAlias("metamodel_subquery");
            outerQuery.from(subQuerySelectItem);

            final List<SelectItem> innerSelectItems = innerQuery.getSelectClause().getItems();
            for (SelectItem selectItem : innerSelectItems) {
                outerQuery.select(new SelectItem(selectItem, subQuerySelectItem));
View Full Code Here

        }

        Query q = new Query();
        q.select(primaryColumns.toArray(new Column[primaryColumns.size()]));
        q.select(foreignColumns.toArray(new Column[foreignColumns.size()]));
        q.from(new FromItem(JoinType.LEFT, relationship));
        if (logger.isDebugEnabled()) {
            logger.debug("Setting table data for '{}' to query result: {}", primaryTableName, q.toString());
        }
        List<Object[]> tableRows = executeQuery(q).toObjectArrays();
View Full Code Here

        .getRelationships(departmentsTable)[0];
    assertEquals(
        "Relationship[primaryTable=EMPLOYEES,primaryColumns={EMPLOYEE_ID},foreignTable=DEPARTMENTS,foreignColumns={MANAGER_ID}]",
        relationship.toString());

    Query q = new Query().from(new FromItem(JoinType.INNER, relationship))
        .select(employeeTable.getColumnByName("EMAIL"),
            departmentsTable.getColumnByName("DEPARTMENT_NAME"));
    q.getSelectClause().getItem(0).setAlias("e-mail");

    assertEquals(
View Full Code Here

    column.setTable(table);
  }

  public void testRewriteFromItem() throws Exception {
    assertEquals("foo",
        qr.rewriteFromItem(new FromItem(new MutableTable("foo"))));
  }
View Full Code Here

        StringBuilder sb = new StringBuilder();
        if (fromClause.getItemCount() > 0) {
            sb.append(AbstractQueryClause.PREFIX_FROM);
            List<FromItem> items = fromClause.getItems();
            for (int i = 0; i < items.size(); i++) {
                FromItem item = items.get(i);
                if (i != 0) {
                    sb.append(AbstractQueryClause.DELIM_COMMA);
                }
                sb.append(rewriteFromItem(query, item));
            }
View Full Code Here

    // Make a new query that joins the normalized tables together
    table = schema.getTableByName("contributors_person_address");
    Relationship relationShip = table.getRelationships()[0];
    q = new Query().select(relationShip.getPrimaryTable().getColumns())
        .select(relationShip.getForeignTable().getColumns())
        .from(new FromItem(JoinType.INNER, relationShip));

    assertEquals(
        "SELECT contributors_person.id, contributors_person_address.id, "
            + "contributors_person_address.contributors_person_id, contributors_person_address.address "
            + "FROM xml_input_eobjects.xml.contributors_person INNER JOIN xml_input_eobjects.xml.contributors_person_address "
View Full Code Here

TOP

Related Classes of org.apache.metamodel.query.FromItem

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.