Package org.apache.metamodel.schema

Examples of org.apache.metamodel.schema.MutableColumn


public class FetchSizeCalculatorTest extends TestCase {

  public void testGetFetchSize() throws Exception {
    FetchSizeCalculator calc = new FetchSizeCalculator(8 * 1024 * 1024);
    assertEquals(10922, calc.getFetchSize(new MutableColumn("a",
        ColumnType.VARCHAR).setColumnSize(256), new MutableColumn("b",
        ColumnType.VARCHAR).setColumnSize(128)));

    assertEquals(2048, calc.getFetchSize(new MutableColumn("a",
        ColumnType.BLOB).setColumnSize(4096)));
  }
View Full Code Here


  }

  public void testMinimumSize() throws Exception {
    FetchSizeCalculator calc = new FetchSizeCalculator(8);

    assertEquals(1, calc.getFetchSize(new MutableColumn("a",
        ColumnType.INTEGER).setColumnSize(256)));
  }
View Full Code Here

  }

  public void testMaximumSize() throws Exception {
    FetchSizeCalculator calc = new FetchSizeCalculator(Integer.MAX_VALUE);

    assertEquals(25000, calc.getFetchSize(new MutableColumn("a",
        ColumnType.BOOLEAN).setColumnSize(1)));
  }
View Full Code Here

  }

  public void testManyColumnsScenario() throws Exception {
    Column[] cols = new Column[110];
    for (int i = 0; i < cols.length; i++) {
      MutableColumn col = new MutableColumn("foo" + i);
      if (i % 5 == 0) {
        col.setType(ColumnType.INTEGER);
      } else if (i % 4 == 0) {
        col.setType(ColumnType.BOOLEAN);
      } else if (i % 3 == 0) {
        col.setType(ColumnType.DATE);
      } else {
        col.setType(ColumnType.VARCHAR);
      }

      col.setColumnSize(50);
      cols[i] = col;
    }

    FetchSizeCalculator calc = new FetchSizeCalculator(32 * 1024 * 1024);

 
View Full Code Here

    FetchSizeCalculator calc = new FetchSizeCalculator(0);

    assertEquals(30, calc.getValueSize(SelectItem.getCountAllItem()));

    assertEquals(30,
        calc.getValueSize(new MutableColumn("", ColumnType.ARRAY)));
    assertEquals(300, calc.getValueSize(new MutableColumn("",
        ColumnType.ARRAY).setColumnSize(10)));

    assertEquals(16,
        calc.getValueSize(new MutableColumn("", ColumnType.INTEGER)));
    assertEquals(16,
        calc.getValueSize(new MutableColumn("", ColumnType.BIGINT)));
    assertEquals(16,
        calc.getValueSize(new MutableColumn("", ColumnType.DOUBLE)));
    assertEquals(16,
        calc.getValueSize(new MutableColumn("", ColumnType.FLOAT)));

    assertEquals(4096,
        calc.getValueSize(new MutableColumn("", ColumnType.CLOB)));
    assertEquals(4096,
        calc.getValueSize(new MutableColumn("", ColumnType.BLOB)));

    assertEquals(4096, calc.getValueSize(new MutableColumn("",
        ColumnType.CLOB).setColumnSize(20)));
    assertEquals(200000, calc.getValueSize(new MutableColumn("",
        ColumnType.BLOB).setColumnSize(200000)));
    assertEquals(400000, calc.getValueSize(new MutableColumn("",
        ColumnType.CLOB).setColumnSize(200000)));
  }
View Full Code Here

  }

  public void testGetRowSize() throws Exception {
    FetchSizeCalculator calc = new FetchSizeCalculator(0);

    assertEquals(8000, calc.getRowSize(new MutableColumn("",
        ColumnType.VARCHAR).setColumnSize(4000)));
    assertEquals(1024,
        calc.getRowSize(new MutableColumn("", ColumnType.VARCHAR)));

    assertEquals(9024, calc.getRowSize(new MutableColumn("",
        ColumnType.VARCHAR).setColumnSize(4000), new MutableColumn("",
        ColumnType.VARCHAR)));
  }
View Full Code Here

     *
     * @param name
     * @return
     */
    public CreateTableColumnBuilder withColumn(String name) {
        MutableColumn column = new MutableColumn(name);
        _table.addColumn(column);
        return new CreateTableColumnBuilder(this, column);
    }
View Full Code Here

    }

    @Override
    public ColumnCreationBuilder withColumn(String name) {
        logger.debug("withColumn({})", name);
        MutableColumn col = (MutableColumn) _table.getColumnByName(name);
        if (col == null) {
            col = new MutableColumn(name).setTable(_table).setColumnNumber(_table.getColumnCount());
            _table.addColumn(col);
        }
        return new ColumnCreationBuilderImpl(this, col);
    }
View Full Code Here

  public void testRewriteLimit() throws Exception {
    MutableTable table = new MutableTable("foo");
    table.setSchema(new MutableSchema("MY_SCHEMA"));
    table.setQuote("\"");
    MutableColumn column = new MutableColumn("bar");
    column.setQuote("\"");
    column.setTable(table);
    Query q = new Query().from(table).select(column).setMaxRows(25).setFirstRow(5);
    String queryString = new PostgresqlQueryRewriter(null).rewriteQuery(q);
    assertEquals("SELECT \"foo\".\"bar\" FROM \"MY_SCHEMA\".\"foo\" LIMIT 25 OFFSET 4", queryString);
  }
View Full Code Here

                logger.info("Remove table (no data in it): {}", tableName);
                _schema.removeTable(table);
            } else {
                // Rename all ID columns to reasonable names (preferably
                // "id")
                MutableColumn idColumn = getIdColumn((MutableTable) table);
                MutableColumn column = (MutableColumn) table.getColumnByName("id");
                if (column == null) {
                    idColumn.setName("id");
                }

                // Remove text content column, if it is never populated
                MutableColumn textContentColumn = (MutableColumn) getTextContentColumn((MutableTable) table, null);
                int textContentColumnIndex = textContentColumn.getColumnNumber();
                boolean found = false;
                for (Object[] objects : tableRows) {
                    if (objects[textContentColumnIndex] != null) {
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    ((MutableTable) table).removeColumn(textContentColumn);
                } else {
                    // Rename all text content columns to reasonable
                    // names (preferably element node name)
                    String currentName = textContentColumn.getName();
                    String preferredName = currentName.substring(0, currentName.length() - TEXT_CONTENT_TEMP_SUFFIX.length());
                    column = (MutableColumn) table.getColumnByName(preferredName);
                    if (column == null) {
                        textContentColumn.setName(preferredName);
                    }
                }
            }
        }
        if (_autoFlattenTables) {
View Full Code Here

TOP

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

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.