@Override protected RowProcessingQueryOptimizer fetch() { final Datastore datastore = _publishers.getDatastore(); try (final DatastoreConnection con = datastore.openConnection()) { final DataContext dataContext = con.getDataContext(); final Column[] columnArray = _physicalColumns.toArray(new Column[_physicalColumns.size()]); final Query baseQuery = dataContext.query().from(_table).select(columnArray).toQuery(); logger.debug("Base query for row processing: {}", baseQuery); final List<RowProcessingConsumer> sortedConsumers = sortConsumers(_consumers); final RowProcessingQueryOptimizer optimizer = new RowProcessingQueryOptimizer(datastore, sortedConsumers, baseQuery); return optimizer; } catch (RuntimeException e) { logger.error("Failed to build query optimizer! {}", e.getMessage(), e); throw e; } } };
private int getLastRowNum(Sheet sheet) { final int lastRowNum = sheet.getLastRowNum(); if (lastRowNum == 0 && sheet instanceof SXSSFSheet) { // streaming sheets have bad behaviour in this scenario - since no // rows are in cache, it will return 0! DataSet ds = _dataContext.query().from(sheet.getSheetName()).selectCount().execute(); ds.next(); final Number count = (Number) ds.getRow().getValue(0); final int columnNameLineNumber = _configuration.getColumnNameLineNumber(); int oneBasedResult = count.intValue() + (columnNameLineNumber == ExcelConfiguration.NO_COLUMN_NAME_LINE ? 0 : columnNameLineNumber); return oneBasedResult - 1; } return lastRowNum; }
try (DataSet dataSet = tempDataContext.query().from(table).selectAll().execute()) { while (dataSet.next()) { final Row row = dataSet.getRow();
try (DataSet dataSet = tempDataContext.query().from(table).selectAll().execute()) { while (dataSet.next()) { final Row row = dataSet.getRow();
@Override protected RowProcessingQueryOptimizer fetch() { final Datastore datastore = getAnalysisJob().getDatastore(); try (DatastoreConnection con = datastore.openConnection()) { final DataContext dataContext = con.getDataContext(); final Column[] columnArray = _physicalColumns.toArray(new Column[_physicalColumns.size()]); final Query baseQuery = dataContext.query().from(getTable()).select(columnArray).toQuery(); logger.debug("Base query for row processing: {}", baseQuery); // try to optimize return new RowProcessingQueryOptimizerImpl(datastore, getConsumersSorted(), baseQuery); } catch (final RuntimeException e) { logger.error("Failed to build query optimizer! {}", e.getMessage(), e); throw e; } } };
private int getLastRowNum(Sheet sheet) { final int lastRowNum = sheet.getLastRowNum(); if (lastRowNum == 0 && sheet instanceof SXSSFSheet) { // streaming sheets have bad behaviour in this scenario - since no // rows are in cache, it will return 0! DataSet ds = _dataContext.query().from(sheet.getSheetName()).selectCount().execute(); ds.next(); final Number count = (Number) ds.getRow().getValue(0); final int columnNameLineNumber = _configuration.getColumnNameLineNumber(); int oneBasedResult = count.intValue() + (columnNameLineNumber == ExcelConfiguration.NO_COLUMN_NAME_LINE ? 0 : columnNameLineNumber); return oneBasedResult - 1; } return lastRowNum; }
@Override public void actionPerformed(final ActionEvent e) { List<Column> columns = _columns; if (_columns == null) { final List<Column> cols = new ArrayList<>(); for (final InputColumn<?> col : _inputColumns) { if (col.isPhysicalColumn()) { cols.add(col.getPhysicalColumn()); } } columns = cols; } if (columns.isEmpty()) { throw new IllegalStateException("No columns found - could not determine which columns to query"); } try (DatastoreConnection con = _datastore.openConnection()) { final DataContext dc = con.getDataContext(); final Query q = dc.query().from(columns.get(0).getTable()).select(columns).toQuery(); final DataSetWindow window = new DataSetWindow(q, dc, PAGE_SIZE, _windowContext); window.open(); } } }
try (DatastoreConnection con = _datastore.openConnection()) { DataContext dataContext = con.getDataContext(); Query q = dataContext.query().from(_column.getTable()).selectCount().where(_column).eq(value) .toQuery(); try (DataSet dataSet = dataContext.executeQuery(q)) {
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); } }
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); } }
.select("text", "count").execute()) { int i = 0; while (dataSet.next()) {
Query query = dataContext.query().from(table).select(columns).toQuery(); if (sampleSize > 0 && sampleSize != Integer.MAX_VALUE) { query.setMaxRows(sampleSize);
Query query = dataContext.query().from(table).select(columns).toQuery(); if (sampleSize > 0 && sampleSize != Integer.MAX_VALUE) { query.setMaxRows(sampleSize);
@Override public Collection<String> getValues() { try (final DatastoreConnection con = _datastore.openConnection()) { final DataContext dataContext = con.getDataContext(); final Query q = dataContext.query().from(_column.getTable()).select(_column).toQuery(); q.selectDistinct(); try (final DataSet dataSet = dataContext.executeQuery(q)) { final List<String> values = new ArrayList<String>(); while (dataSet.next()) { final Row row = dataSet.getRow(); Object value = row.getValue(0); if (value != null) { value = value.toString(); } values.add((String) value); } return values; } } } }
public static List<LicensedProject> getLicensedProjects() { final List<LicensedProject> result = new ArrayList<>(); final URL url = resourceManager.getUrl("licenses/dependency-licenses.csv"); if (url == null) { throw new IllegalStateException("Could not find dependencies file"); } try { final DataContext dc = DataContextFactory.createCsvDataContext(url.openStream(), ',', '"'); final Table table = dc.getDefaultSchema().getTable(0); final Column projectColumn = table.getColumnByName("Project"); final Column websiteColumn = table.getColumnByName("Website"); final Column licenseColumn = table.getColumnByName("License"); final Query q = dc.query().from(table).select(table.getColumns()).orderBy(projectColumn).asc().toQuery(); final DataSet ds = dc.executeQuery(q); while (ds.next()) { final LicensedProject licensedProject = new LicensedProject(); final Row row = ds.getRow(); final String licenseName = row.getValue(licenseColumn).toString(); licensedProject.name = row.getValue(projectColumn).toString(); licensedProject.websiteUrl = row.getValue(websiteColumn).toString(); licensedProject.license = getLicense(licenseName); result.add(licensedProject); } } catch (final IOException e) { throw new IllegalStateException("Error occurred while reading dependencies file", e); } return result; }
protected List<Row> getRowsToUpdate() { final DataContext dc = _updateCallback.getDataContext(); final Table table = getTable(); final List<FilterItem> whereItems = getWhereItems(); final DataSet dataSet = dc.query() .from(table) .select(table.getColumns()) .where(whereItems).execute(); final List<Row> rows = dataSet.toRows(); return rows; }
protected List<Row> getRowsToUpdate() { final DataContext dc = _updateCallback.getDataContext(); final Table table = getTable(); final List<FilterItem> whereItems = getWhereItems(); final DataSet dataSet = dc.query() .from(table) .select(table.getColumns()) .where(whereItems).execute(); final List<Row> rows = dataSet.toRows(); return rows; }
public SimpleDictionary loadIntoMemory(final DatastoreConnection datastoreConnection) { final DataContext dataContext = datastoreConnection.getDataContext(); final Column column = getColumn(datastoreConnection); final Query query = dataContext.query().from(column.getTable()).select(column).toQuery(); if (datastoreConnection.getDatastore().getPerformanceCharacteristics().isQueryOptimizationPreferred()) { query.getSelectClause().setDistinct(true); } final Set<String> values = new HashSet<>(); try (DataSet dataSet = dataContext.executeQuery(query)) { while (dataSet.next()) { final Object value = dataSet.getRow().getValue(0); if (value != null) { values.add(value.toString()); } } } return new SimpleDictionary(getName(), values); }
/** * Reads a {@link FixedWidthConfiguration} based on a SAS 'format file', * <a href= * "http://support.sas.com/documentation/cdl/en/etlug/67323/HTML/default/viewer.htm#p0h03yig7fp1qan1arghp3lwjqi6.htm"> * described here</a>. * * @param encoding the format file encoding * @param resource the format file resource * @param failOnInconsistentLineWidth flag specifying whether inconsistent line should stop processing or not * @return a {@link FixedWidthConfiguration} object to use */ public FixedWidthConfiguration readFromSasFormatFile(String encoding, Resource resource, boolean failOnInconsistentLineWidth) { final List<FixedWidthColumnSpec> columnSpecs = new ArrayList<>(); final CsvDataContext dataContext = new CsvDataContext(resource, new CsvConfiguration()); final Table table = dataContext.getDefaultSchema().getTable(0); try (final DataSet dataSet = dataContext.query().from(table).select("Name", "BeginPosition", "EndPosition") .execute()) { while (dataSet.next()) { final String name = (String) dataSet.getRow().getValue(0); final int beginPosition = Integer.parseInt((String) dataSet.getRow().getValue(1)); final int endPosition = Integer.parseInt((String) dataSet.getRow().getValue(2)); final int width = 1 + endPosition - beginPosition; columnSpecs.add(new FixedWidthColumnSpec(name, width)); } } return new FixedWidthConfiguration(encoding, columnSpecs, failOnInconsistentLineWidth); }
/** * Reads a {@link FixedWidthConfiguration} based on a SAS 'format file', * <a href= * "http://support.sas.com/documentation/cdl/en/etlug/67323/HTML/default/viewer.htm#p0h03yig7fp1qan1arghp3lwjqi6.htm"> * described here</a>. * * @param encoding the format file encoding * @param resource the format file resource * @param failOnInconsistentLineWidth flag specifying whether inconsistent line should stop processing or not * @return a {@link FixedWidthConfiguration} object to use */ public FixedWidthConfiguration readFromSasFormatFile(String encoding, Resource resource, boolean failOnInconsistentLineWidth) { final List<FixedWidthColumnSpec> columnSpecs = new ArrayList<>(); final CsvDataContext dataContext = new CsvDataContext(resource, new CsvConfiguration()); final Table table = dataContext.getDefaultSchema().getTable(0); try (final DataSet dataSet = dataContext.query().from(table).select("Name", "BeginPosition", "EndPosition") .execute()) { while (dataSet.next()) { final String name = (String) dataSet.getRow().getValue(0); final int beginPosition = Integer.parseInt((String) dataSet.getRow().getValue(1)); final int endPosition = Integer.parseInt((String) dataSet.getRow().getValue(2)); final int width = 1 + endPosition - beginPosition; columnSpecs.add(new FixedWidthColumnSpec(name, width)); } } return new FixedWidthConfiguration(encoding, columnSpecs, failOnInconsistentLineWidth); }