当前位置: 首页>>代码示例>>Java>>正文


Java Query.setMaxRows方法代码示例

本文整理汇总了Java中org.apache.metamodel.query.Query.setMaxRows方法的典型用法代码示例。如果您正苦于以下问题:Java Query.setMaxRows方法的具体用法?Java Query.setMaxRows怎么用?Java Query.setMaxRows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.metamodel.query.Query的用法示例。


在下文中一共展示了Query.setMaxRows方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: compileLookupQuery

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private void compileLookupQuery() {
    try {
        final Column[] queryOutputColumns = getQueryOutputColumns(false);
        final Column queryOutputColumn = queryOutputColumns[0];
        final Table table = queryOutputColumn.getTable();

        Query query = new Query().from(table).select(queryOutputColumns);

        if (!isCarthesianProductMode()) {
            final Column[] queryConditionColumns = getQueryConditionColumns();
            for (int i = 0; i < queryConditionColumns.length; i++) {
                query = query.where(queryConditionColumns[i], OperatorType.EQUALS_TO, new QueryParameter());
            }
        }

        if (joinSemantic == JoinSemantic.LEFT_JOIN_MAX_ONE) {
            query = query.setMaxRows(1);
        }

        lookupQuery = datastoreConnection.getDataContext().compileQuery(query);

    } catch (final RuntimeException e) {
        logger.error("Error occurred while compiling lookup query", e);
        throw e;
    }
}
 
开发者ID:datacleaner,项目名称:DataCleaner,代码行数:27,代码来源:TableLookupTransformer.java

示例2: getPreviewData

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private DataSet getPreviewData(final String filename) {
    if (!isPreviewDataAvailable()) {
        logger.info("Not displaying preview table because isPreviewDataAvailable() returned false");
        return null;
    }

    final D datastore = getPreviewDatastore(filename);
    try (DatastoreConnection con = datastore.openConnection()) {
        final DataContext dc = con.getDataContext();
        final Table table = getPreviewTable(dc);

        List<Column> columns = table.getColumns();
        if (columns.size() > getPreviewColumns()) {
            // include max 10 columns
            columns = columns.stream().limit(getPreviewColumns()).collect(Collectors.toList());
        }
        final Query q = dc.query().from(table).select(columns).toQuery();
        q.setMaxRows(7);

        return dc.executeQuery(q);
    }
}
 
开发者ID:datacleaner,项目名称:DataCleaner,代码行数:23,代码来源:AbstractFileBasedDatastoreDialog.java

示例3: compileLookupQuery

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private void compileLookupQuery() {
    try {
        final Column[] queryOutputColumns = getQueryOutputColumns(false);
        final Column queryOutputColumn = queryOutputColumns[0];
        final Table table = queryOutputColumn.getTable();

        Query query = new Query().from(table).select(queryOutputColumns);

        if (!isCarthesianProductMode()) {
            final Column[] queryConditionColumns = getQueryConditionColumns();
            for (int i = 0; i < queryConditionColumns.length; i++) {
                query = query.where(queryConditionColumns[i], OperatorType.EQUALS_TO, new QueryParameter());
            }
        }

        if (joinSemantic == JoinSemantic.LEFT_JOIN_MAX_ONE) {
            query = query.setMaxRows(1);
        }

        lookupQuery = datastoreConnection.getDataContext().compileQuery(query);

    } catch (RuntimeException e) {
        logger.error("Error occurred while compiling lookup query", e);
        throw e;
    }
}
 
开发者ID:datacleaner,项目名称:AnalyzerBeans,代码行数:27,代码来源:TableLookupTransformer.java

示例4: optimizeQuery

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
@Override
public Query optimizeQuery(Query q, Category category) {
    if (category == Category.VALID) {
        q.setMaxRows(maxRows);

        if (firstRow > 1) {
            q.setFirstRow(firstRow);
        }

        if (orderColumn != null) {
            Column physicalColumn = orderColumn.getPhysicalColumn();
            q.orderBy(physicalColumn);
        }
    } else {
        throw new IllegalStateException("Can only optimize the VALID max rows category");
    }
    return q;
}
 
开发者ID:datacleaner,项目名称:AnalyzerBeans,代码行数:19,代码来源:MaxRowsFilter.java

示例5: testQueryWithFilter

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public void testQueryWithFilter() throws Exception {
    JdbcDataContext dc = new JdbcDataContext(_connection, new TableType[] { TableType.TABLE, TableType.VIEW },
            null);
    Query q = dc.query().from("APP", "CUSTOMERS").select("CUSTOMERNUMBER").where("ADDRESSLINE2").isNotNull()
            .toQuery();
    assertEquals(25000, dc.getFetchSizeCalculator().getFetchSize(q));

    q.setMaxRows(5);

    assertEquals(5, dc.getFetchSizeCalculator().getFetchSize(q));

    assertEquals(
            "SELECT \"CUSTOMERS\".\"CUSTOMERNUMBER\" FROM APP.\"CUSTOMERS\" WHERE \"CUSTOMERS\".\"ADDRESSLINE2\" IS NOT NULL",
            q.toSql());

    DataSet dataSet = dc.executeQuery(q);
    assertEquals("[\"CUSTOMERS\".\"CUSTOMERNUMBER\"]", Arrays.toString(dataSet.getSelectItems().toArray()));
    assertTrue(dataSet.next());
    assertEquals("Row[values=[114]]", dataSet.getRow().toString());
    assertTrue(dataSet.next());
    assertTrue(dataSet.next());
    assertTrue(dataSet.next());
    assertTrue(dataSet.next());
    assertFalse(dataSet.next());
    dataSet.close();
}
 
开发者ID:apache,项目名称:metamodel,代码行数:27,代码来源:DerbyTest.java

示例6: testOffsetFetchConstruct

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
@Test
public void testOffsetFetchConstruct() {
    final int offset = 1000;
    final int rows = 100;
    final String where = "x > 1";

    final String offsetClause = " OFFSET " + (offset - 1) + " ROWS";
    final String fetchClause = " FETCH NEXT " + rows + " ROWS ONLY";

    final Query query = new Query().from(table).select(column);
    Assert.assertEquals("There shouldn't be OFFSET-FETCH clause.", query.toSql(), qr.rewriteQuery(query));

    query.setFirstRow(offset);
    Assert.assertEquals("Wrong or missing OFFSET clause.", query.toSql() + offsetClause, qr.rewriteQuery(query));

    query.setMaxRows(rows);
    Assert.assertEquals("Wrong or missing OFFSET and FETCH clauses.", query.toSql() + offsetClause + fetchClause,
            qr.rewriteQuery(query));

    query.setFirstRow(null);
    Assert.assertEquals("Wrong or missing FETCH clause.", query.toSql() + fetchClause, qr.rewriteQuery(query));
}
 
开发者ID:apache,项目名称:metamodel,代码行数:23,代码来源:OracleQueryRewriterTest.java

示例7: testOffsetFetchConstruct

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public void testOffsetFetchConstruct() {
    final int offset = 1000;
    final int rows = 100;

    final String baseQuery = "SELECT MY_SCHEMA.\"foo\".\"bar\" FROM MY_SCHEMA.\"foo\" ORDER BY id ASC";
    final String baseQueryWithTop =
            "SELECT TOP " + rows + " MY_SCHEMA.\"foo\".\"bar\" FROM MY_SCHEMA.\"foo\" ORDER BY id ASC";
    final String offsetClause = " OFFSET " + (offset - 1) + " ROWS";
    final String fetchClause = " FETCH NEXT " + rows + " ROWS ONLY";

    Query query = new Query();
    query.from(table).select(column).orderBy("id");
    Assert.assertEquals("There shouldn't be OFFSET-FETCH clause.", baseQuery, qr.rewriteQuery(query));

    query.setFirstRow(offset);
    Assert.assertEquals("Wrong or missing OFFSET clause.", baseQuery + offsetClause, qr.rewriteQuery(query));

    query.setMaxRows(rows);
    Assert.assertEquals("Wrong or missing OFFSET and FETCH clauses.", baseQuery + offsetClause + fetchClause,
            qr.rewriteQuery(query));

    query.setFirstRow(null);
    Assert.assertEquals("Using FETCH clause instead of TOP clause.", baseQueryWithTop, qr.rewriteQuery(query));
}
 
开发者ID:apache,项目名称:metamodel,代码行数:25,代码来源:SQLServerQueryRewriterTest.java

示例8: runConversionTest

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private void runConversionTest(SalesforceDataContext dc, String tableName) {
    Query q = dc.query().from(tableName).selectAll().toQuery();
    q.setMaxRows(1);

    final DataSet ds = dc.executeQuery(q);
    final List<SelectItem> selectItems = ds.getSelectItems();
    while (ds.next()) {
        Row row = ds.getRow();

        for (SelectItem selectItem : selectItems) {
            Column column = selectItem.getColumn();
            Object value = row.getValue(column);
            if (value != null) {
                ColumnType type = column.getType();
                Class<?> expected = type.getJavaEquivalentClass();
                Class<? extends Object> actual = value.getClass();
                assertEquals("Unexpected type of value: " + value + ". Expected " + expected.getName()
                        + " but found " + actual.getName() + ". Native type was: " + column.getNativeType(),
                        expected, actual);
            }
        }
    }
}
 
开发者ID:apache,项目名称:metamodel,代码行数:24,代码来源:SalesforceDataContextTest.java

示例9: testMaxRowsQuery

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public void testMaxRowsQuery() throws Exception {
    if (!isConfigured()) {
        System.err.println(getInvalidConfigurationMessage());
        return;
    }
    dataContext = new SugarCrmDataContext(BASE_URL + "/", getUsername(), getPassword(), "Test");

    Query query = dataContext.query().from("Employees").select("id", "name").toQuery();
    query.setMaxRows(3);
    final DataSet ds = dataContext.executeQuery(query);

    assertNotNull(ds);
    assertTrue(ds instanceof MaxRowsDataSet);

    assertTrue(ds.next());
    assertNotNull(ds.getRow().getValue(0));
    assertNotNull(ds.getRow().getValue(1));
    assertTrue(ds.next());
    assertNotNull(ds.getRow().getValue(0));
    assertNotNull(ds.getRow().getValue(1));
    assertTrue(ds.next());
    assertNotNull(ds.getRow().getValue(0));
    assertNotNull(ds.getRow().getValue(1));
    assertFalse(ds.next());
}
 
开发者ID:apache,项目名称:metamodel,代码行数:26,代码来源:SugarCrmDataContextTest.java

示例10: executeQuery

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public static QueryResponse executeQuery(TenantContext tenant, String dataSource, DataContext dataContext,
        Query query, Integer offset, Integer limit) {

    if (offset != null) {
        query.setFirstRow(offset);
    }
    if (limit != null) {
        query.setMaxRows(limit);
    }

    logger.info("{}/{} - Executing query: {}", tenant.getTenantName(), dataSource, query);

    final List<String> headers;
    final List<List<Object>> data = new ArrayList<>();

    try (final DataSet dataSet = dataContext.executeQuery(query)) {
        headers = dataSet.getSelectItems().stream().map((si) -> si.toString()).collect(Collectors.toList());
        while (dataSet.next()) {
            final Object[] values = dataSet.getRow().getValues();
            data.add(Arrays.asList(values));
        }
    }

    final QueryResponse resp = new QueryResponse();
    resp.type("dataset");
    resp.headers(headers);
    resp.data(data);
    return resp;
}
 
开发者ID:apache,项目名称:metamodel-membrane,代码行数:30,代码来源:QueryController.java

示例11: createPojoTable

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public PojoTableType createPojoTable(final DataContext dataContext, final Table table, final List<Column> usedColumns,
        final int maxRows) {
    final PojoTableType tableType = new PojoTableType();
    tableType.setName(table.getName());

    // read columns
    final Columns columnsType = new Columns();
    for (final Column column : usedColumns) {
        columnsType.getColumn().add(createPojoColumn(column.getName(), column.getType()));
    }
    tableType.setColumns(columnsType);

    if (maxRows > 0) {
        // read values
        final Query q = dataContext.query().from(table).select(usedColumns).toQuery();
        q.setMaxRows(maxRows);

        final Document document = XmlUtils.createDocument();
        final Rows rowsType = new Rows();
        try (DataSet ds = dataContext.executeQuery(q)) {
            while (ds.next()) {
                final Row row = ds.getRow();
                rowsType.getRow().add(createPojoRow(row, document));
            }
        }

        tableType.setRows(rowsType);
    }

    return tableType;
}
 
开发者ID:datacleaner,项目名称:DataCleaner,代码行数:32,代码来源:JaxbPojoDatastoreAdaptor.java

示例12: createExpectedRowsRef

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private Supplier<Integer> createExpectedRowsRef() {
    // TODO: This only seems valid for source tables
    return new LazyRef<Integer>() {

        @Override
        protected Integer fetch() {
            int expectedRows = -1;
            {
                final Query originalQuery = getQuery();
                final Query countQuery = originalQuery.clone();
                countQuery.setMaxRows(null);
                countQuery.setFirstRow(null);
                countQuery.getSelectClause().removeItems();
                countQuery.getOrderByClause().removeItems();
                countQuery.selectCount();
                countQuery.getSelectClause().getItem(0).setFunctionApproximationAllowed(true);

                final Datastore datastore = _publisher.getStream().getAnalysisJob().getDatastore();
                try (DatastoreConnection connection = datastore.openConnection()) {
                    try (DataSet countDataSet = connection.getDataContext().executeQuery(countQuery)) {
                        if (countDataSet.next()) {
                            final Number count =
                                    ConvertToNumberTransformer.transformValue(countDataSet.getRow().getValue(0));
                            if (count != null) {
                                expectedRows = count.intValue();
                            }
                        }
                    }
                }

                final Integer maxRows = originalQuery.getMaxRows();
                if (maxRows != null) {
                    expectedRows = Math.min(expectedRows, maxRows.intValue());
                }
            }

            return expectedRows;
        }
    };
}
 
开发者ID:datacleaner,项目名称:DataCleaner,代码行数:41,代码来源:RowProcessingMetricsImpl.java

示例13: getPreviewData

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private DataSet getPreviewData(final Resource resource) {
    if (!isPreviewDataAvailable()) {
        logger.info("Not displaying preview table because isPreviewDataAvailable() returned false");
        return null;
    }

    logger.info("Attempting to fetch preview data from resource: {}", resource);

    final D datastore = getPreviewDatastore(resource);
    try (DatastoreConnection con = datastore.openConnection()) {
        final DataContext dc = con.getDataContext();
        final Table table = getPreviewTable(dc);
        if (table == null) {
            logger.info("Not displaying preview because getPreviewTable(..) returned null");
            return null;
        }

        List<Column> columns = table.getColumns();
        if (columns.size() > getPreviewColumns()) {
            // include max 10 columns
            columns = columns.stream().limit(getPreviewColumns()).collect(Collectors.toList());
        }
        final Query q = dc.query().from(table).select(columns).toQuery();
        q.setMaxRows(PREVIEW_ROWS);

        return dc.executeQuery(q);
    }
}
 
开发者ID:datacleaner,项目名称:DataCleaner,代码行数:29,代码来源:AbstractResourceBasedDatastoreDialog.java

示例14: createPojoTable

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
public PojoTableType createPojoTable(final DataContext dataContext, final Table table, final Column[] usedColumns,
        final int maxRows) {
    final PojoTableType tableType = new PojoTableType();
    tableType.setName(table.getName());

    // read columns
    final Columns columnsType = new Columns();
    for (Column column : usedColumns) {
        columnsType.getColumn().add(createPojoColumn(column.getName(), column.getType()));
    }
    tableType.setColumns(columnsType);

    if (maxRows > 0) {
        // read values
        final Query q = dataContext.query().from(table).select(usedColumns).toQuery();
        q.setMaxRows(maxRows);

        final DocumentBuilder documentBuilder = createDocumentBuilder();
        final Document document = documentBuilder.newDocument();
        final Rows rowsType = new Rows();
        try (final DataSet ds = dataContext.executeQuery(q)) {
            while (ds.next()) {
                final Row row = ds.getRow();
                rowsType.getRow().add(createPojoRow(row, document));
            }
        }

        tableType.setRows(rowsType);
    }

    return tableType;
}
 
开发者ID:datacleaner,项目名称:AnalyzerBeans,代码行数:33,代码来源:JaxbPojoDatastoreAdaptor.java

示例15: createExpectedRowsRef

import org.apache.metamodel.query.Query; //导入方法依赖的package包/类
private Ref<Integer> createExpectedRowsRef() {
    return new LazyRef<Integer>() {

        @Override
        protected Integer fetch() {
            int expectedRows = -1;
            {
                final Query originalQuery = getQuery();
                final Query countQuery = originalQuery.clone();
                countQuery.setMaxRows(null);
                countQuery.setFirstRow(null);
                countQuery.getSelectClause().removeItems();
                countQuery.getOrderByClause().removeItems();
                countQuery.selectCount();
                countQuery.getSelectClause().getItem(0).setFunctionApproximationAllowed(true);

                final Datastore datastore = _publishers.getDatastore();
                try (final DatastoreConnection connection = datastore.openConnection()) {
                    try (final DataSet countDataSet = connection.getDataContext().executeQuery(countQuery)) {
                        if (countDataSet.next()) {
                            final Number count = ConvertToNumberTransformer.transformValue(countDataSet.getRow()
                                    .getValue(0));
                            if (count != null) {
                                expectedRows = count.intValue();
                            }
                        }
                    }
                }

                final Integer maxRows = originalQuery.getMaxRows();
                if (maxRows != null) {
                    expectedRows = Math.min(expectedRows, maxRows.intValue());
                }
            }

            return expectedRows;
        }
    };
}
 
开发者ID:datacleaner,项目名称:AnalyzerBeans,代码行数:40,代码来源:RowProcessingMetricsImpl.java


注:本文中的org.apache.metamodel.query.Query.setMaxRows方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。