コード例 #1
0
ファイル: H2MetaModel.java プロジェクト: serge-rider/dbeaver
  @Override
  public List<GenericSequence> loadSequences(
      @NotNull DBRProgressMonitor monitor, @NotNull GenericStructContainer container)
      throws DBException {
    try (JDBCSession session =
        DBUtils.openMetaSession(monitor, container.getDataSource(), "Read sequences")) {
      try (JDBCPreparedStatement dbStat =
          session.prepareStatement("SELECT * FROM INFORMATION_SCHEMA.SEQUENCES")) {
        List<GenericSequence> result = new ArrayList<>();

        try (JDBCResultSet dbResult = dbStat.executeQuery()) {
          while (dbResult.next()) {
            String name = JDBCUtils.safeGetString(dbResult, "SEQUENCE_NAME");
            if (name == null) {
              continue;
            }
            String description = JDBCUtils.safeGetString(dbResult, "REMARKS");
            GenericSequence sequence =
                new GenericSequence(
                    container,
                    name,
                    description,
                    JDBCUtils.safeGetLong(dbResult, "CURRENT_VALUE"),
                    JDBCUtils.safeGetLong(dbResult, "MIN_VALUE"),
                    JDBCUtils.safeGetLong(dbResult, "MAX_VALUE"),
                    JDBCUtils.safeGetLong(dbResult, "INCREMENT"));
            result.add(sequence);
          }
        }
        return result;
      }
    } catch (SQLException e) {
      throw new DBException(e, container.getDataSource());
    }
  }
コード例 #2
0
ファイル: H2MetaModel.java プロジェクト: serge-rider/dbeaver
 @Override
 public String getViewDDL(DBRProgressMonitor monitor, GenericTable sourceObject)
     throws DBException {
   GenericDataSource dataSource = sourceObject.getDataSource();
   try (JDBCSession session =
       DBUtils.openMetaSession(monitor, dataSource, "Read H2 view source")) {
     try (JDBCPreparedStatement dbStat =
         session.prepareStatement(
             "SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS "
                 + "WHERE TABLE_SCHEMA=? AND TABLE_NAME=?")) {
       dbStat.setString(1, sourceObject.getContainer().getName());
       dbStat.setString(2, sourceObject.getName());
       try (JDBCResultSet dbResult = dbStat.executeQuery()) {
         if (dbResult.nextRow()) {
           return dbResult.getString(1);
         }
         return "-- H2 view definition not found";
       }
     }
   } catch (SQLException e) {
     throw new DBException(e, dataSource);
   }
 }