private void populateCurrentRows()

in jdbc/src/main/java/software/amazon/timestream/jdbc/TimestreamColumnsResultSet.java [151:201]


  private void populateCurrentRows() throws SQLException {
    final List<TimestreamResultSetMetaData.ColInfo> colInfo = new ArrayList<>();
    while (result.next()) {
      final String columnName = result.getString(1);
      if (!this.columnNameMatcher.reset(columnName).matches()) {
        // This column name does not pass the column pattern.
        continue;
      }

      colInfo.add(new TimestreamResultSetMetaData.ColInfo(
        new Type().withScalarType(result.getString(2)),
        columnName));
    }

    final ResultSetMetaData rsMeta = new TimestreamResultSetMetaData(colInfo);
    final int numColumns = rsMeta.getColumnCount();
    final List<Row> columns = new ArrayList<>();
    for (int i = 1; i <= numColumns; ++i) {
      final int columnType = rsMeta.getColumnType(i);
      columns.add(new Row().withData(
        createDatum(curDatabase),
        NULL_DATUM,
        createDatum(curTable),
        createDatum(rsMeta.getColumnName(i)),
        createDatum(columnType),
        createDatum(rsMeta.getColumnTypeName(i)),
        createDatum(rsMeta.getColumnDisplaySize(i)),
        NULL_DATUM,
        ((columnType == Types.TIME) || (columnType == Types.TIMESTAMP)) ? createDatum(9)
          : NULL_DATUM,
        (columnType == Types.DOUBLE) ? createDatum(10) : NULL_DATUM,
        createDatum(DatabaseMetaData.columnNullable),
        NULL_DATUM,
        NULL_DATUM,
        createDatum(columnType),
        ((columnType == Types.DATE) || (columnType == Types.TIME) || (columnType
          == Types.TIMESTAMP)) ?
          createDatum(columnType % 90) : NULL_DATUM,
        (columnType == Types.VARCHAR) ? createDatum(Integer.MAX_VALUE) : NULL_DATUM,
        createDatum(i),
        createDatum(Constants.YES_STRING),
        NULL_DATUM,
        NULL_DATUM,
        NULL_DATUM,
        NULL_DATUM,
        createDatum(Constants.NO_STRING),
        createDatum(Constants.NO_STRING)));
    }

    this.rowItr = columns.iterator();
  }