提交 343e4cb9 authored 作者: Thomas Mueller's avatar Thomas Mueller

Use StringBuilder instead of StringBuffer

上级 e126424c
......@@ -141,7 +141,7 @@ public class Bnf {
*/
public String getSyntaxHtml(String bnf) {
StringTokenizer tokenizer = getTokenizer(bnf);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (tokenizer.hasMoreTokens()) {
String s = tokenizer.nextToken();
if (s.length() == 1 || StringUtils.toUpperEnglish(s).equals(s)) {
......
......@@ -74,7 +74,7 @@ public class RuleFixed implements Rule {
case ANY_WORD:
case ANY_EXCEPT_2_DOLLAR:
case ANY_UNTIL_END: {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
int len = r.nextBoolean() ? 1 : r.nextInt(5);
for (int i = 0; i < len; i++) {
buff.append((char) ('A' + r.nextInt('C' - 'A')));
......
......@@ -65,7 +65,7 @@ public class RuleList implements Rule {
int idx = config.getRandom().nextInt(list.size());
return get(idx).random(config, level + 1);
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (Rule r : list) {
buff.append(r.random(config, level+1));
}
......
......@@ -764,7 +764,7 @@ public class Parser {
}
private Prepared parseHelp() throws SQLException {
StringBuffer buff = new StringBuffer("SELECT * FROM INFORMATION_SCHEMA.HELP");
StringBuilder buff = new StringBuilder("SELECT * FROM INFORMATION_SCHEMA.HELP");
int i = 0;
ObjectArray<Value> paramValues = ObjectArray.newInstance();
while (currentTokenType != END) {
......@@ -784,7 +784,7 @@ public class Parser {
private Prepared parseShow() throws SQLException {
ObjectArray<Value> paramValues = ObjectArray.newInstance();
StringBuffer buff = new StringBuffer("SELECT ");
StringBuilder buff = new StringBuilder("SELECT ");
if (readIf("CLIENT_ENCODING")) {
// for PostgreSQL compatibility
buff.append("'UNICODE' AS CLIENT_ENCODING FROM DUAL");
......
......@@ -410,7 +410,7 @@ public abstract class Prepared {
protected SQLException setRow(SQLException ex, int rowId, String values) {
if (ex instanceof JdbcSQLException) {
JdbcSQLException e = (JdbcSQLException) ex;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (sqlStatement != null) {
buff.append(sqlStatement);
}
......
......@@ -239,9 +239,9 @@ public class AlterTableAlterColumn extends SchemaCommand {
int id = db.allocateObjectId(true, true);
TableData newTable = getSchema().createTable(tempName, id, newColumns, table.isPersistIndexes(), table.isPersistData(), false, Index.EMPTY_HEAD, session);
newTable.setComment(table.getComment());
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(newTable.getCreateSQL());
StringBuffer columnList = new StringBuffer();
StringBuilder columnList = new StringBuilder();
for (Column nc : newColumns) {
if (columnList.length() > 0) {
columnList.append(", ");
......
......@@ -15,6 +15,7 @@ import org.h2.result.LocalResult;
import org.h2.table.Column;
import org.h2.table.Table;
import org.h2.table.TableData;
import org.h2.util.StatementBuilder;
/**
* This class represents the statement
......@@ -37,22 +38,15 @@ public class Analyze extends DefineCommand {
if (!(table instanceof TableData)) {
continue;
}
StatementBuilder buff = new StatementBuilder("SELECT ");
Column[] columns = table.getColumns();
StringBuffer buff = new StringBuffer();
buff.append("SELECT ");
for (int j = 0; j < columns.length; j++) {
if (j > 0) {
buff.append(", ");
}
buff.append("SELECTIVITY(");
buff.append(columns[j].getSQL());
buff.append(')');
for (Column col : columns) {
buff.appendExceptFirst(", ");
buff.append("SELECTIVITY(").append(col.getSQL()).append(')');
}
buff.append(" FROM ");
buff.append(table.getSQL());
buff.append(" FROM ").append(table.getSQL());
if (sampleRows > 0) {
buff.append(" LIMIT 1 SAMPLE_SIZE ");
buff.append(sampleRows);
buff.append(" LIMIT 1 SAMPLE_SIZE ").append(sampleRows);
}
String sql = buff.toString();
Prepared command = session.prepare(sql);
......
......@@ -83,11 +83,10 @@ public class Delete extends Prepared {
}
public String getPlanSQL() {
StringBuffer buff = new StringBuffer();
buff.append("DELETE FROM ");
buff.append(tableFilter.getPlanSQL(false));
StringBuilder buff = new StringBuilder();
buff.append("DELETE FROM ").append(tableFilter.getPlanSQL(false));
if (condition != null) {
buff.append("\nWHERE " + StringUtils.unEnclose(condition.getSQL()));
buff.append("\nWHERE ").append(StringUtils.unEnclose(condition.getSQL()));
}
return buff.toString();
}
......
......@@ -49,6 +49,7 @@ import org.h2.util.ByteUtils;
import org.h2.util.IOUtils;
import org.h2.util.MathUtils;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.Value;
import org.h2.value.ValueLob;
......@@ -215,15 +216,11 @@ public class ScriptCommand extends ScriptBase {
Index index = plan.getIndex();
Cursor cursor = index.find(session, null, null);
Column[] columns = table.getColumns();
StringBuffer buff = new StringBuffer();
buff.append("INSERT INTO ");
buff.append(table.getSQL());
buff.append('(');
for (int j = 0; j < columns.length; j++) {
if (j > 0) {
buff.append(", ");
}
buff.append(Parser.quoteIdentifier(columns[j].getName()));
StatementBuilder buff = new StatementBuilder("INSERT INTO ");
buff.append(table.getSQL()).append('(');
for (Column col : columns) {
buff.appendExceptFirst(", ");
buff.append(Parser.quoteIdentifier(col.getName()));
}
buff.append(") VALUES");
if (!simple) {
......@@ -235,7 +232,7 @@ public class ScriptCommand extends ScriptBase {
while (cursor.next()) {
Row row = cursor.get();
if (buff == null) {
buff = new StringBuffer(ins);
buff = new StatementBuilder(ins);
} else {
buff.append(",\n(");
}
......@@ -333,7 +330,7 @@ public class ScriptCommand extends ScriptBase {
InputStream input = v.getInputStream();
try {
for (int i = 0;; i++) {
StringBuffer buff = new StringBuffer(lobBlockSize * 2);
StringBuilder buff = new StringBuilder(lobBlockSize * 2);
buff.append("INSERT INTO SYSTEM_LOB_STREAM VALUES(" + id + ", " + i + ", NULL, '");
int len = IOUtils.readFully(input, bytes, 0, lobBlockSize);
if (len <= 0) {
......@@ -354,7 +351,7 @@ public class ScriptCommand extends ScriptBase {
Reader reader = v.getReader();
try {
for (int i = 0;; i++) {
StringBuffer buff = new StringBuffer(lobBlockSize * 2);
StringBuilder buff = new StringBuilder(lobBlockSize * 2);
buff.append("INSERT INTO SYSTEM_LOB_STREAM VALUES(" + id + ", " + i + ", ");
int len = IOUtils.readFully(reader, chars, lobBlockSize);
if (len < 0) {
......
......@@ -41,7 +41,7 @@ public class SelectOrderBy {
public boolean nullsLast;
public String getSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (expression != null) {
buff.append('=').append(expression.getSQL());
} else {
......
......@@ -295,10 +295,8 @@ public class SelectUnion extends Query {
}
public String getPlanSQL() {
StringBuffer buff = new StringBuffer();
buff.append('(');
buff.append(StringUtils.unEnclose(left.getPlanSQL()));
buff.append(')');
StringBuilder buff = new StringBuilder();
buff.append('(').append(StringUtils.unEnclose(left.getPlanSQL())).append(')');
switch (unionType) {
case UNION_ALL:
buff.append("UNION ALL ");
......@@ -315,21 +313,16 @@ public class SelectUnion extends Query {
default:
Message.throwInternalError("type=" + unionType);
}
buff.append('(');
buff.append(StringUtils.unEnclose(right.getPlanSQL()));
buff.append(')');
buff.append('(').append(StringUtils.unEnclose(right.getPlanSQL())).append(')');
Expression[] exprList = new Expression[expressions.size()];
expressions.toArray(exprList);
if (sort != null) {
buff.append(" ORDER BY ");
buff.append(sort.getSQL(exprList, exprList.length));
buff.append(" ORDER BY ").append(sort.getSQL(exprList, exprList.length));
}
if (limitExpr != null) {
buff.append(" LIMIT ");
buff.append(StringUtils.unEnclose(limitExpr.getSQL()));
buff.append(" LIMIT ").append(StringUtils.unEnclose(limitExpr.getSQL()));
if (offsetExpr != null) {
buff.append(" OFFSET ");
buff.append(StringUtils.unEnclose(offsetExpr.getSQL()));
buff.append(" OFFSET ").append(StringUtils.unEnclose(offsetExpr.getSQL()));
}
}
if (isForUpdate) {
......
......@@ -95,8 +95,7 @@ public class Set extends Prepared {
throw Message.getSQLException(ErrorCode.COLLATION_CHANGE_WITH_DATA_TABLE_1, table.getSQL());
}
CompareMode compareMode;
StringBuffer buff = new StringBuffer();
buff.append(stringValue);
StringBuilder buff = new StringBuilder(stringValue);
if (stringValue.equals(CompareMode.OFF)) {
compareMode = new CompareMode(null, 0);
} else {
......
......@@ -146,10 +146,8 @@ public class Update extends Prepared {
}
public String getPlanSQL() {
StringBuffer buff = new StringBuffer();
buff.append("UPDATE ");
buff.append(tableFilter.getPlanSQL(false));
buff.append("\nSET ");
StringBuilder buff = new StringBuilder("UPDATE ");
buff.append(tableFilter.getPlanSQL(false)).append("\nSET ");
Table table = tableFilter.getTable();
int columnCount = table.getColumns().length;
for (int i = 0, j = 0; i < columnCount; i++) {
......@@ -160,13 +158,11 @@ public class Update extends Prepared {
}
j++;
Column column = table.getColumn(i);
buff.append(column.getName());
buff.append(" = ");
buff.append(newExpr.getSQL());
buff.append(column.getName()).append(" = ").append(newExpr.getSQL());
}
}
if (condition != null) {
buff.append("\nWHERE " + StringUtils.unEnclose(condition.getSQL()));
buff.append("\nWHERE ").append(StringUtils.unEnclose(condition.getSQL()));
}
return buff.toString();
}
......
......@@ -46,26 +46,20 @@ public class ConstraintCheck extends Constraint {
}
public String getCreateSQLForCopy(Table forTable, String quotedName) {
StringBuffer buff = new StringBuffer();
buff.append("ALTER TABLE ");
buff.append(forTable.getSQL());
buff.append(" ADD CONSTRAINT ");
StringBuilder buff = new StringBuilder("ALTER TABLE ");
buff.append(forTable.getSQL()).append(" ADD CONSTRAINT ");
buff.append(quotedName);
if (comment != null) {
buff.append(" COMMENT ");
buff.append(StringUtils.quoteStringSQL(comment));
buff.append(" COMMENT ").append(StringUtils.quoteStringSQL(comment));
}
buff.append(" CHECK");
buff.append(StringUtils.enclose(expr.getSQL()));
buff.append(" CHECK").append(StringUtils.enclose(expr.getSQL()));
buff.append(" NOCHECK");
return buff.toString();
}
public String getShortDescription() {
StringBuffer buff = new StringBuffer();
buff.append(getName());
buff.append(": ");
buff.append(expr.getSQL());
StringBuilder buff = new StringBuilder(getName());
buff.append(": ").append(expr.getSQL());
return buff.toString();
}
......@@ -126,12 +120,9 @@ public class ConstraintCheck extends Constraint {
// don't check at startup
return;
}
StringBuffer buff = new StringBuffer();
buff.append("SELECT 1 FROM ");
StringBuilder buff = new StringBuilder("SELECT 1 FROM ");
buff.append(filter.getTable().getSQL());
buff.append(" WHERE NOT(");
buff.append(expr.getSQL());
buff.append(')');
buff.append(" WHERE NOT(").append(expr.getSQL()).append(')');
String sql = buff.toString();
LocalResult r = session.prepare(sql).query(1);
if (r.next()) {
......
......@@ -67,12 +67,9 @@ public class Comment extends DbObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
buff.append("COMMENT ON ");
buff.append(getTypeName(objectType));
buff.append(' ');
buff.append(objectName);
buff.append(" IS ");
StringBuilder buff = new StringBuilder("COMMENT ON ");
buff.append(getTypeName(objectType)).append(' ').
append(objectName).append(" IS ");
if (commentText == null) {
buff.append("NULL");
} else {
......
......@@ -121,14 +121,12 @@ public class FunctionAlias extends DbObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
buff.append("CREATE FORCE ALIAS ");
StringBuilder buff = new StringBuilder("CREATE FORCE ALIAS ");
buff.append(getSQL());
if (deterministic) {
buff.append(" DETERMINISTIC");
}
buff.append(" FOR ");
buff.append(Parser.quoteIdentifier(className + "." + methodName));
buff.append(" FOR ").append(Parser.quoteIdentifier(className + "." + methodName));
return buff.toString();
}
......
......@@ -62,7 +62,7 @@ public class Right extends DbObjectBase {
this.grantedTable = grantedRightOnTable;
}
private boolean appendRight(StringBuffer buff, int right, int mask, String name, boolean comma) {
private boolean appendRight(StringBuilder buff, int right, int mask, String name, boolean comma) {
if ((right & mask) != 0) {
if (comma) {
buff.append(", ");
......@@ -74,7 +74,7 @@ public class Right extends DbObjectBase {
}
public String getRights() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (grantedRight == ALL) {
buff.append("ALL");
} else {
......@@ -104,18 +104,15 @@ public class Right extends DbObjectBase {
}
public String getCreateSQLForCopy(Table table, String quotedName) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("GRANT ");
if (grantedRole != null) {
buff.append(grantedRole.getSQL());
} else {
buff.append(getRights());
buff.append(" ON ");
buff.append(table.getSQL());
buff.append(getRights()).append(" ON ").append(table.getSQL());
}
buff.append(" TO ");
// TODO rights: need role 'PUBLIC'
buff.append(grantee.getSQL());
buff.append(" TO ").append(grantee.getSQL());
return buff.toString();
}
......
......@@ -42,7 +42,7 @@ public class Role extends RightOwner {
if (system) {
return null;
}
StringBuffer buff = new StringBuffer("CREATE ROLE ");
StringBuilder buff = new StringBuilder("CREATE ROLE ");
if (ifNotExists) {
buff.append("IF NOT EXISTS ");
}
......
......@@ -198,7 +198,7 @@ public class SessionRemote extends SessionWithState implements SessionFactory, D
}
private String getFilePrefix(String dir) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(dir);
buff.append('/');
for (int i = 0; i < databaseName.length(); i++) {
......
......@@ -49,10 +49,8 @@ public class Setting extends DbObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
buff.append("SET ");
buff.append(getSQL());
buff.append(' ');
StringBuilder buff = new StringBuilder("SET ");
buff.append(getSQL()).append(' ');
if (stringValue != null) {
buff.append(stringValue);
} else {
......
......@@ -134,22 +134,20 @@ public class User extends RightOwner {
* @return the SQL statement
*/
public String getCreateSQL(boolean password, boolean ifNotExists) {
StringBuffer buff = new StringBuffer();
buff.append("CREATE USER ");
StringBuilder buff = new StringBuilder("CREATE USER ");
if (ifNotExists) {
buff.append("IF NOT EXISTS ");
}
buff.append(getSQL());
if (comment != null) {
buff.append(" COMMENT ");
buff.append(StringUtils.quoteStringSQL(comment));
buff.append(" COMMENT ").append(StringUtils.quoteStringSQL(comment));
}
if (password) {
buff.append(" SALT '");
buff.append(ByteUtils.convertBytesToString(salt));
buff.append("' HASH '");
buff.append(ByteUtils.convertBytesToString(passwordHash));
buff.append('\'');
buff.append(" SALT '").
append(ByteUtils.convertBytesToString(salt)).
append("' HASH '").
append(ByteUtils.convertBytesToString(passwordHash)).
append('\'');
} else {
buff.append(" PASSWORD ''");
}
......
......@@ -54,11 +54,8 @@ public class UserAggregate extends DbObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
buff.append("CREATE FORCE AGGREGATE ");
buff.append(getSQL());
buff.append(" FOR ");
buff.append(Parser.quoteIdentifier(className));
StringBuilder buff = new StringBuilder("CREATE FORCE AGGREGATE ");
buff.append(getSQL()).append(" FOR ").append(Parser.quoteIdentifier(className));
return buff.toString();
}
......
......@@ -33,12 +33,7 @@ public class UserDataType extends DbObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
buff.append("CREATE DOMAIN ");
buff.append(getSQL());
buff.append(" AS ");
buff.append(column.getCreateSQL());
return buff.toString();
return "CREATE DOMAIN " + getSQL() + " AS " + column.getCreateSQL();
}
public Column getColumn() {
......
......@@ -166,7 +166,7 @@ public class CompareLike extends Condition {
return;
}
int maxMatch = 0;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (maxMatch < patternLength && types[maxMatch] == MATCH) {
buff.append(pattern[maxMatch++]);
}
......
......@@ -41,8 +41,7 @@ public class ConditionExists extends Condition {
}
public String getSQL() {
StringBuffer buff = new StringBuffer("EXISTS(");
return buff.append(query.getPlanSQL()).append(')').toString();
return "EXISTS(" + query.getPlanSQL() + ")";
}
public void updateAggregate(Session session) {
......
......@@ -105,12 +105,7 @@ public class ConditionInSelect extends Condition {
}
public String getSQL() {
StringBuffer buff = new StringBuffer("(");
buff.append(left.getSQL());
buff.append(" IN(");
buff.append(query.getPlanSQL());
buff.append("))");
return buff.toString();
return "(" + left.getSQL() + " IN(" + query.getPlanSQL() + "))";
}
public void updateAggregate(Session session) {
......
......@@ -1311,7 +1311,7 @@ public class Function extends Expression implements FunctionCall {
// avoid out of memory
return s;
}
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
int start = 0;
int len = replace.length();
while (true) {
......@@ -1328,7 +1328,7 @@ public class Function extends Expression implements FunctionCall {
}
private static String repeat(String s, int count) {
StringBuffer buff = new StringBuffer(s.length() * count);
StringBuilder buff = new StringBuilder(s.length() * count);
while (count-- > 0) {
buff.append(s);
}
......@@ -1336,7 +1336,7 @@ public class Function extends Expression implements FunctionCall {
}
private static String rawToHex(String s) {
StringBuffer buff = new StringBuffer(4 * s.length());
StringBuilder buff = new StringBuilder(4 * s.length());
for (int i = 0; i < s.length(); i++) {
String hex = Integer.toHexString(s.charAt(i) & 0xffff);
for (int j = hex.length(); j < 4; j++) {
......@@ -1399,7 +1399,7 @@ public class Function extends Expression implements FunctionCall {
if (len % 4 != 0) {
throw Message.getSQLException(ErrorCode.DATA_CONVERSION_ERROR_1, s);
}
StringBuffer buff = new StringBuffer(len / 4);
StringBuilder buff = new StringBuilder(len / 4);
for (int i = 0; i < len; i += 4) {
try {
char raw = (char) Integer.parseInt(s.substring(i, i + 4), 16);
......@@ -1431,7 +1431,7 @@ public class Function extends Expression implements FunctionCall {
if ((d > 1000000000000.) || (d < -1000000000000.)) {
return d;
}
StringBuffer s = new StringBuffer();
StringBuilder s = new StringBuilder();
s.append(d);
if (s.toString().indexOf("E") >= 0) {
return d;
......@@ -1825,14 +1825,12 @@ public class Function extends Expression implements FunctionCall {
buff.append('(');
switch (info.type) {
case CAST: {
buff.append(args[0].getSQL()).
append(" AS ").
buff.append(args[0].getSQL()).append(" AS ").
append(new Column(null, dataType, precision, scale, displaySize).getCreateSQL());
break;
}
case CONVERT: {
buff.append(args[0].getSQL()).
append(",").
buff.append(args[0].getSQL()).append(',').
append(new Column(null, dataType, precision, scale, displaySize).getCreateSQL());
break;
}
......
......@@ -114,9 +114,8 @@ public class Operation extends Expression {
return l;
}
String s1 = l.getString(), s2 = r.getString();
StringBuffer buff = new StringBuffer(s1.length() + s2.length());
buff.append(s1);
buff.append(s2);
StringBuilder buff = new StringBuilder(s1.length() + s2.length());
buff.append(s1).append(s2);
return ValueString.get(buff.toString());
}
case PLUS:
......
......@@ -55,7 +55,7 @@ public class TableFunction extends Function {
int i = 0;
for (Expression e : args) {
buff.appendExceptFirst(", ");
buff.append(columnList[i++].getCreateSQL()).append("=").append(e.getSQL());
buff.append(columnList[i++].getCreateSQL()).append('=').append(e.getSQL());
}
return buff.append(')').toString();
}
......
......@@ -556,12 +556,12 @@ public class FullText {
};
result.addRow(row);
} else {
StringBuffer buff = new StringBuffer();
buff.append(StringUtils.quoteIdentifier(index.schema));
buff.append('.');
buff.append(StringUtils.quoteIdentifier(index.table));
buff.append(" WHERE ");
buff.append(key);
StringBuilder buff = new StringBuilder();
buff.append(StringUtils.quoteIdentifier(index.schema)).
append('.').
append(StringUtils.quoteIdentifier(index.table)).
append(" WHERE ").
append(key);
String query = buff.toString();
result.addRow(new String[] { query });
}
......@@ -623,13 +623,15 @@ public class FullText {
+ StringUtils.quoteIdentifier(TRIGGER_PREFIX + table);
stat.execute("DROP TRIGGER IF EXISTS " + trigger);
if (create) {
StringBuffer buff = new StringBuffer("CREATE TRIGGER IF NOT EXISTS ");
buff.append(trigger);
buff.append(" AFTER INSERT, UPDATE, DELETE ON ");
buff.append(StringUtils.quoteIdentifier(schema) + "." + StringUtils.quoteIdentifier(table));
buff.append(" FOR EACH ROW CALL \"");
buff.append(FullText.FullTextTrigger.class.getName());
buff.append("\"");
StringBuilder buff = new StringBuilder("CREATE TRIGGER IF NOT EXISTS ");
buff.append(trigger).
append(" AFTER INSERT, UPDATE, DELETE ON ").
append(StringUtils.quoteIdentifier(schema)).
append('.').
append(StringUtils.quoteIdentifier(table)).
append(" FOR EACH ROW CALL \"").
append(FullText.FullTextTrigger.class.getName()).
append("\"");
stat.execute(buff.toString());
}
}
......@@ -637,8 +639,9 @@ public class FullText {
private static void indexExistingRows(Connection conn, String schema, String table) throws SQLException {
FullText.FullTextTrigger existing = new FullText.FullTextTrigger();
existing.init(conn, schema, null, table, false, Trigger.INSERT);
StringBuffer buff = new StringBuffer("SELECT * FROM ");
buff.append(StringUtils.quoteIdentifier(schema) + "." + StringUtils.quoteIdentifier(table));
StringBuilder buff = new StringBuilder("SELECT * FROM ");
buff.append(StringUtils.quoteIdentifier(schema)).
append('.').append(StringUtils.quoteIdentifier(table));
ResultSet rs = conn.createStatement().executeQuery(buff.toString());
int columnCount = rs.getMetaData().getColumnCount();
while (rs.next()) {
......@@ -654,7 +657,7 @@ public class FullText {
if (data.indexOf('\'') < 0) {
return "'" + data + "'";
}
StringBuffer buff = new StringBuffer(data.length() + 2);
StringBuilder buff = new StringBuilder(data.length() + 2);
buff.append('\'');
for (int i = 0; i < data.length(); i++) {
char ch = data.charAt(i);
......
......@@ -223,7 +223,7 @@ public class FullTextLucene extends FullText {
Statement stat = conn.createStatement();
String trigger = StringUtils.quoteIdentifier(schema) + "." + StringUtils.quoteIdentifier(TRIGGER_PREFIX + table);
stat.execute("DROP TRIGGER IF EXISTS " + trigger);
StringBuffer buff = new StringBuffer("CREATE TRIGGER IF NOT EXISTS ");
StringBuilder buff = new StringBuilder("CREATE TRIGGER IF NOT EXISTS ");
buff.append(trigger);
buff.append(" AFTER INSERT, UPDATE, DELETE ON ");
buff.append(StringUtils.quoteIdentifier(schema) + "." + StringUtils.quoteIdentifier(table));
......@@ -279,7 +279,7 @@ public class FullTextLucene extends FullText {
private static void indexExistingRows(Connection conn, String schema, String table) throws SQLException {
FullTextLucene.FullTextTrigger existing = new FullTextLucene.FullTextTrigger();
existing.init(conn, schema, null, table, false, Trigger.INSERT);
StringBuffer buff = new StringBuffer("SELECT * FROM ");
StringBuilder buff = new StringBuilder("SELECT * FROM ");
buff.append(StringUtils.quoteIdentifier(schema) + "." + StringUtils.quoteIdentifier(table));
ResultSet rs = conn.createStatement().executeQuery(buff.toString());
int columnCount = rs.getMetaData().getColumnCount();
......@@ -530,7 +530,7 @@ public class FullTextLucene extends FullText {
private String getQuery(Object[] row) throws SQLException {
StatementBuilder buff = new StatementBuilder();
if (schema != null) {
buff.append(StringUtils.quoteIdentifier(schema)).append(".");
buff.append(StringUtils.quoteIdentifier(schema)).append('.');
}
buff.append(StringUtils.quoteIdentifier(table)).append(" WHERE ");
for (int columnIndex : keys) {
......
......@@ -150,7 +150,7 @@ public abstract class BaseIndex extends SchemaObjectBase implements Index {
}
public SQLException getDuplicateKeyException() {
StringBuffer buff = new StringBuffer(getName());
StringBuilder buff = new StringBuilder(getName());
buff.append(" ON ").append(table.getSQL()).append('(');
buff.append(getColumnListSQL()).append(')');
return Message.getSQLException(ErrorCode.DUPLICATE_KEY_1, buff.toString());
......@@ -319,7 +319,7 @@ public abstract class BaseIndex extends SchemaObjectBase implements Index {
}
public String getCreateSQLForCopy(Table table, String quotedName) {
StringBuffer buff = new StringBuffer("CREATE ");
StringBuilder buff = new StringBuilder("CREATE ");
buff.append(indexType.getSQL());
if (!indexType.getPrimaryKey()) {
buff.append(' ').append(quotedName);
......@@ -328,7 +328,7 @@ public abstract class BaseIndex extends SchemaObjectBase implements Index {
if (comment != null) {
buff.append(" COMMENT ").append(StringUtils.quoteStringSQL(comment));
}
buff.append('(').append(getColumnListSQL()).append(")");
buff.append('(').append(getColumnListSQL()).append(')');
return buff.toString();
}
......
......@@ -85,7 +85,7 @@ public class IndexCondition {
if (compareType == Comparison.FALSE) {
return "FALSE";
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(column.getSQL());
switch(compareType) {
case Comparison.EQUAL:
......
......@@ -130,7 +130,7 @@ public class IndexType {
* @return the SQL snippet
*/
public String getSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (primaryKey) {
buff.append("PRIMARY KEY");
if (hash) {
......
......@@ -51,7 +51,7 @@ public class LinkedIndex extends BaseIndex {
}
public void add(Session session, Row row) throws SQLException {
StringBuffer buff = new StringBuffer("INSERT INTO ");
StringBuilder buff = new StringBuilder("INSERT INTO ");
buff.append(targetTableName);
buff.append(" VALUES(");
for (int i = 0, j = 0; i < row.getColumnCount(); i++) {
......
......@@ -152,7 +152,7 @@ public class JdbcClob extends TraceObject implements Clob
if (length < 0) {
throw Message.getInvalidValueException("length", "" + length);
}
StringBuffer buff = new StringBuffer(Math.min(4096, length));
StringBuilder buff = new StringBuilder(Math.min(4096, length));
Reader reader = value.getReader();
try {
IOUtils.skipFully(reader, pos - 1);
......
......@@ -148,7 +148,7 @@ public class JdbcSQLException extends SQLException {
}
private void buildMessage() {
StringBuffer buff = new StringBuffer(originalMessage == null ? "- " : originalMessage);
StringBuilder buff = new StringBuilder(originalMessage == null ? "- " : originalMessage);
if (sql != null) {
buff.append("; SQL statement:\n");
buff.append(sql);
......
......@@ -415,7 +415,7 @@ implements XAConnection, XAResource
}
private String quoteXid(Xid xid) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("\"f:");
buff.append(xid.getFormatId());
buff.append(",bq:");
......@@ -429,7 +429,7 @@ implements XAConnection, XAResource
}
private String quoteFlags(int flags) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if ((flags & XAResource.TMENDRSCAN) != 0) {
buff.append("|XAResource.TMENDRSCAN");
}
......
......@@ -53,7 +53,7 @@ implements Xid
* INTERNAL
*/
public String getAsString() {
StringBuffer buff = new StringBuffer(PREFIX);
StringBuilder buff = new StringBuilder(PREFIX);
buff.append('_');
buff.append(formatId);
buff.append('_');
......
......@@ -214,7 +214,7 @@ public class Trace {
if (!isEnabled(TraceSystem.INFO)) {
return;
}
StringBuffer buff = new StringBuffer(sql.length() + params.length() + 20);
StringBuilder buff = new StringBuilder(sql.length() + params.length() + 20);
buff.append(lineSeparator);
buff.append("/*SQL");
boolean space = false;
......
......@@ -356,7 +356,7 @@ public class TraceObject {
if (map.size() == 0) {
return "new Map()";
}
StringBuffer buff = new StringBuffer("new Map() /* ");
StringBuilder buff = new StringBuilder("new Map() /* ");
try {
for (Map.Entry<String, Class < ? >> entry : map.entrySet()) {
String key = entry.getKey();
......
......@@ -150,7 +150,7 @@ public class UpdatableRow {
}
// public boolean isRowDeleted(Value[] row) throws SQLException {
// StringBuffer buff = new StringBuffer();
// StringBuilder buff = new StringBuilder();
// buff.append("SELECT COUNT(*) FROM ");
// buff.append(StringUtils.quoteIdentifier(tableName));
// appendKeyCondition(buff);
......
......@@ -38,7 +38,7 @@ public class Constant extends SchemaObjectBase {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE CONSTANT ");
buff.append(getSQL());
buff.append(" VALUE ");
......
......@@ -88,7 +88,7 @@ public class Schema extends DbObjectBase {
if (system) {
return null;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE SCHEMA IF NOT EXISTS ");
buff.append(getSQL());
buff.append(" AUTHORIZATION ");
......
......@@ -69,7 +69,7 @@ public class Sequence extends SchemaObjectBase {
}
public synchronized String getCreateSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE SEQUENCE ");
buff.append(getSQL());
buff.append(" START WITH ");
......
......@@ -229,7 +229,7 @@ public class TriggerObject extends SchemaObjectBase {
}
public String getCreateSQLForCopy(Table table, String quotedName) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE FORCE TRIGGER ");
buff.append(quotedName);
if (before) {
......@@ -255,7 +255,7 @@ public class TriggerObject extends SchemaObjectBase {
}
public String getTypeNameList() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if ((typeMask & Trigger.INSERT) != 0) {
buff.append("INSERT");
}
......
......@@ -21,14 +21,14 @@ public class PageParser {
private int pos;
private Map<String, Object> settings;
private int len;
private StringBuffer result;
private StringBuilder result;
private PageParser(String page, Map<String, Object> settings, int pos) {
this.page = page;
this.pos = pos;
this.len = page.length();
this.settings = settings;
result = new StringBuffer(len);
result = new StringBuilder(len);
}
/**
......@@ -46,7 +46,7 @@ public class PageParser {
private void setError(int i) {
String s = page.substring(0, i) + "####BUG####" + page.substring(i);
s = PageParser.escapeHtml(s);
result = new StringBuffer();
result = new StringBuilder();
result.append(s);
}
......@@ -74,7 +74,7 @@ public class PageParser {
@SuppressWarnings("unchecked")
private void parseAll() throws ParseException {
StringBuffer buff = result;
StringBuilder buff = result;
String p = page;
int i = pos;
for (; i < len; i++) {
......@@ -242,7 +242,7 @@ public class PageParser {
return "&nbsp;";
}
}
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
boolean convertSpace = true;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
......@@ -311,7 +311,7 @@ public class PageParser {
if (s.length() == 0) {
return "";
}
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
......
......@@ -286,7 +286,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
private String getComboBox(String[] elements, String selected) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (String value : elements) {
buff.append("<option value=\"");
buff.append(PageParser.escapeHtmlData(value));
......@@ -302,7 +302,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
private String getComboBox(String[][] elements, String selected) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (String[] n : elements) {
buff.append("<option value=\"");
buff.append(PageParser.escapeHtmlData(n[0]));
......@@ -318,7 +318,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
private String readHeaderLine() throws IOException {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (true) {
int i = input.read();
if (i == -1) {
......@@ -684,8 +684,8 @@ class WebThread extends Thread implements DatabaseEventListener {
return "query.jsp";
}
private int addColumns(DbTableOrView table, StringBuffer buff, int treeIndex, boolean showColumnTypes,
StringBuffer columnsBuffer) {
private int addColumns(DbTableOrView table, StringBuilder buff, int treeIndex, boolean showColumnTypes,
StringBuilder columnsBuffer) {
DbColumn[] columns = table.columns;
for (int i = 0; columns != null && i < columns.length; i++) {
DbColumn column = columns[i];
......@@ -727,7 +727,7 @@ class WebThread extends Thread implements DatabaseEventListener {
String columns;
}
private int addIndexes(DatabaseMetaData meta, String table, String schema, StringBuffer buff, int treeIndex)
private int addIndexes(DatabaseMetaData meta, String table, String schema, StringBuilder buff, int treeIndex)
throws SQLException {
// index reading is very slow for oracle (2 seconds per index), so don't
// do it
......@@ -778,7 +778,7 @@ class WebThread extends Thread implements DatabaseEventListener {
return treeIndex;
}
private int addTablesAndViews(DbSchema schema, boolean mainSchema, StringBuffer buff, int treeIndex)
private int addTablesAndViews(DbSchema schema, boolean mainSchema, StringBuilder buff, int treeIndex)
throws SQLException {
if (schema == null) {
return treeIndex;
......@@ -808,7 +808,7 @@ class WebThread extends Thread implements DatabaseEventListener {
+ "', 'javascript:ins(\\'" + tab + "\\',true)');\n");
treeIndex++;
if (mainSchema) {
StringBuffer columnsBuffer = new StringBuffer();
StringBuilder columnsBuffer = new StringBuilder();
treeIndex = addColumns(table, buff, treeIndex, notManyTables, columnsBuffer);
if (!isOracle && notManyTables) {
treeIndex = addIndexes(meta, table.name, schema.name, buff, treeIndex);
......@@ -832,7 +832,7 @@ class WebThread extends Thread implements DatabaseEventListener {
+ "', 'javascript:ins(\\'" + tab + "\\',true)');\n");
treeIndex++;
if (mainSchema) {
StringBuffer columnsBuffer = new StringBuffer();
StringBuilder columnsBuffer = new StringBuilder();
treeIndex = addColumns(view, buff, treeIndex, notManyTables, columnsBuffer);
if (schema.contents.isH2) {
PreparedStatement prep = null;
......@@ -868,7 +868,7 @@ class WebThread extends Thread implements DatabaseEventListener {
DatabaseMetaData meta = session.getMetaData();
isH2 = contents.isH2;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("setNode(0, 0, 0, 'database', '" + PageParser.escapeJavaScript((String) session.get("url"))
+ "', null);\n");
int treeIndex = 1;
......@@ -979,7 +979,7 @@ class WebThread extends Thread implements DatabaseEventListener {
private String linkToSource(String s) {
try {
StringBuffer result = new StringBuffer(s.length());
StringBuilder result = new StringBuilder(s.length());
int idx = s.indexOf("<br />");
result.append(s.substring(0, idx));
while (true) {
......@@ -1274,7 +1274,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
list.add(s);
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
if (!s.startsWith("@")) {
......@@ -1642,7 +1642,7 @@ class WebThread extends Thread implements DatabaseEventListener {
private String getResult(Connection conn, int id, String sql, boolean allowEdit, boolean forceEdit) {
try {
sql = sql.trim();
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
String sqlUpper = StringUtils.toUpperEnglish(sql);
if (sqlUpper.indexOf("CREATE") >= 0 || sqlUpper.indexOf("DROP") >= 0 || sqlUpper.indexOf("ALTER") >= 0
|| sqlUpper.indexOf("RUNSCRIPT") >= 0) {
......@@ -1837,7 +1837,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
private String getHistoryString() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
ArrayList<String> history = session.getCommands();
buff.append("<table cellspacing=0 cellpadding=0>");
buff.append("<tr><th></th><th>Command</th></tr>");
......@@ -1857,7 +1857,7 @@ class WebThread extends Thread implements DatabaseEventListener {
}
private String getParameterResultSet(ParameterMetaData meta) throws SQLException {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (meta == null) {
return "No parameter meta data";
}
......@@ -1887,7 +1887,7 @@ class WebThread extends Thread implements DatabaseEventListener {
boolean allowEdit) throws SQLException {
int maxrows = getMaxrows();
time = System.currentTimeMillis() - time;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (edit) {
buff.append("<form id=\"editing\" name=\"editing\" method=\"post\" "
+ "action=\"editResult.do?jsessionid=${sessionId}\" id=\"mainForm\" target=\"h2result\">");
......
......@@ -379,7 +379,7 @@ public class Column {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (name != null) {
buff.append(Parser.quoteIdentifier(name)).append(' ');
}
......@@ -396,7 +396,7 @@ public class Column {
case Value.STRING_IGNORECASE:
case Value.STRING_FIXED:
if (precision < Integer.MAX_VALUE) {
buff.append('(').append(precision).append(")");
buff.append('(').append(precision).append(')');
}
break;
default:
......
......@@ -38,7 +38,7 @@ public class IndexColumn {
* @return the SQL snippet
*/
public String getSQL() {
StringBuffer buff = new StringBuffer(column.getSQL());
StringBuilder buff = new StringBuilder(column.getSQL());
if ((sortType & SortOrder.DESCENDING) != 0) {
buff.append(" DESC");
}
......
......@@ -51,14 +51,14 @@ public class LinkSchema {
rs = c2.getMetaData().getTables(null, sourceSchema, null, null);
while (rs.next()) {
String table = rs.getString("TABLE_NAME");
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("DROP TABLE IF EXISTS ");
buff.append(StringUtils.quoteIdentifier(targetSchema));
buff.append('.');
buff.append(StringUtils.quoteIdentifier(table));
String sql = buff.toString();
stat.execute(sql);
buff = new StringBuffer();
buff = new StringBuilder();
buff.append("CREATE LINKED TABLE ");
buff.append(StringUtils.quoteIdentifier(targetSchema));
buff.append('.');
......
......@@ -1341,7 +1341,7 @@ public class MetaTable extends Table {
}
String columnList = null;
if (columns != null) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int j = 0; j < columns.length; j++) {
if (j > 0) {
buff.append(',');
......
......@@ -458,7 +458,7 @@ public class TableData extends Table implements RecordReader {
}
private String getDeadlockDetails(ObjectArray<Session> sessions) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (Session s : sessions) {
buff.append('\n');
Table lock = s.getWaitForLock();
......
......@@ -296,7 +296,7 @@ public class TableLink extends Table {
}
public String getCreateSQL() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE FORCE ");
if (getTemporary()) {
if (globalTemporary) {
......
......@@ -246,10 +246,8 @@ public class TableView extends Table {
public String getSQL() {
if (getTemporary()) {
StringBuffer buff = new StringBuffer(querySQL.length());
buff.append("(");
buff.append(querySQL);
buff.append(")");
StringBuilder buff = new StringBuilder(querySQL.length());
buff.append('(').append(querySQL).append(')');
return buff.toString();
}
return super.getSQL();
......
......@@ -181,7 +181,7 @@ public class ConvertTraceFile extends Tool {
timeTotal = 1;
}
for (Stat stat : list) {
StringBuffer buff = new StringBuffer(100);
StringBuilder buff = new StringBuilder(100);
buff.append("-- ");
buff.append(padNumberLeft(100 * stat.time / timeTotal, 3));
buff.append("% ");
......
......@@ -267,7 +267,7 @@ public class Csv implements SimpleRowSource {
return data;
}
}
StringBuffer buff = new StringBuffer(data.length());
StringBuilder buff = new StringBuilder(data.length());
for (int i = 0; i < data.length(); i++) {
char ch = data.charAt(i);
if (ch == fieldDelimiter || ch == escapeCharacter) {
......@@ -352,7 +352,7 @@ public class Csv implements SimpleRowSource {
continue;
} else if (ch == fieldDelimiter) {
// delimited value
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
boolean containsEscape = false;
while (true) {
ch = readChar();
......@@ -413,7 +413,7 @@ public class Csv implements SimpleRowSource {
break;
} else {
// un-delimited value
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append((char) ch);
while (true) {
ch = readChar();
......@@ -442,7 +442,7 @@ public class Csv implements SimpleRowSource {
}
private String unEscape(String s) {
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
int start = 0;
char[] chars = null;
while (true) {
......
......@@ -108,7 +108,7 @@ public class MultiDimension {
* @return the query
*/
public String generatePreparedQuery(String table, String scalarColumn, String[] columns) {
StringBuffer buff = new StringBuffer("SELECT D.* FROM ");
StringBuilder buff = new StringBuilder("SELECT D.* FROM ");
buff.append(StringUtils.quoteIdentifier(table));
buff.append(" D, TABLE(_FROM_ BIGINT=?, _TO_ BIGINT=?) WHERE ");
buff.append(StringUtils.quoteIdentifier(scalarColumn));
......
......@@ -259,14 +259,14 @@ public class Recover extends Tool implements DataHandler {
byte[] salt = RandomUtils.getSecureBytes(Constants.SALT_LEN);
byte[] passwordHash = sha.getHashWithSalt(userPasswordHash, salt);
boolean admin = sql.indexOf("ADMIN") >= 0;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE USER ");
buff.append(Parser.quoteIdentifier(userName));
buff.append(" SALT '");
buff.append(ByteUtils.convertBytesToString(salt));
buff.append("' HASH '");
buff.append(ByteUtils.convertBytesToString(passwordHash));
buff.append("'");
buff.append('\'');
if (admin) {
buff.append(" ADMIN");
}
......@@ -331,7 +331,7 @@ public class Recover extends Tool implements DataHandler {
private void writeDataError(PrintWriter writer, String error, byte[] data, int dumpBlocks) {
writer.println("-- ERROR: " + error + " block:" + block + " blockCount:" + blockCount + " storageId:"
+ storageId + " recordLength:" + recordLength + " valueId:" + valueId);
StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dumpBlocks * DiskFile.BLOCK_SIZE; i++) {
int x = data[i] & 0xff;
if (x >= ' ' && x < 128) {
......@@ -341,7 +341,7 @@ public class Recover extends Tool implements DataHandler {
}
}
writer.println("-- dump: " + sb.toString());
sb = new StringBuffer();
sb = new StringBuilder();
for (int i = 0; i < dumpBlocks * DiskFile.BLOCK_SIZE; i++) {
int x = data[i] & 0xff;
sb.append(' ');
......@@ -407,7 +407,7 @@ public class Recover extends Tool implements DataHandler {
writeDataError(writer, "out of memory", s.getBytes(), blockCount);
return;
}
StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
sb.append("// data: ");
for (valueId = 0; valueId < recordLength; valueId++) {
try {
......@@ -1024,12 +1024,12 @@ public class Recover extends Tool implements DataHandler {
byte[] userPasswordHash = sha.getKeyPasswordHash(userName, "".toCharArray());
byte[] salt = RandomUtils.getSecureBytes(Constants.SALT_LEN);
byte[] passwordHash = sha.getHashWithSalt(userPasswordHash, salt);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("SALT '");
buff.append(ByteUtils.convertBytesToString(salt));
buff.append("' HASH '");
buff.append(ByteUtils.convertBytesToString(passwordHash));
buff.append("'");
buff.append('\'');
byte[] replacement = buff.toString().getBytes();
System.arraycopy(replacement, 0, s.getBytes(), saltIndex, replacement.length);
store.seek(pageSize * pageId);
......@@ -1062,7 +1062,7 @@ public class Recover extends Tool implements DataHandler {
}
private void writeRow(PrintWriter writer, DataPage s, Value[] data) {
StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
sb.append("INSERT INTO O_" + storageName + " VALUES(");
for (valueId = 0; valueId < recordLength; valueId++) {
try {
......
......@@ -116,7 +116,7 @@ public class RunScript extends Tool {
String driver = args[++i];
ClassUtils.loadUserClass(driver);
} else if (arg.equals("-options")) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
i++;
for (; i < args.length; i++) {
buff.append(' ');
......@@ -218,7 +218,7 @@ public class RunScript extends Tool {
if (query) {
ResultSet rs = stat.getResultSet();
int columns = rs.getMetaData().getColumnCount();
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (rs.next()) {
buff.append("\n-->");
for (int i = 0; i < columns; i++) {
......
......@@ -69,8 +69,8 @@ public class Script extends Tool {
} else if (arg.equals("-script")) {
file = args[++i];
} else if (arg.equals("-options")) {
StringBuffer buff1 = new StringBuffer();
StringBuffer buff2 = new StringBuffer();
StringBuilder buff1 = new StringBuilder();
StringBuilder buff2 = new StringBuilder();
i++;
for (; i < args.length; i++) {
String a = args[i];
......
......@@ -266,18 +266,16 @@ public class Server extends Tool implements Runnable, ShutdownHandler {
* @return the status
*/
public String getStatus() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (isRunning(false)) {
buff.append(service.getType());
buff.append(" server running on ");
buff.append(service.getURL());
buff.append(" (");
buff.append(service.getType()).append(" server running on ");
buff.append(service.getURL()).append(" (");
if (service.getAllowOthers()) {
buff.append("others can connect");
} else {
buff.append("only local connections");
}
buff.append(")");
buff.append(')');
} else {
buff.append("The " + service.getType() + " server could not be started. Possible cause: another server is already running on ");
buff.append(service.getURL());
......
......@@ -448,7 +448,7 @@ public class Shell extends Tool {
longest = Math.max(longest, l);
total += l;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (!listMode) {
for (int i = 0; i < len; i++) {
if (i > 0) {
......
......@@ -63,7 +63,7 @@ public class ScriptReader {
if (end) {
return null;
}
StringBuffer buff = new StringBuffer(200);
StringBuilder buff = new StringBuilder(200);
int previous = 0;
int c = read();
while (true) {
......
......@@ -7,13 +7,14 @@
package org.h2.util;
/**
* A utility class to build a statement. In addition to the methods supported by StringBuilder,
* it allows to add a text only in the second iteration. This simplified constructs such as:
* A utility class to build a statement. In addition to the methods supported by
* StringBuilder, it allows to add a text only in the second iteration. This
* simplified constructs such as:
* <pre>
* StringBuilder buff = new StringBuilder();
* for (int i = 0; i &lt; args.length; i++) {
* if (i &gt; 0) {
* buff.append(", ");
* buff.append(&quot;, &quot;);
* }
* buff.append(args[i]);
* }
......@@ -22,7 +23,7 @@ package org.h2.util;
* <pre>
* StatementBuilder buff = new StatementBuilder();
* for (String s : args) {
* buff.appendExceptFirst(", ");
* buff.appendExceptFirst(&quot;, &quot;);
* buff.append(a);
* }
*</pre>
......@@ -116,4 +117,13 @@ public class StatementBuilder {
return builder.toString();
}
/**
* Get the length.
*
* @return the length
*/
public int length() {
return builder.length();
}
}
......@@ -76,7 +76,7 @@ public class StringUtils {
if (s == null) {
return "NULL";
}
StringBuffer buff = new StringBuffer(s.length() + 2);
StringBuilder buff = new StringBuilder(s.length() + 2);
buff.append('\'');
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
......@@ -102,7 +102,7 @@ public class StringUtils {
* @return the Java representation
*/
public static String javaEncode(String s) {
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
......@@ -181,7 +181,7 @@ public class StringUtils {
* @return the string
*/
public static String javaDecode(String s) throws SQLException {
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == '"') {
......@@ -331,7 +331,7 @@ public class StringUtils {
buff.appendExceptFirst(", ");
buff.append(quoteJavaString(a));
}
return buff.append("}").toString();
return buff.append('}').toString();
}
/**
......@@ -350,7 +350,7 @@ public class StringUtils {
buff.appendExceptFirst(", ");
buff.append(a);
}
return buff.append("}").toString();
return buff.append('}').toString();
}
/**
......@@ -400,7 +400,7 @@ public class StringUtils {
*/
//## Java 1.4 end ##
// byte[] utf = utf8Encode(s);
// StringBuffer buff = new StringBuffer(utf.length);
// StringBuilder buff = new StringBuilder(utf.length);
// for(int i=0; i<utf.length; i++) {
//
// buff.append()
......@@ -452,7 +452,7 @@ public class StringUtils {
return new String[0];
}
ArrayList<String> list = New.arrayList();
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == separatorChar) {
......@@ -608,7 +608,7 @@ public class StringUtils {
* @return the indented string
*/
private static String indent(String s, int spaces) {
StringBuffer buff = new StringBuffer(s.length() + spaces);
StringBuilder buff = new StringBuilder(s.length() + spaces);
for (int i = 0; i < s.length();) {
for (int j = 0; j < spaces; j++) {
buff.append(' ');
......@@ -680,7 +680,7 @@ public class StringUtils {
* @return the escaped text
*/
public static String xmlText(String text) {
StringBuffer buff = new StringBuffer(text.length());
StringBuilder buff = new StringBuilder(text.length());
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
switch (ch) {
......@@ -726,7 +726,7 @@ public class StringUtils {
* @return the string with the before string replaced
*/
public static String replaceAll(String s, String before, String after) {
StringBuffer buff = new StringBuffer(s.length());
StringBuilder buff = new StringBuilder(s.length());
int index = 0;
while (true) {
int next = s.indexOf(before, index);
......@@ -749,7 +749,7 @@ public class StringUtils {
* @return the double quoted text
*/
public static String quoteIdentifier(String s) {
StringBuffer buff = new StringBuffer(s.length() + 2);
StringBuilder buff = new StringBuilder(s.length() + 2);
buff.append('\"');
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
......@@ -819,7 +819,7 @@ public class StringUtils {
} else {
paddingChar = padding.charAt(0);
}
StringBuffer buff = new StringBuffer(n);
StringBuilder buff = new StringBuilder(n);
n -= string.length();
if (right) {
buff.append(string);
......
......@@ -60,7 +60,7 @@ public abstract class Tool {
* @param db the database name or null
*/
protected void printNoDatabaseFilesFound(String dir, String db) {
StringBuffer buff = new StringBuffer("No database files have been found");
StringBuilder buff = new StringBuilder("No database files have been found");
if (dir != null) {
buff.append(" in directory ");
buff.append(dir);
......
......@@ -237,9 +237,9 @@ public class Transfer {
if (len == -1) {
return null;
}
// TODO optimize: StringBuffer is synchronized, maybe use a char array
// TODO optimize: StringBuilder is synchronized, maybe use a char array
// (but that means more memory)
StringBuffer buff = new StringBuffer(len);
StringBuilder buff = new StringBuilder(len);
for (int i = 0; i < len; i++) {
buff.append(in.readChar());
}
......
......@@ -680,7 +680,7 @@ public class ValueLob extends Value {
if (small != null && getPrecision() <= SysProperties.MAX_TRACE_DATA_LENGTH) {
return getSQL();
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (type == Value.CLOB) {
buff.append("SPACE(");
buff.append(getPrecision());
......
......@@ -119,7 +119,7 @@ public class ValueUuid extends Value {
return PRECISION;
}
private void appendHex(StringBuffer buff, long x, int bytes) {
private void appendHex(StringBuilder buff, long x, int bytes) {
for (int i = bytes * 8 - 4; i >= 0; i -= 8) {
buff.append(Integer.toHexString((int) (x >> i) & 0xf));
buff.append(Integer.toHexString((int) (x >> (i - 4)) & 0xf));
......@@ -127,7 +127,7 @@ public class ValueUuid extends Value {
}
public String getString() {
StringBuffer buff = new StringBuffer(36);
StringBuilder buff = new StringBuilder(36);
appendHex(buff, high >> 32, 4);
buff.append('-');
appendHex(buff, high >> 16, 2);
......
......@@ -295,11 +295,8 @@ java org.h2.test.TestAll timer
recover tool: move
alter table add constraint behind insert into select
i > 0 -> StatementBuidler
StringBuffer > StringBuilder
j > 0 -> StatementBuilder
buff.append... chain
SqlStatement.appendExceptFirst
append(".") > append('.')
BaseIndex or TableData should have its own compareMode
(default is: Database.compareMode when created).
......@@ -669,7 +666,7 @@ kill -9 `jps -l | grep "org.h2.test.TestAll" | cut -d " " -f 1`
}
public String toString() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
appendIf(buff, big, "big");
appendIf(buff, networked, "net");
appendIf(buff, memory, "memory");
......@@ -693,7 +690,7 @@ kill -9 `jps -l | grep "org.h2.test.TestAll" | cut -d " " -f 1`
return buff.toString();
}
private void appendIf(StringBuffer buff, boolean flag, String text) {
private void appendIf(StringBuilder buff, boolean flag, String text) {
if (flag) {
buff.append(text);
buff.append(' ');
......
......@@ -945,7 +945,7 @@ public abstract class TestBase {
if (reader == null) {
return null;
}
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();
try {
while (true) {
int c = reader.read();
......
......@@ -70,7 +70,7 @@ public class BenchCRandom {
*/
String replace(String text, String replacement) {
int pos = getInt(0, text.length() - replacement.length());
StringBuffer buffer = new StringBuffer(text);
StringBuilder buffer = new StringBuilder(text);
buffer.replace(pos, pos + 7, replacement);
return buffer.toString();
}
......@@ -170,7 +170,7 @@ public class BenchCRandom {
String getLastname(int i) {
String[] n = { "BAR", "OUGHT", "ABLE", "PRI", "PRES", "ESE", "ANTI",
"CALLY", "ATION", "EING" };
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(n[i / 100]);
buff.append(n[(i / 10) % 10]);
buff.append(n[i % 10]);
......
......@@ -26,7 +26,7 @@ public class Tokenizer {
private static final byte ALPHA = 4;
private static final byte QUOTE = 8;
private StringBuffer buffer;
private StringBuilder buffer;
private Reader reader;
......@@ -86,7 +86,7 @@ public class Tokenizer {
* Initialize the tokenizer.
*/
void initToken() {
buffer = new StringBuffer();
buffer = new StringBuilder();
}
String getToken() {
......
......@@ -629,7 +629,7 @@ public class TestCases extends TestBase {
stat.execute("CREATE TABLE TEST(A INT, B INT, C INT, DATA VARCHAR)");
int increment = getSize(100, 1);
for (int i = 1; i < 500; i += increment) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append("CREATE TABLE TEST");
for (int j = 0; j < i; j++) {
buff.append('a');
......
......@@ -157,7 +157,7 @@ public class TestCsv extends TestBase {
return null;
}
int len = random.nextInt(5);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
String chars = "\\\'\",\r\n\t ;.-123456|#";
for (int i = 0; i < len; i++) {
buff.append(chars.charAt(random.nextInt(chars.length())));
......
......@@ -572,7 +572,7 @@ public class TestFunctions extends TestBase implements AggregateFunction {
* @return the string, reversed
*/
public static String reverse(String s) {
return new StringBuffer(s).reverse().toString();
return new StringBuilder(s).reverse().toString();
}
/**
......
......@@ -159,7 +159,7 @@ public class TestIndex extends TestBase {
}
private String getRandomString(int len) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
buff.append((char) ('a' + random.nextInt(26)));
}
......@@ -351,7 +351,7 @@ public class TestIndex extends TestBase {
ResultSet rs = stat.executeQuery(sql);
int cols = rs.getMetaData().getColumnCount();
while (rs.next()) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < cols; i++) {
if (i > 0) {
buff.append(", ");
......
......@@ -388,7 +388,7 @@ public class TestLob extends TestBase {
PreparedStatement prep1 = conn0
.prepareStatement("insert into CLOB_ENTITY (DATA, CLOB_DATA, ID) values (?, ?, ?)");
prep1.setNull(1, 2005);
StringBuffer buff = new StringBuffer(10000);
StringBuilder buff = new StringBuilder(10000);
for (int i = 0; i < 10000; i++) {
buff.append((char) ('0' + (i % 10)));
}
......@@ -453,7 +453,7 @@ public class TestLob extends TestBase {
assertFalse(rs.next());
stat.execute("create table test(text clob)");
stat.execute("create table test2(text clob)");
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < 1000; i++) {
buff.append(' ');
}
......@@ -490,7 +490,7 @@ public class TestLob extends TestBase {
if (config.networked && config.big) {
len = 5;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < 100; i++) {
buff.append(StringUtils.xmlNode("content", null, "This is a test " + i));
}
......
......@@ -41,7 +41,7 @@ public class TestScript extends TestBase {
private PrintStream out;
private ArrayList<String[]> result = New.arrayList();
private String putBack;
private StringBuffer errors;
private StringBuilder errors;
private ArrayList<String> statements;
private String fileName = "org/h2/test/test-" +
Constants.VERSION_MAJOR + "." + Constants.VERSION_MINOR + ".txt";
......@@ -90,7 +90,7 @@ public class TestScript extends TestBase {
conn = getConnection("script");
stat = conn.createStatement();
out = new PrintStream(new FileOutputStream(outFile));
errors = new StringBuffer();
errors = new StringBuilder();
testFile(inFile);
conn.close();
out.close();
......@@ -121,7 +121,7 @@ public class TestScript extends TestBase {
private void testFile(String inFile) throws Exception {
InputStream is = getClass().getClassLoader().getResourceAsStream(inFile);
in = new LineNumberReader(new InputStreamReader(is, "Cp1252"));
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (true) {
String sql = readLine();
if (sql == null) {
......@@ -135,7 +135,7 @@ public class TestScript extends TestBase {
write(sql);
buff.append(sql.substring(0, sql.length() - 1));
sql = buff.toString();
buff = new StringBuffer();
buff = new StringBuilder();
process(sql);
} else {
write(sql);
......@@ -209,13 +209,13 @@ public class TestScript extends TestBase {
private int processPrepared(String sql, PreparedStatement prep, String param) throws Exception {
try {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
int index = 0;
for (int i = 0; i < param.length(); i++) {
char c = param.charAt(i);
if (c == ',') {
setParameter(prep, ++index, buff.toString());
buff = new StringBuffer();
buff = new StringBuilder();
} else if (c == '"') {
while (true) {
c = param.charAt(++i);
......@@ -305,7 +305,7 @@ public class TestScript extends TestBase {
private String format(String[] row, int[] max) {
int length = max.length;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < length; i++) {
if (i > 0) {
buff.append(' ');
......
......@@ -81,8 +81,8 @@ public class TestNativeSQL extends TestBase {
Random random = new Random(1);
String s = "'\"$/-* \n";
for (int i = 0; i < 200; i++) {
StringBuffer buffQuoted = new StringBuffer();
StringBuffer buffRaw = new StringBuffer();
StringBuilder buffQuoted = new StringBuilder();
StringBuilder buffRaw = new StringBuilder();
if (random.nextBoolean()) {
buffQuoted.append("'");
for (int j = 0; j < 10; j++) {
......@@ -118,7 +118,7 @@ public class TestNativeSQL extends TestBase {
private void testRandom() throws SQLException {
Random random = new Random(1);
for (int i = 0; i < 100; i++) {
StringBuffer buff = new StringBuffer("{oj }");
StringBuilder buff = new StringBuilder("{oj }");
String s = "{}\'\"-/*$ $-";
for (int j = random.nextInt(30); j > 0; j--) {
buff.append(s.charAt(random.nextInt(s.length())));
......@@ -132,7 +132,7 @@ public class TestNativeSQL extends TestBase {
}
String smallest = null;
for (int i = 0; i < 1000; i++) {
StringBuffer buff = new StringBuffer("{oj }");
StringBuilder buff = new StringBuilder("{oj }");
for (int j = random.nextInt(10); j > 0; j--) {
String s;
switch(random.nextInt(7)) {
......
......@@ -871,7 +871,7 @@ public class TestPreparedStatement extends TestBase {
PreparedStatement prep;
ResultSet rs;
stat.execute("CREATE TABLE T_CLOB(ID INT PRIMARY KEY,V1 CLOB,V2 CLOB)");
StringBuffer asciiBuffer = new StringBuffer();
StringBuilder asciiBuffer = new StringBuilder();
int len = getLength();
for (int i = 0; i < len; i++) {
asciiBuffer.append((char) ('a' + (i % 20)));
......
......@@ -54,10 +54,10 @@ public class TestXid implements Xid {
fGlobalTransactionId = new byte[MAXGTRIDSIZE];
fBranchQualifier = new byte[MAXBQUALSIZE];
StringBuffer sb;
StringBuilder sb;
byte[] ba;
sb = new StringBuffer();
sb = new StringBuilder();
sb.append(host);
sb.append(":");
sb.append(fId);
......@@ -73,7 +73,7 @@ public class TestXid implements Xid {
fGlobalTransactionId[i] = ba[i];
}
sb = new StringBuffer(NF.format(branch));
sb = new StringBuilder(NF.format(branch));
// System.out.println("branch qualifier: " + sb.toString());
ba = sb.toString().getBytes();
for (int i = 0; i < MAXBQUALSIZE; i++) {
......
......@@ -50,7 +50,7 @@ class OutputCatcher extends Thread {
}
public void run() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (true) {
try {
int x = in.read();
......
......@@ -62,7 +62,7 @@ public class TestBtreeIndex extends TestBase {
prefixLength = random.nextInt(10) + 1;
}
boolean delete = random.nextBoolean();
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int j = 0; j < prefixLength; j++) {
buff.append("x");
}
......
......@@ -339,7 +339,7 @@ public abstract class TestHalt extends TestBase {
* @return the random string
*/
protected String getRandomString(int len) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
buff.append('a' + random.nextInt(20));
}
......
......@@ -30,7 +30,7 @@ public class TestJoin extends TestBase {
private ArrayList<Connection> connections = New.arrayList();
private Random random;
private int paramCount;
private StringBuffer buff;
private StringBuilder buff;
/**
* Run just this test.
......@@ -103,7 +103,7 @@ public class TestJoin extends TestBase {
long start = System.currentTimeMillis();
for (int i = 0;; i++) {
paramCount = 0;
buff = new StringBuffer();
buff = new StringBuilder();
long time = System.currentTimeMillis();
if (time - start > 5000) {
printTime("i:" + i);
......@@ -279,7 +279,7 @@ public class TestJoin extends TestBase {
}
private String readResult(ResultSet rs) throws SQLException {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
ResultSetMetaData meta = rs.getMetaData();
int columnCount = meta.getColumnCount();
for (int i = 0; i < columnCount; i++) {
......@@ -292,7 +292,7 @@ public class TestJoin extends TestBase {
String result = buff.toString();
ArrayList<String> list = New.arrayList();
while (rs.next()) {
buff = new StringBuffer();
buff = new StringBuilder();
for (int i = 0; i < columnCount; i++) {
if (i > 0) {
buff.append(",");
......
......@@ -47,7 +47,7 @@ public class TestSimpleIndex extends TestBase {
random.setSeed(seed);
String unique = random.nextBoolean() ? "UNIQUE " : "";
int len = random.getInt(2) + 1;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
if (i > 0) {
buff.append(", ");
......@@ -100,7 +100,7 @@ public class TestSimpleIndex extends TestBase {
execute("INSERT INTO TEST_M " + sql);
execute("INSERT INTO TEST_D " + sql);
}
StringBuffer buff = new StringBuffer("WHERE 1=1");
StringBuilder buff = new StringBuilder("WHERE 1=1");
int len = random.getLog(10);
for (int i = 0; i < len; i++) {
buff.append(" AND ");
......@@ -149,7 +149,7 @@ public class TestSimpleIndex extends TestBase {
private String getResult(String sql) throws SQLException {
ResultSet rs = stat.executeQuery(sql);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (rs.next()) {
buff.append(rs.getString(1));
buff.append("; ");
......
......@@ -87,7 +87,7 @@ public class RandomGen {
* @return the string
*/
public String randomString(int len) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
String from = (i % 2 == 0) ? "bdfghklmnpqrst" : "aeiou";
buff.append(from.charAt(getInt(from.length())));
......@@ -227,7 +227,7 @@ public class RandomGen {
if (random.nextInt(10) == 0) {
return null;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(getInt(24));
buff.append(':');
buff.append(getInt(24));
......@@ -246,7 +246,7 @@ public class RandomGen {
if (random.nextInt(10) == 0) {
return null;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(getInt(10) + 2000);
buff.append('-');
int month = getInt(12) + 1;
......@@ -291,7 +291,7 @@ public class RandomGen {
if (random.nextInt(10) == 0) {
return null;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
buff.append(getInt(10) + 2000);
buff.append('-');
buff.append(getInt(11) + 1);
......
......@@ -120,8 +120,8 @@ public class Value {
private String getBlobSQL() {
byte[] bytes = (byte[]) data;
// StringBuffer buff = new StringBuffer("X'");
StringBuffer buff = new StringBuffer("'");
// StringBuilder buff = new StringBuilder("X'");
StringBuilder buff = new StringBuilder("'");
for (byte b : bytes) {
int c = b & 0xff;
buff.append(Integer.toHexString(c >> 4 & 0xf));
......@@ -275,7 +275,7 @@ public class Value {
if (len == 0) {
len++;
}
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
buff.append((char) ('0' + config.random().getInt(10)));
}
......
......@@ -95,7 +95,7 @@ public class TestMultiNews extends TestMultiThread {
PreparedStatement prep2 = conn.prepareStatement("INSERT INTO TEST (NAME) VALUES (?)");
for (int i = 0; i < len; i++) {
int x = random.nextInt(10) * 128;
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
while (buff.length() < x) {
buff.append("Test ");
buff.append(buff.length());
......
......@@ -87,7 +87,7 @@ public class TestMultiOrder extends TestMultiThread {
}
private String getString(int id) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
Random rnd = new Random(id);
int len = rnd.nextInt(40);
for (int i = 0; i < len; i++) {
......
......@@ -96,7 +96,7 @@ class Statement {
}
public String toString() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
if (assignment) {
buff.append(assignClass);
buff.append(' ');
......
......@@ -51,7 +51,7 @@ public class TestPattern extends TestBase {
}
private static String getRandomValue() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
int len = (int) (Math.random() * 10);
String s = "AB_%\\";
for (int i = 0; i < len; i++) {
......@@ -61,7 +61,7 @@ public class TestPattern extends TestBase {
}
private static String getRandomPattern() {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
int len = (int) (Math.random() * 4);
String s = "A%_\\";
for (int i = 0; i < len; i++) {
......@@ -78,7 +78,7 @@ public class TestPattern extends TestBase {
private String initPatternRegexp(String pattern, char escape) {
int len = pattern.length();
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int i = 0; i < len; i++) {
char c = pattern.charAt(i);
if (escape == c) {
......
......@@ -38,7 +38,7 @@ public class TestScriptReader extends TestBase {
for (int i = 0; i < len; i++) {
int l = random.nextInt(10);
String[] sql = new String[l];
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int j = 0; j < l; j++) {
sql[j] = randomStatement(random);
buff.append(sql[j]);
......@@ -62,7 +62,7 @@ public class TestScriptReader extends TestBase {
}
private String randomStatement(Random random) {
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
int len = random.nextInt(5);
for (int i = 0; i < len; i++) {
switch (random.nextInt(10)) {
......
......@@ -64,7 +64,7 @@ public class TestSecurity extends TestBase {
checkSHA256("abcdefghijklmnopqrstuvwxyz", "71C480DF93D6AE2F1EFAD1447C66C9525E316218CF51FC8D9ED832F2DAF18B73");
checkSHA256("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1");
checkSHA256("12345678901234567890123456789012345678901234567890123456789012345678901234567890", "F371BC4A311F2B009EEF952DD83CA80E2B60026C8E935592D0F9C308453C813E");
StringBuffer buff = new StringBuffer(1000000);
StringBuilder buff = new StringBuilder(1000000);
buff.append('a');
checkSHA256(buff.toString(), "CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB");
}
......
......@@ -67,7 +67,7 @@ public class TestStringCache extends TestBase {
return s;
}
int len = random.nextBoolean() ? random.nextInt(1000) : random.nextInt(10);
StringBuffer buff = new StringBuffer(len);
StringBuilder buff = new StringBuilder(len);
for (int i = 0; i < len; i++) {
buff.append(random.nextInt(0xfff));
}
......
......@@ -107,7 +107,7 @@ public class TestStringUtils extends TestBase {
Random random = new Random(1);
for (int i = 0; i < 100; i++) {
int len = random.nextInt(10);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int j = 0; j < len; j++) {
if (random.nextBoolean()) {
buff.append((char) random.nextInt(0x3000));
......@@ -128,7 +128,7 @@ public class TestStringUtils extends TestBase {
Random random = new Random(1);
for (int i = 0; i < 1000; i++) {
int len = random.nextInt(10);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (int j = 0; j < len; j++) {
if (random.nextBoolean()) {
buff.append((char) random.nextInt(0x3000));
......@@ -149,7 +149,7 @@ public class TestStringUtils extends TestBase {
Random random = new Random(1);
for (int i = 0; i < 100; i++) {
int len = random.nextInt(10);
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
String select = "abcd,";
for (int j = 0; j < len; j++) {
char c = select.charAt(random.nextInt(select.length()));
......
......@@ -441,7 +441,7 @@ public class BuildBase {
}
private String convertBytesToString(byte[] value) {
StringBuffer buff = new StringBuffer(value.length * 2);
StringBuilder buff = new StringBuilder(value.length * 2);
for (byte c : value) {
int x = c & 0xff;
buff.append(Integer.toString(x >> 4, 16));
......
......@@ -37,7 +37,7 @@ public class MergeDocs {
String[] pages = { "quickstart.html", "installation.html", "tutorial.html", "features.html",
"performance.html", "advanced.html", "grammar.html", "functions.html", "datatypes.html", "build.html",
"history.html", "faq.html" };
StringBuffer buff = new StringBuffer();
StringBuilder buff = new StringBuilder();
for (String fileName : pages) {
String text = getContent(fileName);
for (String page : pages) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论