Package org.apache.metamodel.schema

Examples of org.apache.metamodel.schema.Table


import junit.framework.TestCase;

public class SelectClauseTest extends TestCase {

  public void testDistinctAddition() throws Exception {
    Table table = new MutableTable("foo");
    Column col = new MutableColumn("bar").setTable(table);

    Query q = new Query();
    q.selectDistinct();
    q.from(table);
View Full Code Here


public class FromClauseTest extends MetaModelTestCase {

  public void testGetItemByReference() throws Exception {
    Schema exampleSchema = getExampleSchema();
    Table table = exampleSchema.getTableByName(TABLE_CONTRIBUTOR);

    Query query = new Query();
    query.from(table, "foobar");

    assertNull(query.getFromClause().getItemByReference("foob"));
View Full Code Here

public class SelectItemTest extends MetaModelTestCase {

    private Schema _schema = getExampleSchema();

    public void testSelectColumnInFromItem() throws Exception {
        final Table projectTable = _schema.getTableByName(TABLE_PROJECT);
        final Column column1 = projectTable.getColumns()[0];
        final Column column2 = projectTable.getColumns()[1];

        Query q = new Query().from(projectTable, "a").from(projectTable, "b");
        q.select(column1, q.getFromClause().getItem(1));
        q.select(column2, q.getFromClause().getItem(0));
View Full Code Here

        SelectItem selectItem = new SelectItem(_schema.getTableByName(TABLE_PROJECT).getColumns()[0]);
        assertEquals("project.project_id", selectItem.toSql());
    }

    public void testSubQuerySelectItem() throws Exception {
        Table projectTable = _schema.getTableByName(TABLE_PROJECT);
        Table roleTable = _schema.getTableByName(TABLE_ROLE);

        Column projectIdColumn = projectTable.getColumnByName(COLUMN_PROJECT_PROJECT_ID);

        FromItem leftSide = new FromItem(projectTable);
        leftSide.setAlias("a");
        SelectItem[] leftOn = new SelectItem[] { new SelectItem(projectIdColumn) };

        Query subQuery = new Query();
        FromItem subQueryFrom = new FromItem(roleTable);
        subQueryFrom.setAlias("c");
        subQuery.from(subQueryFrom);
        Column[] columns = roleTable.getColumns();
        subQuery.select(columns);

        SelectItem subQuerySelectItem = subQuery.getSelectClause().getSelectItem(columns[1]);
        FromItem rightSide = new FromItem(subQuery);
        rightSide.setAlias("b");
View Full Code Here

    Schema schema = composite.getDefaultSchema();
    assertEquals(4, schema.getTableCount());
    assertEquals("[table, an_empty_table, table, an_empty_table]", Arrays.toString(schema.getTableNames()));
    assertTrue(schema instanceof CompositeSchema);
    Table[] tables = schema.getTables();
        Table table1 = tables[0];
        Table table2 = tables[2];
        assertNotSame(table1, table2);

    Query q = composite
        .query()
        .from(table1)
        .leftJoin(table2)
        .on(table1.getColumnByName("foo"),
            table2.getColumnByName("foo"))
        .select(table1.getColumnByName("foo"),
            table2.getColumnByName("foo"),
            table1.getColumnByName("bar"),
            table2.getColumnByName("baz")).toQuery();
    assertEquals(
        "SELECT table.foo, table.foo, table.bar, table.baz "
            + "FROM schema.table LEFT JOIN schema.table ON table.foo = table.foo",
        q.toSql());
View Full Code Here

    assertEquals("sakila", schema.getName());

    dc.executeUpdate(new UpdateScript() {
      @Override
      public void run(UpdateCallback cb) {
        Table table = cb.createTable(schema, "test_table").withColumn("id").ofType(ColumnType.INTEGER)
            .asPrimaryKey().withColumn("birthdate").ofType(ColumnType.DATE).execute();

        cb.insertInto(table).value("id", "1").execute();
        cb.insertInto(table).value("id", 2).value("birthdate", "2011-12-21").execute();
      }
View Full Code Here

    DataContext dc = new JdbcDataContext(getConnection(), TableType.DEFAULT_TABLE_TYPES, "sakila");
    Schema[] schemas = dc.getSchemas();
    assertEquals("[Schema[name=mysql], Schema[name=performance_schema], Schema[name=portal], "
        + "Schema[name=sakila], Schema[name=world]]", Arrays.toString(schemas));

    Table table = dc.getSchemaByName("sakila").getTableByName("film");
    Query q = new Query().from(table).select(table.getColumns());
    DataSet data = dc.executeQuery(q);
    TableModel tableModel = new DataSetTableModel(data);
    assertEquals(13, tableModel.getColumnCount());
    assertEquals(1000, tableModel.getRowCount());
  }
View Full Code Here

            return;
        }
       
    DataContext dc = new JdbcDataContext(getConnection());
    Schema schema = dc.getDefaultSchema();
    Table actorTable = schema.getTableByName("actor");
    assertEquals(
        "[Column[name=actor_id,columnNumber=0,type=SMALLINT,nullable=false,nativeType=SMALLINT UNSIGNED,columnSize=5], Column[name=first_name,columnNumber=1,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=45], Column[name=last_name,columnNumber=2,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=45], Column[name=last_update,columnNumber=3,type=TIMESTAMP,nullable=false,nativeType=TIMESTAMP,columnSize=19]]",
        Arrays.toString(actorTable.getColumns()));
    Table filmTable = schema.getTableByName("film");
    assertEquals(
        "[Column[name=film_id,columnNumber=0,type=SMALLINT,nullable=false,nativeType=SMALLINT UNSIGNED,columnSize=5], Column[name=title,columnNumber=1,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=255], Column[name=description,columnNumber=2,type=LONGVARCHAR,nullable=true,nativeType=TEXT,columnSize=65535], Column[name=release_year,columnNumber=3,type=DATE,nullable=true,nativeType=YEAR,columnSize=0], Column[name=language_id,columnNumber=4,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3], Column[name=original_language_id,columnNumber=5,type=TINYINT,nullable=true,nativeType=TINYINT UNSIGNED,columnSize=3], Column[name=rental_duration,columnNumber=6,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3], Column[name=rental_rate,columnNumber=7,type=DECIMAL,nullable=false,nativeType=DECIMAL,columnSize=4], Column[name=length,columnNumber=8,type=SMALLINT,nullable=true,nativeType=SMALLINT UNSIGNED,columnSize=5], Column[name=replacement_cost,columnNumber=9,type=DECIMAL,nullable=false,nativeType=DECIMAL,columnSize=5], Column[name=rating,columnNumber=10,type=CHAR,nullable=true,nativeType=ENUM,columnSize=5], Column[name=special_features,columnNumber=11,type=CHAR,nullable=true,nativeType=SET,columnSize=54], Column[name=last_update,columnNumber=12,type=TIMESTAMP,nullable=false,nativeType=TIMESTAMP,columnSize=19]]",
        Arrays.toString(filmTable.getColumns()));
    Table filmActorJoinTable = schema.getTableByName("film_actor");
    assertEquals(
        "[Column[name=actor_id,columnNumber=0,type=SMALLINT,nullable=false,nativeType=SMALLINT UNSIGNED,columnSize=5], "
            + "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");
View Full Code Here

      if (!isConfigured()) {
            return;
        }
       
    DataContext dc = new JdbcDataContext(getConnection());
    Table table = dc.getDefaultSchema().getTableByName("film");
    Query q = new Query().select(table.getColumns()).from(table).setMaxRows(400);
    dc.executeQuery(q);
  }
View Full Code Here

        + "Table[name=nicer_but_slower_film_list,type=VIEW,remarks=], "
        + "Table[name=sales_by_film_category,type=VIEW,remarks=], "
        + "Table[name=sales_by_store,type=VIEW,remarks=], " + "Table[name=staff_list,type=VIEW,remarks=]]",
        Arrays.toString(schema.getTables()));

    Table filmTable = schema.getTableByName("film");
    assertEquals(
        "[Column[name=film_id,columnNumber=0,type=SMALLINT,nullable=false,nativeType=SMALLINT UNSIGNED,columnSize=5], "
            + "Column[name=title,columnNumber=1,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=255], "
            + "Column[name=description,columnNumber=2,type=LONGVARCHAR,nullable=true,nativeType=TEXT,columnSize=65535], "
            + "Column[name=release_year,columnNumber=3,type=DATE,nullable=true,nativeType=YEAR,columnSize=0], "
            + "Column[name=language_id,columnNumber=4,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3], "
            + "Column[name=original_language_id,columnNumber=5,type=TINYINT,nullable=true,nativeType=TINYINT UNSIGNED,columnSize=3], "
            + "Column[name=rental_duration,columnNumber=6,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3], "
            + "Column[name=rental_rate,columnNumber=7,type=DECIMAL,nullable=false,nativeType=DECIMAL,columnSize=4], "
            + "Column[name=length,columnNumber=8,type=SMALLINT,nullable=true,nativeType=SMALLINT UNSIGNED,columnSize=5], "
            + "Column[name=replacement_cost,columnNumber=9,type=DECIMAL,nullable=false,nativeType=DECIMAL,columnSize=5], "
            + "Column[name=rating,columnNumber=10,type=CHAR,nullable=true,nativeType=ENUM,columnSize=5], "
            + "Column[name=special_features,columnNumber=11,type=CHAR,nullable=true,nativeType=SET,columnSize=54], "
            + "Column[name=last_update,columnNumber=12,type=TIMESTAMP,nullable=false,nativeType=TIMESTAMP,columnSize=19]]",
        Arrays.toString(filmTable.getColumns()));
    assertEquals(
        "[Relationship[primaryTable=language,primaryColumns=[language_id],foreignTable=film,foreignColumns=[language_id]], Relationship[primaryTable=language,primaryColumns=[language_id],foreignTable=film,foreignColumns=[original_language_id]], Relationship[primaryTable=film,primaryColumns=[film_id],foreignTable=film_actor,foreignColumns=[film_id]], Relationship[primaryTable=film,primaryColumns=[film_id],foreignTable=film_category,foreignColumns=[film_id]], Relationship[primaryTable=film,primaryColumns=[film_id],foreignTable=inventory,foreignColumns=[film_id]]]",
        Arrays.toString(filmTable.getRelationships()));

    dc = new JdbcDataContext(getConnection(), TableType.DEFAULT_TABLE_TYPES, "sakila");
    schemas = dc.getSchemas();
    assertEquals(6, schemas.length);
    assertEquals("[Table[name=actor,type=TABLE,remarks=], " + "Table[name=address,type=TABLE,remarks=], "
        + "Table[name=category,type=TABLE,remarks=], " + "Table[name=city,type=TABLE,remarks=], "
        + "Table[name=country,type=TABLE,remarks=], " + "Table[name=customer,type=TABLE,remarks=], "
        + "Table[name=film,type=TABLE,remarks=], " + "Table[name=film_actor,type=TABLE,remarks=], "
        + "Table[name=film_category,type=TABLE,remarks=], " + "Table[name=film_text,type=TABLE,remarks=], "
        + "Table[name=inventory,type=TABLE,remarks=], " + "Table[name=language,type=TABLE,remarks=], "
        + "Table[name=payment,type=TABLE,remarks=], " + "Table[name=rental,type=TABLE,remarks=], "
        + "Table[name=staff,type=TABLE,remarks=], " + "Table[name=store,type=TABLE,remarks=], "
        + "Table[name=actor_info,type=VIEW,remarks=], " + "Table[name=customer_list,type=VIEW,remarks=], "
        + "Table[name=film_list,type=VIEW,remarks=], "
        + "Table[name=nicer_but_slower_film_list,type=VIEW,remarks=], "
        + "Table[name=sales_by_film_category,type=VIEW,remarks=], "
        + "Table[name=sales_by_store,type=VIEW,remarks=], " + "Table[name=staff_list,type=VIEW,remarks=]]",
        Arrays.toString(schema.getTables()));

    Table staffView = schema.getTableByName("staff_list");
    assertEquals(
        "[Column[name=ID,columnNumber=0,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3], "
            + "Column[name=name,columnNumber=1,type=VARCHAR,nullable=true,nativeType=VARCHAR,columnSize=91], "
            + "Column[name=address,columnNumber=2,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=50], "
            + "Column[name=zip code,columnNumber=3,type=VARCHAR,nullable=true,nativeType=VARCHAR,columnSize=10], "
            + "Column[name=phone,columnNumber=4,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=20], "
            + "Column[name=city,columnNumber=5,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=50], "
            + "Column[name=country,columnNumber=6,type=VARCHAR,nullable=false,nativeType=VARCHAR,columnSize=50], "
            + "Column[name=SID,columnNumber=7,type=TINYINT,nullable=false,nativeType=TINYINT UNSIGNED,columnSize=3]]",
        Arrays.toString(staffView.getColumns()));
  }
View Full Code Here

TOP

Related Classes of org.apache.metamodel.schema.Table

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.