Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Logback: the reliable, generic, fast and flexible logging framework. Copyright (C) 1999-2011, QOS.ch. All rights reserved. This program and the accompanying materials are dual-licensed under either the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation or (per the licensee's choosing) under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.
 
 package ch.qos.logback.core.db.dialect;
 
 

Author(s):
Ceki Gulcu
 
 public class DBUtil extends ContextAwareBase {
   private static final String POSTGRES_PART = "postgresql";
   private static final String MYSQL_PART = "mysql";
   private static final String ORACLE_PART = "oracle";
   // private static final String MSSQL_PART = "mssqlserver4";
   private static final String MSSQL_PART = "microsoft";
   private static final String HSQL_PART = "hsql";
   private static final String H2_PART = "h2";
   private static final String SYBASE_SQLANY_PART = "sql anywhere";
   private static final String SQLITE_PART = "sqlite";
 
   public static SQLDialectCode discoverSQLDialect(DatabaseMetaData meta) {
     SQLDialectCode dialectCode = .;
 
     try {
 
       String dbName = meta.getDatabaseProductName().toLowerCase();
 
       if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else if (dbName.indexOf() != -1) {
         return .;
       } else {
         return .;
       }
     } catch (SQLException sqle) {
       // we can't do much here
     }
 
     return dialectCode;
   }
 
   public static SQLDialect getDialectFromCode(SQLDialectCode sqlDialectType) {
     SQLDialect sqlDialect = null;
 
     switch (sqlDialectType) {
     case :
       sqlDialect = new PostgreSQLDialect();
       break;
 
     case :
       sqlDialect = new MySQLDialect();
       break;
     
     case :
       sqlDialect = new OracleDialect();
       break;
     
     case :
       sqlDialect = new MsSQLDialect();
       break;
     
     case :
       sqlDialect = new HSQLDBDialect();
       break;
 
     case :
       sqlDialect = new H2Dialect();
       break;
       
       sqlDialect = new SybaseSqlAnywhereDialect();
      break;
    case :
      sqlDialect = new SQLiteDialect();
      break;
    }
    return sqlDialect;
  }

  
This method handles cases where the java.sql.DatabaseMetaData.supportsGetGeneratedKeys() method is missing in the JDBC driver implementation.
  public boolean supportsGetGeneratedKeys(DatabaseMetaData meta) {
    try {
      //
      // invoking JDBC 1.4 method by reflection
      //
      return ((BooleanDatabaseMetaData.class.getMethod(
          "supportsGetGeneratedKeys", (Class[]) null).invoke(meta,
          (Object[]) null)).booleanValue();
    } catch (Throwable e) {
      addInfo("Could not call supportsGetGeneratedKeys method. This may be recoverable");
      return false;
    }
  }

  
This method handles cases where the java.sql.DatabaseMetaData.supportsBatchUpdates() method is missing in the JDBC driver implementation.
  public boolean supportsBatchUpdates(DatabaseMetaData meta) {
    try {
      return meta.supportsBatchUpdates();
    } catch (Throwable e) {
      addInfo("Missing DatabaseMetaData.supportsBatchUpdates method.");
      return false;
    }
  }
New to GrepCode? Check out our FAQ X