@Override public String generateSqlType(Dialect dialect) { switch (dialect.getId()) { case PostgreSql.ID: case MySql.ID: case H2.ID: return "INTEGER"; case MsSql.ID: return "INT"; case Oracle.ID: return "NUMBER(38,0)"; default: throw new IllegalArgumentException("Unsupported dialect id " + dialect.getId()); } }
MyBatisConfBuilder(Database database) { this.conf = new Configuration(); this.conf.setEnvironment(new Environment("production", createTransactionFactory(), database.getDataSource())); this.conf.setUseGeneratedKeys(true); this.conf.setLazyLoadingEnabled(false); this.conf.setJdbcTypeForNull(JdbcType.NULL); Dialect dialect = database.getDialect(); this.conf.setDatabaseId(dialect.getId()); this.conf.getVariables().setProperty("_true", dialect.getTrueSqlValue()); this.conf.getVariables().setProperty("_false", dialect.getFalseSqlValue()); this.conf.getVariables().setProperty("_from_dual", dialect.getSqlFromDual()); this.conf.getVariables().setProperty("_scrollFetchSize", String.valueOf(dialect.getScrollDefaultFetchSize())); this.conf.setLocalCacheScope(LocalCacheScope.STATEMENT); }
@VisibleForTesting void initSettings() { properties = new Properties(); completeProperties(settings, properties, SONAR_JDBC); completeDefaultProperty(properties, JDBC_URL.getKey(), DEFAULT_URL); doCompleteProperties(properties); dialect = DialectUtils.find(properties.getProperty(SONAR_JDBC_DIALECT), properties.getProperty(JDBC_URL.getKey())); properties.setProperty(SONAR_JDBC_DRIVER, dialect.getDefaultDriverClassName()); }
private void appendDefaultValue(StringBuilder sql, ColumnDef columnDef) { Object defaultValue = columnDef.getDefaultValue(); if (defaultValue != null) { sql.append(" DEFAULT "); if (defaultValue instanceof String) { sql.append(format("'%s'", defaultValue)); } else if (defaultValue instanceof Boolean) { sql.append((boolean) defaultValue ? dialect.getTrueSqlValue() : dialect.getFalseSqlValue()); } else { sql.append(defaultValue); } } }
private void initDataSource() throws Exception { // but it's correctly caught by start() LOG.info("Create JDBC data source for {}", properties.getProperty(JDBC_URL.getKey()), DEFAULT_URL); BasicDataSource basicDataSource = BasicDataSourceFactory.createDataSource(extractCommonsDbcpProperties(properties)); datasource = new ProfiledDataSource(basicDataSource, NullConnectionInterceptor.INSTANCE); datasource.setConnectionInitSqls(dialect.getConnectionInitStatements()); datasource.setValidationQuery(dialect.getValidationQuery()); enableSqlLogging(datasource, logbackHelper.getLoggerLevel("sql") == Level.TRACE); }
public static SelectImpl create(Database db, Connection connection, String sql) throws SQLException { // TODO use DbClient#newScrollingSelectStatement() PreparedStatement pstmt = connection.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); pstmt.setFetchSize(db.getDialect().getScrollDefaultFetchSize()); return new SelectImpl(pstmt); } }
public CleanupDisabledUsers(Database db, System2 system2) { super(db); this.falseValue = db.getDialect().getFalseSqlValue(); this.system2 = system2; }
private void addColumn(StringBuilder sql, ColumnDef columnDef) { sql.append(columnDef.getName()).append(" ").append(columnDef.generateSqlType(dialect)); Object defaultValue = columnDef.getDefaultValue(); if (defaultValue != null) { sql.append(" DEFAULT "); // TODO remove duplication with CreateTableBuilder if (defaultValue instanceof String) { sql.append(format("'%s'", defaultValue)); } else if (defaultValue instanceof Boolean) { sql.append((boolean) defaultValue ? dialect.getTrueSqlValue() : dialect.getFalseSqlValue()); } else { sql.append(defaultValue); } } sql.append(columnDef.isNullable() ? " NULL" : " NOT NULL"); }
private void initDataSource() throws Exception { // but it's correctly caught by start() LOG.info("Create JDBC data source for {}", properties.getProperty(DatabaseProperties.PROP_URL, DEFAULT_URL)); BasicDataSource basicDataSource = (BasicDataSource) BasicDataSourceFactory.createDataSource(extractCommonsDbcpProperties(properties)); datasource = new ProfiledDataSource(basicDataSource, NullConnectionInterceptor.INSTANCE); datasource.setConnectionInitSqls(dialect.getConnectionInitStatements()); datasource.setValidationQuery(dialect.getValidationQuery()); enableSqlLogging(datasource, logbackHelper.getLoggerLevel("sql") == Level.TRACE); }
/** * Create a PreparedStatement for SELECT requests with scrolling of results */ public PreparedStatement newScrollingSelectStatement(DbSession session, String sql) { int fetchSize = database.getDialect().getScrollDefaultFetchSize(); return newScrollingSelectStatement(session, sql, fetchSize); }
public CleanupDisabledUsers(Database db, System2 system2) { super(db); this.falseValue = db.getDialect().getFalseSqlValue(); this.system2 = system2; }
@Override public String generateSqlType(Dialect dialect) { switch (dialect.getId()) { case MsSql.ID: case MySql.ID: return "DATETIME"; case Oracle.ID: return "TIMESTAMP (6)"; case H2.ID: case PostgreSql.ID: return "TIMESTAMP"; default: throw new IllegalArgumentException("Unsupported dialect id " + dialect.getId()); } }
public MyBatisConfBuilder(Database database) { this.conf = new Configuration(); this.conf.setEnvironment(new Environment("production", createTransactionFactory(), database.getDataSource())); this.conf.setUseGeneratedKeys(true); this.conf.setLazyLoadingEnabled(false); this.conf.setJdbcTypeForNull(JdbcType.NULL); Dialect dialect = database.getDialect(); this.conf.setDatabaseId(dialect.getId()); this.conf.getVariables().setProperty("_true", dialect.getTrueSqlValue()); this.conf.getVariables().setProperty("_false", dialect.getFalseSqlValue()); this.conf.getVariables().setProperty("_scrollFetchSize", String.valueOf(dialect.getScrollDefaultFetchSize())); this.conf.setLocalCacheScope(LocalCacheScope.STATEMENT); }
private void appendDefaultValue(StringBuilder sql, ColumnDef columnDef) { Object defaultValue = columnDef.getDefaultValue(); if (defaultValue != null) { sql.append(" DEFAULT "); if (defaultValue instanceof String) { sql.append(format("'%s'", defaultValue)); } else if (defaultValue instanceof Boolean) { sql.append((boolean) defaultValue ? dialect.getTrueSqlValue() : dialect.getFalseSqlValue()); } else { sql.append(defaultValue); } } }
private void initDataSource() throws Exception { // but it's correctly caught by start() LOG.info("Create JDBC data source for {}", properties.getProperty(JDBC_URL.getKey()), DEFAULT_URL); BasicDataSource basicDataSource = BasicDataSourceFactory.createDataSource(extractCommonsDbcpProperties(properties)); datasource = new ProfiledDataSource(basicDataSource, NullConnectionInterceptor.INSTANCE); datasource.setConnectionInitSqls(dialect.getConnectionInitStatements()); datasource.setValidationQuery(dialect.getValidationQuery()); enableSqlLogging(datasource, logbackHelper.getLoggerLevel("sql") == Level.TRACE); }
public static SelectImpl create(Database db, Connection connection, String sql) throws SQLException { // TODO use DbClient#newScrollingSelectStatement() PreparedStatement pstmt = connection.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); pstmt.setFetchSize(db.getDialect().getScrollDefaultFetchSize()); return new SelectImpl(pstmt); } }
@VisibleForTesting void initSettings() { properties = new Properties(); completeProperties(settings, properties, SONAR_JDBC); completeDefaultProperty(properties, DatabaseProperties.PROP_URL, DEFAULT_URL); doCompleteProperties(properties); dialect = DialectUtils.find(properties.getProperty(SONAR_JDBC_DIALECT), properties.getProperty(SONAR_JDBC_URL)); properties.setProperty(DatabaseProperties.PROP_DRIVER, dialect.getDefaultDriverClassName()); }
@Override public String generateSqlType(Dialect dialect) { return dialect.getId().equals(Oracle.ID) ? "NUMBER (38)" : "BIGINT"; }
private void addColumn(StringBuilder sql, ColumnDef columnDef) { sql.append(columnDef.getName()).append(" ").append(columnDef.generateSqlType(dialect)); Object defaultValue = columnDef.getDefaultValue(); if (defaultValue != null) { sql.append(" DEFAULT "); // TODO remove duplication with CreateTableBuilder if (defaultValue instanceof String) { sql.append(format("'%s'", defaultValue)); } else if (defaultValue instanceof Boolean) { sql.append((boolean) defaultValue ? dialect.getTrueSqlValue() : dialect.getFalseSqlValue()); } else { sql.append(defaultValue); } } sql.append(columnDef.isNullable() ? " NULL" : " NOT NULL"); }
/** * Create a PreparedStatement for SELECT requests with scrolling of results */ public PreparedStatement newScrollingSelectStatement(DbSession session, String sql) { int fetchSize = database.getDialect().getScrollDefaultFetchSize(); return newScrollingSelectStatement(session, sql, fetchSize); }