Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  // Copyright 2013 The Android Open Source Project
  //
  // Licensed under the Apache License, Version 2.0 (the "License");
  // you may not use this file except in compliance with the License.
  // You may obtain a copy of the License at
  //
  // http://www.apache.org/licenses/LICENSE-2.0
  //
  // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
 package com.google.gwtorm.schema.sql;
 
 
 import java.sql.Types;
 import java.util.Set;
 
 public class DialectOracle extends SqlDialect {
 
   public DialectOracle() {
     .put(."NUMBER(19,0)");
     .put(."CLOB");
   }
 
   @Override
   public boolean handles(String urlConnection cthrows SQLException {
     return url.startsWith("jdbc:oracle:");
   }
 
   @Override
   public boolean canDetermineIndividualBatchUpdateCounts() {
     return false;
   }
   @Override
   public boolean canDetermineTotalBatchUpdateCount() {
     return false;
   }
 
   @Override
   public Set<StringlistTables(final Connection dbthrows SQLException {
     Statement s = db.createStatement();
     try {
       ResultSet rs = s.executeQuery("SELECT table_name FROM user_tables");
       try {
         Set<Stringtables = new HashSet<String>();
         while (rs.next()) {
           tables.add(rs.getString(1).toLowerCase());
         }
         return tables;
       } finally {
         rs.close();
       }
     } finally {
       s.close();
     }
   }
 
   @Override
   public Set<StringlistIndexes(final Connection dbString tableName)
       throws SQLException {
     PreparedStatement s = db.prepareStatement("SELECT distinct index_name"
         + " FROM user_indexes WHERE table_name = ?");
     try {
       s.setString(1, tableName.toUpperCase());
       ResultSet rs = s.executeQuery();
       try {
         Set<Stringindexes = new HashSet<String>();
         while (rs.next()) {
           indexes.add(rs.getString(1).toLowerCase());
         }
         return indexes;
       } finally {
         rs.close();
       }
     } finally {
       s.close();
     }
   }
 
   @Override
   public Set<StringlistSequences(Connection dbthrows SQLException {
     Statement s = db.createStatement();
     try {
       ResultSet rs = s.executeQuery("SELECT sequence_name FROM user_sequences");
       try {
         Set<Stringsequences = new HashSet<String>();
        while (rs.next()) {
          sequences.add(rs.getString(1).toLowerCase());
        }
        return sequences;
      } finally {
        rs.close();
      }
    } finally {
      s.close();
    }
  }
  public void addColumn(StatementExecutor stmtString tableName,
      ColumnModel colthrows OrmException {
    final StringBuilder r = new StringBuilder();
    r.append("ALTER TABLE ");
    r.append(tableName);
    r.append(" ADD ");
    r.append(col.getColumnName());
    r.append(" ");
    r.append(getSqlTypeInfo(col).getSqlType(colthis));
    stmt.execute(r.toString());
  }
  public void renameColumn(StatementExecutor eString tableName,
      String fromColumnColumnModel colthrows OrmException {
    StringBuffer sb = new StringBuffer();
    sb.append("ALTER TABLE ");
    sb.append(tableName);
    sb.append(" RENAME COLUMN ");
    sb.append(fromColumn);
    sb.append(" TO ");
    sb.append(col.getColumnName());
    e.execute(sb.toString());
  }
  public String getNextSequenceValueSql(String seqname) {
    return "SELECT " + seqname + ".nextval FROM dual";
  }
  public boolean selectHasLimit() {
    return false;
  }
  public boolean isStatementDelimiterSupported() {
    return false;
  }
  public OrmException convertError(String opString entitySQLException err) {
    switch (err.getErrorCode()) {
      case 1: // ORA-00001: unique constraint violated
        return new OrmDuplicateKeyException(entityerr);
      default:
        return super.convertError(opentityerr);
    }
  }
New to GrepCode? Check out our FAQ X