提交 8094d423 authored 作者: Thomas Mueller's avatar Thomas Mueller

Replace ObjectArray with ArrayList.

上级 7020bad7
......@@ -7,6 +7,7 @@
package org.h2.command;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.ErrorCode;
import org.h2.engine.Constants;
import org.h2.engine.Database;
......@@ -16,7 +17,6 @@ import org.h2.message.Message;
import org.h2.message.Trace;
import org.h2.message.TraceObject;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
/**
* Represents a SQL statement. This object is only used on the server side.
......@@ -71,7 +71,7 @@ public abstract class Command implements CommandInterface {
*
* @return the list of parameters
*/
public abstract ObjectArray< ? extends ParameterInterface> getParameters();
public abstract ArrayList< ? extends ParameterInterface> getParameters();
/**
* Check if this command is read only.
......
......@@ -7,10 +7,10 @@
package org.h2.command;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.expression.Parameter;
import org.h2.expression.ParameterInterface;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
/**
......@@ -27,7 +27,7 @@ public class CommandContainer extends Command {
this.prepared = prepared;
}
public ObjectArray< ? extends ParameterInterface> getParameters() {
public ArrayList< ? extends ParameterInterface> getParameters() {
return prepared.getParameters();
}
......@@ -44,12 +44,12 @@ public class CommandContainer extends Command {
// TODO test with 'always recompile'
prepared.setModificationMetaId(0);
String sql = prepared.getSQL();
ObjectArray<Parameter> oldParams = prepared.getParameters();
ArrayList<Parameter> oldParams = prepared.getParameters();
Parser parser = new Parser(session);
prepared = parser.parseOnly(sql);
long mod = prepared.getModificationMetaId();
prepared.setModificationMetaId(0);
ObjectArray<Parameter> newParams = prepared.getParameters();
ArrayList<Parameter> newParams = prepared.getParameters();
for (int i = 0; i < newParams.size(); i++) {
Parameter old = oldParams.get(i);
if (old.isValueSet()) {
......
......@@ -7,10 +7,9 @@
package org.h2.command;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.expression.ParameterInterface;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
/**
* Represents a SQL statement.
......@@ -29,7 +28,7 @@ public interface CommandInterface {
*
* @return the parameters
*/
ObjectArray< ? extends ParameterInterface> getParameters();
ArrayList< ? extends ParameterInterface> getParameters();
/**
* Execute the query.
......
......@@ -7,9 +7,9 @@
package org.h2.command;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.expression.ParameterInterface;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
/**
* Represents a list of SQL statements.
......@@ -25,7 +25,7 @@ public class CommandList extends Command {
this.remaining = remaining;
}
public ObjectArray< ? extends ParameterInterface> getParameters() {
public ArrayList< ? extends ParameterInterface> getParameters() {
return command.getParameters();
}
......
......@@ -8,7 +8,7 @@ package org.h2.command;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.Constants;
import org.h2.engine.SessionRemote;
......@@ -18,7 +18,7 @@ import org.h2.message.Trace;
import org.h2.message.TraceObject;
import org.h2.result.ResultInterface;
import org.h2.result.ResultRemote;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Transfer;
import org.h2.value.Value;
......@@ -28,8 +28,8 @@ import org.h2.value.Value;
*/
public class CommandRemote implements CommandInterface {
private final ObjectArray<Transfer> transferList;
private final ObjectArray<ParameterInterface> parameters;
private final ArrayList<Transfer> transferList;
private final ArrayList<ParameterInterface> parameters;
private final Trace trace;
private final String sql;
private final int fetchSize;
......@@ -40,11 +40,11 @@ public class CommandRemote implements CommandInterface {
private int paramCount;
private int created;
public CommandRemote(SessionRemote session, ObjectArray<Transfer> transferList, String sql, int fetchSize) throws SQLException {
public CommandRemote(SessionRemote session, ArrayList<Transfer> transferList, String sql, int fetchSize) throws SQLException {
this.transferList = transferList;
trace = session.getTrace();
this.sql = sql;
parameters = ObjectArray.newInstance();
parameters = New.arrayList();
prepare(session, true);
// set session late because prepare might fail - in this case we don't
// need to close the object
......@@ -93,7 +93,7 @@ public class CommandRemote implements CommandInterface {
return isQuery;
}
public ObjectArray<ParameterInterface> getParameters() {
public ArrayList<ParameterInterface> getParameters() {
return parameters;
}
......
......@@ -7,6 +7,7 @@
package org.h2.command;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
import org.h2.engine.Database;
......@@ -16,7 +17,6 @@ import org.h2.expression.Parameter;
import org.h2.jdbc.JdbcSQLException;
import org.h2.message.Message;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.value.Value;
......@@ -43,7 +43,7 @@ public abstract class Prepared {
/**
* The list of parameters.
*/
protected ObjectArray<Parameter> parameters;
protected ArrayList<Parameter> parameters;
/**
* If the query should be prepared before each execution. This is set for
......@@ -131,7 +131,7 @@ public abstract class Prepared {
*
* @param parameters the parameter list
*/
public void setParameterList(ObjectArray<Parameter> parameters) {
public void setParameterList(ArrayList<Parameter> parameters) {
this.parameters = parameters;
}
......@@ -140,7 +140,7 @@ public abstract class Prepared {
*
* @return the parameter list
*/
public ObjectArray<Parameter> getParameters() {
public ArrayList<Parameter> getParameters() {
return parameters;
}
......
......@@ -9,7 +9,6 @@ package org.h2.command.ddl;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.h2.command.Parser;
import org.h2.command.Prepared;
import org.h2.constant.ErrorCode;
......
......@@ -7,6 +7,7 @@
package org.h2.command.ddl;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Prepared;
import org.h2.command.dml.Insert;
import org.h2.command.dml.Query;
......@@ -186,7 +187,7 @@ public class CreateTable extends SchemaCommand {
private void generateColumnsFromQuery() {
int columnCount = asQuery.getColumnCount();
ObjectArray<Expression> expressions = asQuery.getExpressions();
ArrayList<Expression> expressions = asQuery.getExpressions();
for (int i = 0; i < columnCount; i++) {
Expression expr = expressions.get(i);
int type = expr.getType();
......
......@@ -7,7 +7,7 @@
package org.h2.command.ddl;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.ErrorCode;
import org.h2.engine.Database;
import org.h2.engine.Right;
......@@ -16,7 +16,7 @@ import org.h2.engine.Role;
import org.h2.engine.Session;
import org.h2.message.Message;
import org.h2.table.Table;
import org.h2.util.ObjectArray;
import org.h2.util.New;
/**
* This class represents the statements
......@@ -37,10 +37,10 @@ public class GrantRevoke extends DefineCommand {
*/
public static final int REVOKE = 1;
private ObjectArray<String> roleNames;
private ArrayList<String> roleNames;
private int operationType;
private int rightMask;
private ObjectArray<Table> tables = ObjectArray.newInstance();
private ArrayList<Table> tables = New.arrayList();
private RightOwner grantee;
public GrantRevoke(Session session) {
......@@ -67,7 +67,7 @@ public class GrantRevoke extends DefineCommand {
*/
public void addRoleName(String roleName) {
if (roleNames == null) {
roleNames = ObjectArray.newInstance();
roleNames = New.arrayList();
}
roleNames.add(roleName);
}
......
......@@ -8,6 +8,7 @@ package org.h2.command.dml;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Prepared;
import org.h2.engine.Session;
import org.h2.expression.Expression;
......@@ -16,7 +17,7 @@ import org.h2.expression.ExpressionVisitor;
import org.h2.result.LocalResult;
import org.h2.result.ResultInterface;
import org.h2.table.Column;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Value;
import org.h2.value.ValueArray;
import org.h2.value.ValueResultSet;
......@@ -26,8 +27,9 @@ import org.h2.value.ValueResultSet;
* CALL.
*/
public class Call extends Prepared {
private Expression value;
private ObjectArray<Expression> expressions;
private ArrayList<Expression> expressions;
public Call(Session session) {
super(session);
......@@ -64,7 +66,7 @@ public class Call extends Prepared {
return LocalResult.read(session, rs, maxrows);
} else if (v.getType() == Value.ARRAY) {
Value[] list = ((ValueArray) v).getList();
ObjectArray<Expression> expr = ObjectArray.newInstance();
ArrayList<Expression> expr = New.arrayList();
for (int i = 0; i < list.length; i++) {
Value e = list[i];
Column col = new Column("C" + (i + 1), e.getType(), e.getPrecision(), e.getScale(), e.getDisplaySize());
......@@ -85,7 +87,7 @@ public class Call extends Prepared {
public void prepare() throws SQLException {
value = value.optimize(session);
expressions = ObjectArray.newInstance();
expressions = New.arrayList();
expressions.add(value);
}
......
......@@ -7,13 +7,14 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Prepared;
import org.h2.engine.Procedure;
import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.expression.Parameter;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.util.New;
/**
* This class represents the statement
......@@ -21,7 +22,7 @@ import org.h2.util.ObjectArray;
*/
public class ExecuteProcedure extends Prepared {
private ObjectArray<Expression> expressions = ObjectArray.newInstance();
private ArrayList<Expression> expressions = New.arrayList();
private Procedure procedure;
public ExecuteProcedure(Session session) {
......@@ -44,7 +45,7 @@ public class ExecuteProcedure extends Prepared {
private void setParameters() throws SQLException {
Prepared prepared = procedure.getPrepared();
ObjectArray<Parameter> params = prepared.getParameters();
ArrayList<Parameter> params = prepared.getParameters();
for (int i = 0; params != null && i < params.size() && i < expressions.size(); i++) {
Expression expr = expressions.get(i);
Parameter p = params.get(i);
......
......@@ -7,6 +7,7 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.api.Trigger;
import org.h2.command.Command;
import org.h2.command.Prepared;
......@@ -23,7 +24,7 @@ import org.h2.result.ResultInterface;
import org.h2.result.Row;
import org.h2.table.Column;
import org.h2.table.Table;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StatementBuilder;
import org.h2.value.Value;
......@@ -35,7 +36,7 @@ public class Insert extends Prepared {
private Table table;
private Column[] columns;
private ObjectArray<Expression[]> list = ObjectArray.newInstance();
private ArrayList<Expression[]> list = New.arrayList();
private Query query;
private boolean sortedInsertMode;
......
......@@ -7,6 +7,7 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.api.Trigger;
import org.h2.command.Command;
import org.h2.command.Prepared;
......@@ -22,7 +23,7 @@ import org.h2.result.ResultInterface;
import org.h2.result.Row;
import org.h2.table.Column;
import org.h2.table.Table;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StatementBuilder;
import org.h2.value.Value;
import org.h2.value.ValueLong;
......@@ -36,7 +37,7 @@ public class Merge extends Prepared {
private Table table;
private Column[] columns;
private Column[] keys;
private ObjectArray<Expression[]> list = ObjectArray.newInstance();
private ArrayList<Expression[]> list = New.arrayList();
private Query query;
private Prepared update;
......@@ -155,7 +156,7 @@ public class Merge extends Prepared {
}
private void merge(Row row) throws SQLException {
ObjectArray<Parameter> k = update.getParameters();
ArrayList<Parameter> k = update.getParameters();
for (int i = 0; i < columns.length; i++) {
Column col = columns[i];
Value v = row.getValue(col.getColumnId());
......
......@@ -7,8 +7,8 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashSet;
import org.h2.command.Prepared;
import org.h2.constant.ErrorCode;
import org.h2.engine.Database;
......@@ -26,7 +26,7 @@ import org.h2.result.SortOrder;
import org.h2.table.ColumnResolver;
import org.h2.table.Table;
import org.h2.table.TableFilter;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StringUtils;
import org.h2.value.Value;
import org.h2.value.ValueInt;
......@@ -80,7 +80,7 @@ public abstract class Query extends Prepared {
*
* @return the list of expressions
*/
public abstract ObjectArray<Expression> getExpressions();
public abstract ArrayList<Expression> getExpressions();
/**
* Calculate the cost to execute this query.
......@@ -101,7 +101,7 @@ public abstract class Query extends Prepared {
*
* @param order the order by list
*/
public abstract void setOrder(ObjectArray<SelectOrderBy> order);
public abstract void setOrder(ArrayList<SelectOrderBy> order);
/**
* Set the 'for update' flag.
......@@ -208,9 +208,9 @@ public abstract class Query extends Prepared {
}
public final Value[] getParameterValues() {
ObjectArray<Parameter> list = getParameters();
ArrayList<Parameter> list = getParameters();
if (list == null) {
list = ObjectArray.newInstance();
list = New.arrayList();
}
Value[] params = new Value[list.size()];
for (int i = 0; i < list.size(); i++) {
......@@ -261,7 +261,7 @@ public abstract class Query extends Prepared {
* @param visible the number of visible columns in the select list
* @param mustBeInResult all order by expressions must be in the select list
*/
void initOrder(ObjectArray<Expression> expressions, ObjectArray<String> expressionSQL, ObjectArray<SelectOrderBy> orderList, int visible,
void initOrder(ArrayList<Expression> expressions, ArrayList<String> expressionSQL, ArrayList<SelectOrderBy> orderList, int visible,
boolean mustBeInResult) throws SQLException {
for (SelectOrderBy o : orderList) {
Expression e = o.expression;
......@@ -345,7 +345,7 @@ public abstract class Query extends Prepared {
* @param expressionCount the number of columns in the query
* @return the {@link SortOrder} object
*/
public SortOrder prepareOrder(ObjectArray<SelectOrderBy> orderList, int expressionCount) throws SQLException {
public SortOrder prepareOrder(ArrayList<SelectOrderBy> orderList, int expressionCount) throws SQLException {
int[] index = new int[orderList.size()];
int[] sortType = new int[orderList.size()];
for (int i = 0; i < orderList.size(); i++) {
......@@ -399,7 +399,7 @@ public abstract class Query extends Prepared {
*/
void addParameter(Parameter param) {
if (parameters == null) {
parameters = ObjectArray.newInstance();
parameters = New.arrayList();
}
parameters.add(param);
}
......
......@@ -7,6 +7,7 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
......@@ -61,14 +62,14 @@ import org.h2.value.ValueNull;
*/
public class Select extends Query {
private TableFilter topTableFilter;
private ObjectArray<TableFilter> filters = ObjectArray.newInstance();
private ObjectArray<TableFilter> topFilters = ObjectArray.newInstance();
private ObjectArray<Expression> expressions;
private ArrayList<TableFilter> filters = New.arrayList();
private ArrayList<TableFilter> topFilters = New.arrayList();
private ArrayList<Expression> expressions;
private Expression having;
private Expression condition;
private int visibleColumnCount, distinctColumnCount;
private ObjectArray<SelectOrderBy> orderList;
private ObjectArray<Expression> group;
private ArrayList<SelectOrderBy> orderList;
private ArrayList<Expression> group;
private int[] groupIndex;
private boolean[] groupByExpression;
private boolean distinct;
......@@ -107,11 +108,11 @@ public class Select extends Query {
}
}
public ObjectArray<TableFilter> getTopFilters() {
public ArrayList<TableFilter> getTopFilters() {
return topFilters;
}
public void setExpressions(ObjectArray<Expression> expressions) {
public void setExpressions(ArrayList<Expression> expressions) {
this.expressions = expressions;
}
......@@ -122,7 +123,7 @@ public class Select extends Query {
isGroupQuery = true;
}
public void setGroupBy(ObjectArray<Expression> group) {
public void setGroupBy(ArrayList<Expression> group) {
this.group = group;
}
......@@ -134,7 +135,7 @@ public class Select extends Query {
return currentGroupRowId;
}
public void setOrder(ObjectArray<SelectOrderBy> order) {
public void setOrder(ArrayList<SelectOrderBy> order) {
orderList = order;
}
......@@ -344,7 +345,7 @@ public class Select extends Query {
if (groupIndex == null && groups.size() == 0) {
groups.put(defaultGroup, new HashMap<Expression, Object>());
}
ObjectArray<Value> keys = groups.keys();
ArrayList<Value> keys = groups.keys();
for (Value v : keys) {
ValueArray key = (ValueArray) v;
currentGroup = groups.get(key);
......@@ -380,7 +381,7 @@ public class Select extends Query {
if (sort == null) {
return null;
}
ObjectArray<Column> sortColumns = ObjectArray.newInstance();
ArrayList<Column> sortColumns = New.arrayList();
for (int idx : sort.getIndexes()) {
if (idx < 0 || idx >= expressions.size()) {
throw Message.getInvalidValueException("" + (idx + 1), "ORDER BY");
......@@ -617,9 +618,9 @@ public class Select extends Query {
}
expandColumnList();
visibleColumnCount = expressions.size();
ObjectArray<String> expressionSQL;
ArrayList<String> expressionSQL;
if (orderList != null || group != null) {
expressionSQL = ObjectArray.newInstance();
expressionSQL = New.arrayList();
for (int i = 0; i < visibleColumnCount; i++) {
Expression expr = expressions.get(i);
expr = expr.getNonAliasExpression();
......@@ -959,7 +960,7 @@ public class Select extends Query {
return topTableFilter;
}
public ObjectArray<Expression> getExpressions() {
public ArrayList<Expression> getExpressions() {
return expressions;
}
......
......@@ -6,12 +6,12 @@
*/
package org.h2.command.dml;
import java.util.ArrayList;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn;
import org.h2.table.Column;
import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
/**
......@@ -35,7 +35,7 @@ public class SelectListColumnResolver implements ColumnResolver {
int columnCount = select.getColumnCount();
columns = new Column[columnCount];
expressions = new Expression[columnCount];
ObjectArray<Expression> columnList = select.getExpressions();
ArrayList<Expression> columnList = select.getExpressions();
for (int i = 0; i < columnCount; i++) {
Expression expr = columnList.get(i);
Column column = new Column(expr.getAlias(), Value.NULL);
......
......@@ -7,8 +7,8 @@
package org.h2.command.dml;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashSet;
import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
import org.h2.engine.Session;
......@@ -25,7 +25,7 @@ import org.h2.table.Column;
import org.h2.table.ColumnResolver;
import org.h2.table.Table;
import org.h2.table.TableFilter;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StringUtils;
import org.h2.value.Value;
import org.h2.value.ValueInt;
......@@ -57,8 +57,8 @@ public class SelectUnion extends Query {
private int unionType;
private Query left, right;
private ObjectArray<Expression> expressions;
private ObjectArray<SelectOrderBy> orderList;
private ArrayList<Expression> expressions;
private ArrayList<SelectOrderBy> orderList;
private SortOrder sort;
private boolean distinct;
private boolean isPrepared, checkInit;
......@@ -81,7 +81,7 @@ public class SelectUnion extends Query {
this.sqlStatement = sql;
}
public void setOrder(ObjectArray<SelectOrderBy> order) {
public void setOrder(ArrayList<SelectOrderBy> order) {
orderList = order;
}
......@@ -94,7 +94,7 @@ public class SelectUnion extends Query {
}
public ResultInterface queryMeta() throws SQLException {
ObjectArray<Expression> leftExpressions = left.getExpressions();
ArrayList<Expression> leftExpressions = left.getExpressions();
int columnCount = left.getColumnCount();
LocalResult result = new LocalResult(session, leftExpressions, columnCount);
result.done();
......@@ -194,10 +194,10 @@ public class SelectUnion extends Query {
if (len != right.getColumnCount()) {
throw Message.getSQLException(ErrorCode.COLUMN_COUNT_DOES_NOT_MATCH);
}
ObjectArray<Expression> le = left.getExpressions();
ArrayList<Expression> le = left.getExpressions();
// set the expressions to get the right column count and names,
// but can't validate at this time
expressions = ObjectArray.newInstance();
expressions = New.arrayList();
for (int i = 0; i < len; i++) {
Expression l = le.get(i);
expressions.add(l);
......@@ -217,9 +217,9 @@ public class SelectUnion extends Query {
right.prepare();
int len = left.getColumnCount();
// set the correct expressions now
expressions = ObjectArray.newInstance();
ObjectArray<Expression> le = left.getExpressions();
ObjectArray<Expression> re = right.getExpressions();
expressions = New.arrayList();
ArrayList<Expression> le = left.getExpressions();
ArrayList<Expression> re = right.getExpressions();
for (int i = 0; i < len; i++) {
Expression l = le.get(i);
Expression r = re.get(i);
......@@ -252,7 +252,7 @@ public class SelectUnion extends Query {
distinct = b;
}
public ObjectArray<Expression> getExpressions() {
public ArrayList<Expression> getExpressions() {
return expressions;
}
......
......@@ -11,7 +11,6 @@ import java.util.StringTokenizer;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
import org.h2.constant.ErrorCode;
import org.h2.message.Message;
......
......@@ -8,7 +8,6 @@ package org.h2.compress;
import java.io.IOException;
import java.io.InputStream;
import org.h2.util.MemoryUtils;
/**
......
......@@ -8,7 +8,6 @@ package org.h2.compress;
import java.io.IOException;
import java.io.OutputStream;
import org.h2.engine.Constants;
/**
......
......@@ -7,6 +7,7 @@
package org.h2.constraint;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Parser;
import org.h2.command.Prepared;
import org.h2.constant.ErrorCode;
......@@ -23,7 +24,6 @@ import org.h2.schema.Schema;
import org.h2.table.Column;
import org.h2.table.IndexColumn;
import org.h2.table.Table;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.Value;
......@@ -403,7 +403,7 @@ public class ConstraintReferential extends Constraint {
} else {
Prepared updateCommand = getUpdate(session);
if (updateAction == CASCADE) {
ObjectArray<Parameter> params = updateCommand.getParameters();
ArrayList<Parameter> params = updateCommand.getParameters();
for (int i = 0; i < columns.length; i++) {
Parameter param = params.get(i);
Column refCol = refColumns[i].column;
......@@ -433,7 +433,7 @@ public class ConstraintReferential extends Constraint {
for (int i = 0; i < refColumns.length; i++) {
int idx = refColumns[i].column.getColumnId();
Value v = row.getValue(idx);
ObjectArray<Parameter> params = command.getParameters();
ArrayList<Parameter> params = command.getParameters();
Parameter param = params.get(pos + i);
param.setValue(v);
}
......@@ -519,7 +519,7 @@ public class ConstraintReferential extends Constraint {
private Prepared prepare(Session session, String sql, int action) throws SQLException {
Prepared command = session.prepare(sql);
if (action != CASCADE) {
ObjectArray<Parameter> params = command.getParameters();
ArrayList<Parameter> params = command.getParameters();
for (int i = 0; i < columns.length; i++) {
Column column = columns[i].column;
Parameter param = params.get(i);
......
......@@ -1642,7 +1642,7 @@ public class Database implements DataHandler {
*
* @return the list
*/
public ObjectArray<InDoubtTransaction> getInDoubtTransactions() {
public ArrayList<InDoubtTransaction> getInDoubtTransactions() {
return pageStore == null ? null : pageStore.getInDoubtTransactions();
}
......
......@@ -11,8 +11,8 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import org.h2.command.Parser;
import org.h2.constant.ErrorCode;
import org.h2.expression.Expression;
......@@ -20,7 +20,7 @@ import org.h2.message.Message;
import org.h2.message.Trace;
import org.h2.table.Table;
import org.h2.util.ClassUtils;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.SourceCompiler;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
......@@ -127,7 +127,7 @@ public class FunctionAlias extends DbObjectBase {
private void loadClass() throws SQLException {
Class< ? > javaClass = ClassUtils.loadUserClass(className);
Method[] methods = javaClass.getMethods();
ObjectArray<JavaMethod> list = ObjectArray.newInstance();
ArrayList<JavaMethod> list = New.arrayList();
for (int i = 0; i < methods.length; i++) {
Method m = methods[i];
if (!Modifier.isStatic(m.getModifiers())) {
......
......@@ -62,7 +62,7 @@ public class Session extends SessionWithState implements SessionFactory {
private ConnectionInfo connectionInfo;
private User user;
private int id;
private ObjectArray<Table> locks = ObjectArray.newInstance();
private ArrayList<Table> locks = New.arrayList();
private UndoLog undoLog;
private boolean autoCommit = true;
private Random random;
......@@ -655,7 +655,7 @@ public class Session extends SessionWithState implements SessionFactory {
private void cleanTempTables(boolean closeSession) throws SQLException {
if (localTempTables != null && localTempTables.size() > 0) {
synchronized (database) {
for (Table table : ObjectArray.newInstance(localTempTables.values())) {
for (Table table : New.arrayList(localTempTables.values())) {
if (closeSession || table.getOnCommitDrop()) {
modificationId++;
table.setModified();
......@@ -787,15 +787,16 @@ public class Session extends SessionWithState implements SessionFactory {
rollback();
}
} else {
ObjectArray<InDoubtTransaction> list = database.getInDoubtTransactions();
ArrayList<InDoubtTransaction> list = database.getInDoubtTransactions();
int state = commit ? InDoubtTransaction.COMMIT : InDoubtTransaction.ROLLBACK;
boolean found = false;
for (int i = 0; list != null && i < list.size(); i++) {
InDoubtTransaction p = list.get(i);
if (p.getTransaction().equals(transactionName)) {
p.setState(state);
found = true;
break;
if (list != null) {
for (InDoubtTransaction p: list) {
if (p.getTransaction().equals(transactionName)) {
p.setState(state);
found = true;
break;
}
}
}
if (!found) {
......
......@@ -9,7 +9,7 @@ package org.h2.engine;
import java.io.IOException;
import java.net.Socket;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.api.DatabaseEventListener;
import org.h2.command.CommandInterface;
import org.h2.command.CommandRemote;
......@@ -29,7 +29,7 @@ import org.h2.util.ClassUtils;
import org.h2.util.FileUtils;
import org.h2.util.MathUtils;
import org.h2.util.NetUtils;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.SmallLRUCache;
import org.h2.util.StringUtils;
import org.h2.util.TempFileDeleter;
......@@ -66,7 +66,7 @@ public class SessionRemote extends SessionWithState implements SessionFactory, D
private TraceSystem traceSystem;
private Trace trace;
private ObjectArray<Transfer> transferList = ObjectArray.newInstance();
private ArrayList<Transfer> transferList = New.arrayList();
private int nextId;
private boolean autoCommit = true;
private CommandInterface switchOffAutoCommit;
......
......@@ -7,9 +7,10 @@
package org.h2.engine;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.CommandInterface;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Value;
/**
......@@ -17,7 +18,7 @@ import org.h2.value.Value;
*/
public abstract class SessionWithState implements SessionInterface {
protected ObjectArray<String> sessionState;
protected ArrayList<String> sessionState;
protected boolean sessionStateChanged;
private boolean sessionStateUpdating;
......@@ -47,7 +48,7 @@ public abstract class SessionWithState implements SessionInterface {
return;
}
sessionStateChanged = false;
sessionState = ObjectArray.newInstance();
sessionState = New.arrayList();
CommandInterface ci = prepareCommand("SELECT * FROM INFORMATION_SCHEMA.SESSION_STATE", Integer.MAX_VALUE);
ResultInterface result = ci.executeQuery(0, false);
while (result.next()) {
......
......@@ -7,6 +7,8 @@
package org.h2.expression;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import org.h2.command.dml.Select;
......@@ -23,7 +25,6 @@ import org.h2.table.ColumnResolver;
import org.h2.table.Table;
import org.h2.table.TableFilter;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.DataType;
......@@ -119,7 +120,7 @@ public class Aggregate extends Expression {
private Expression on;
private Expression separator;
private ObjectArray<SelectOrderBy> orderList;
private ArrayList<SelectOrderBy> orderList;
private SortOrder sort;
private int dataType, scale;
private long precision;
......@@ -187,7 +188,7 @@ public class Aggregate extends Expression {
*
* @param orderBy the order by list
*/
public void setOrder(ObjectArray<SelectOrderBy> orderBy) {
public void setOrder(ArrayList<SelectOrderBy> orderBy) {
this.orderList = orderBy;
}
......@@ -290,14 +291,14 @@ public class Aggregate extends Expression {
}
Value v = data.getValue(session.getDatabase(), distinct);
if (type == GROUP_CONCAT) {
ObjectArray<Value> list = data.getList();
ArrayList<Value> list = data.getList();
if (list == null || list.size() == 0) {
return ValueNull.INSTANCE;
}
if (orderList != null) {
try {
final SortOrder sortOrder = sort;
list.sort(new Comparator<Value>() {
Collections.sort(list, new Comparator<Value>() {
public int compare(Value v1, Value v2) {
try {
Value[] a1 = ((ValueArray) v1).getList();
......
......@@ -7,10 +7,11 @@
package org.h2.expression;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.engine.Constants;
import org.h2.engine.Database;
import org.h2.message.Message;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.ValueHashMap;
import org.h2.value.DataType;
import org.h2.value.Value;
......@@ -30,7 +31,7 @@ class AggregateData {
private ValueHashMap<AggregateData> distinctValues;
private Value value;
private double sum, vpn;
private ObjectArray<Value> list;
private ArrayList<Value> list;
AggregateData(int aggregateType, int dataType) {
this.aggregateType = aggregateType;
......@@ -104,7 +105,7 @@ class AggregateData {
break;
case Aggregate.GROUP_CONCAT: {
if (list == null) {
list = ObjectArray.newInstance();
list = New.arrayList();
}
list.add(v);
break;
......@@ -145,7 +146,7 @@ class AggregateData {
}
}
ObjectArray<Value> getList() {
ArrayList<Value> getList() {
return list;
}
......
......@@ -7,7 +7,7 @@
package org.h2.expression;
import java.sql.SQLException;
import java.util.Arrays;
import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
import org.h2.engine.Database;
......@@ -16,7 +16,6 @@ import org.h2.index.IndexCondition;
import org.h2.message.Message;
import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
import org.h2.value.ValueBoolean;
import org.h2.value.ValueNull;
......@@ -495,13 +494,13 @@ public class Comparison extends Condition {
// a=b OR a=c
Database db = session.getDatabase();
if (rc && r2c && l.equals(l2)) {
return new ConditionIn(db, left, ObjectArray.newInstance(right, other.right));
return new ConditionIn(db, left, Arrays.asList(right, other.right));
} else if (rc && l2c && l.equals(r2)) {
return new ConditionIn(db, left, ObjectArray.newInstance(right, other.left));
return new ConditionIn(db, left, Arrays.asList(right, other.left));
} else if (lc && r2c && r.equals(l2)) {
return new ConditionIn(db, right, ObjectArray.newInstance(left, other.right));
return new ConditionIn(db, right, Arrays.asList(left, other.right));
} else if (lc && l2c && r.equals(r2)) {
return new ConditionIn(db, right, ObjectArray.newInstance(left, other.left));
return new ConditionIn(db, right, Arrays.asList(left, other.left));
}
}
}
......
......@@ -7,13 +7,13 @@
package org.h2.expression;
import java.sql.SQLException;
import java.util.List;
import org.h2.constant.SysProperties;
import org.h2.engine.Database;
import org.h2.engine.Session;
import org.h2.index.IndexCondition;
import org.h2.table.ColumnResolver;
import org.h2.table.TableFilter;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.value.Value;
import org.h2.value.ValueBoolean;
......@@ -26,7 +26,7 @@ public class ConditionIn extends Condition {
private final Database database;
private Expression left;
private final ObjectArray<Expression> valueList;
private final List<Expression> valueList;
private int queryLevel;
/**
......@@ -36,7 +36,7 @@ public class ConditionIn extends Condition {
* @param left the expression before IN
* @param values the value list (at least one element)
*/
public ConditionIn(Database database, Expression left, ObjectArray<Expression> values) {
public ConditionIn(Database database, Expression left, List<Expression> values) {
this.database = database;
this.left = left;
this.valueList = values;
......
......@@ -17,12 +17,12 @@ import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.TimeZone;
import java.util.regex.PatternSyntaxException;
import org.h2.command.Command;
import org.h2.command.Parser;
import org.h2.constant.ErrorCode;
......@@ -46,7 +46,6 @@ import org.h2.util.FileUtils;
import org.h2.util.MathUtils;
import org.h2.util.MemoryUtils;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.DataType;
......@@ -110,7 +109,7 @@ public class Function extends Expression implements FunctionCall {
protected Expression[] args;
private FunctionInfo info;
private ObjectArray<Expression> varArgs;
private ArrayList<Expression> varArgs;
private int dataType, scale;
private long precision = PRECISION_UNKNOWN;
private int displaySize;
......@@ -328,7 +327,7 @@ public class Function extends Expression implements FunctionCall {
this.database = database;
this.info = info;
if (info.parameterCount == VAR_ARGS) {
varArgs = ObjectArray.newInstance();
varArgs = New.arrayList();
} else {
args = new Expression[info.parameterCount];
}
......
......@@ -7,7 +7,7 @@
package org.h2.expression;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.ErrorCode;
import org.h2.engine.Database;
import org.h2.engine.Session;
......@@ -17,7 +17,6 @@ import org.h2.result.ResultInterface;
import org.h2.table.Column;
import org.h2.tools.SimpleResultSet;
import org.h2.util.MathUtils;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.value.DataType;
import org.h2.value.Value;
......@@ -69,7 +68,7 @@ public class TableFunction extends Function {
return getTable(session, args, true, false);
}
public void setColumns(ObjectArray<Column> columns) {
public void setColumns(ArrayList<Column> columns) {
this.columnList = new Column[columns.size()];
columns.toArray(columnList);
}
......
......@@ -10,6 +10,7 @@ import java.sql.SQLException;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import org.h2.command.dml.Query;
import org.h2.engine.Session;
import org.h2.expression.Comparison;
......@@ -19,7 +20,6 @@ import org.h2.expression.ExpressionVisitor;
import org.h2.message.Message;
import org.h2.result.ResultInterface;
import org.h2.table.Column;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.value.CompareMode;
import org.h2.value.Value;
......@@ -60,7 +60,7 @@ public class IndexCondition {
private int compareType;
private Expression expression;
private ObjectArray<Expression> expressionList;
private List<Expression> expressionList;
private Query expressionQuery;
private IndexCondition(int compareType, ExpressionColumn column, Expression expression) {
......@@ -89,7 +89,7 @@ public class IndexCondition {
* @param list the expression list
* @return the index condition
*/
public static IndexCondition getInList(ExpressionColumn column, ObjectArray<Expression> list) {
public static IndexCondition getInList(ExpressionColumn column, List<Expression> list) {
IndexCondition cond = new IndexCondition(Comparison.IN_LIST, column, null);
cond.expressionList = list;
return cond;
......
......@@ -7,6 +7,7 @@
package org.h2.index;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashSet;
import org.h2.engine.Session;
import org.h2.expression.Comparison;
......@@ -18,7 +19,6 @@ import org.h2.result.SortOrder;
import org.h2.table.Column;
import org.h2.table.IndexColumn;
import org.h2.table.Table;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
import org.h2.value.ValueNull;
......@@ -63,7 +63,7 @@ public class IndexCursor implements Cursor {
* @param s the session
* @param indexConditions the index conditions
*/
public void find(Session s, ObjectArray<IndexCondition> indexConditions) throws SQLException {
public void find(Session s, ArrayList<IndexCondition> indexConditions) throws SQLException {
this.session = s;
alwaysFalse = false;
start = end = null;
......
......@@ -6,10 +6,10 @@
*/
package org.h2.index;
import java.util.ArrayList;
import org.h2.message.Message;
import org.h2.result.Row;
import org.h2.result.SearchRow;
import org.h2.util.ObjectArray;
/**
* An index for a meta data table.
......@@ -18,10 +18,10 @@ import org.h2.util.ObjectArray;
public class MetaCursor implements Cursor {
private Row current;
private ObjectArray<Row> rows;
private ArrayList<Row> rows;
private int index;
MetaCursor(ObjectArray<Row> rows) {
MetaCursor(ArrayList<Row> rows) {
this.rows = rows;
}
......
......@@ -7,6 +7,7 @@
package org.h2.index;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.engine.Session;
import org.h2.message.Message;
import org.h2.result.Row;
......@@ -14,7 +15,6 @@ import org.h2.result.SearchRow;
import org.h2.table.Column;
import org.h2.table.IndexColumn;
import org.h2.table.MetaTable;
import org.h2.util.ObjectArray;
/**
* The index implementation for meta data tables.
......@@ -43,7 +43,7 @@ public class MetaIndex extends BaseIndex {
}
public Cursor find(Session session, SearchRow first, SearchRow last) throws SQLException {
ObjectArray<Row> rows = meta.generateRows(session, first, last);
ArrayList<Row> rows = meta.generateRows(session, first, last);
return new MetaCursor(rows);
}
......
......@@ -7,6 +7,7 @@
package org.h2.index;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
......@@ -22,7 +23,6 @@ import org.h2.table.Column;
import org.h2.table.IndexColumn;
import org.h2.table.TableData;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.value.ValueLob;
/**
......@@ -33,7 +33,7 @@ import org.h2.value.ValueLob;
*/
public class ScanIndex extends BaseIndex {
private long firstFree = -1;
private ObjectArray<Row> rows = ObjectArray.newInstance();
private ArrayList<Row> rows = New.arrayList();
private TableData tableData;
private int rowCountDiff;
private HashMap<Integer, Integer> sessionRowCount;
......@@ -53,7 +53,7 @@ public class ScanIndex extends BaseIndex {
}
public void truncate(Session session) throws SQLException {
rows = ObjectArray.newInstance();
rows = New.arrayList();
firstFree = -1;
if (tableData.getContainsLargeObject() && tableData.isPersistData()) {
ValueLob.removeAllForTable(database, table.getId());
......@@ -127,7 +127,7 @@ public class ScanIndex extends BaseIndex {
public void remove(Session session, Row row) {
// in-memory
if (!database.isMultiVersion() && rowCount == 1) {
rows = ObjectArray.newInstance();
rows = New.arrayList();
firstFree = -1;
} else {
Row free = new Row(null, 0);
......
......@@ -7,6 +7,7 @@
package org.h2.index;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.dml.Query;
import org.h2.engine.Constants;
import org.h2.engine.Session;
......@@ -20,7 +21,6 @@ import org.h2.table.Column;
import org.h2.table.TableView;
import org.h2.util.IntArray;
import org.h2.util.MemoryUtils;
import org.h2.util.ObjectArray;
import org.h2.util.SmallLRUCache;
import org.h2.value.Value;
......@@ -32,7 +32,7 @@ public class ViewIndex extends BaseIndex {
private final TableView view;
private final String querySQL;
private final ObjectArray<Parameter> originalParameters;
private final ArrayList<Parameter> originalParameters;
private final SmallLRUCache<IntArray, CostElement> costCache = SmallLRUCache.newInstance(Constants.VIEW_INDEX_CACHE_SIZE);
private boolean recursive;
private int[] indexMasks;
......@@ -40,7 +40,7 @@ public class ViewIndex extends BaseIndex {
private Query query;
private Session createSession;
public ViewIndex(TableView view, String querySQL, ObjectArray<Parameter> originalParameters, boolean recursive) {
public ViewIndex(TableView view, String querySQL, ArrayList<Parameter> originalParameters, boolean recursive) {
initBaseIndex(view, 0, null, null, IndexType.createNonUnique(false));
this.view = view;
this.querySQL = querySQL;
......@@ -151,7 +151,7 @@ public class ViewIndex extends BaseIndex {
}
public Cursor find(Session session, SearchRow first, SearchRow last) throws SQLException {
ObjectArray<Parameter> paramList = query.getParameters();
ArrayList<Parameter> paramList = query.getParameters();
for (int i = 0; originalParameters != null && i < originalParameters.size(); i++) {
Parameter orig = originalParameters.get(i);
int idx = orig.getIndex();
......
......@@ -8,14 +8,13 @@ package org.h2.jdbc;
import java.sql.ParameterMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.CommandInterface;
import org.h2.expression.ParameterInterface;
import org.h2.message.Message;
import org.h2.message.Trace;
import org.h2.message.TraceObject;
import org.h2.util.MathUtils;
import org.h2.util.ObjectArray;
import org.h2.value.DataType;
import org.h2.value.Value;
......@@ -30,7 +29,7 @@ implements ParameterMetaData
private JdbcPreparedStatement prep;
private int paramCount;
private ObjectArray< ? extends ParameterInterface> parameters;
private ArrayList< ? extends ParameterInterface> parameters;
JdbcParameterMetaData(Trace trace, JdbcPreparedStatement prep, CommandInterface command, int id) {
setTrace(trace, TraceObject.PARAMETER_META_DATA, id);
......
......@@ -13,17 +13,15 @@ import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
//## Java 1.4 begin ##
import java.sql.ParameterMetaData;
import java.sql.Statement;
//## Java 1.4 end ##
import java.sql.PreparedStatement;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar;
import org.h2.command.CommandInterface;
import org.h2.constant.ErrorCode;
import org.h2.expression.ParameterInterface;
......@@ -32,7 +30,7 @@ import org.h2.message.TraceObject;
import org.h2.result.ResultInterface;
import org.h2.util.DateTimeUtils;
import org.h2.util.IOUtils;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.DataType;
import org.h2.value.Value;
import org.h2.value.ValueBoolean;
......@@ -63,7 +61,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
private final String sqlStatement;
private CommandInterface command;
private ObjectArray<Value[]> batchParameters;
private ArrayList<Value[]> batchParameters;
JdbcPreparedStatement(JdbcConnection conn, String sql, int id, int resultSetType,
int resultSetConcurrency, boolean closeWithResultSet) throws SQLException {
......@@ -202,7 +200,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
try {
debugCodeCall("clearParameters");
checkClosed();
ObjectArray< ? extends ParameterInterface> parameters = command.getParameters();
ArrayList< ? extends ParameterInterface> parameters = command.getParameters();
for (ParameterInterface param : parameters) {
// can only delete old temp files if they are not in the batch
param.setValue(null, batchParameters == null);
......@@ -1083,7 +1081,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
debugCodeCall("executeBatch");
if (batchParameters == null) {
// TODO batch: check what other database do if no parameters are set
batchParameters = ObjectArray.newInstance();
batchParameters = New.arrayList();
}
int[] result = new int[batchParameters.size()];
boolean error = false;
......@@ -1092,7 +1090,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
try {
for (int i = 0; i < batchParameters.size(); i++) {
Value[] set = batchParameters.get(i);
ObjectArray< ? extends ParameterInterface> parameters = command.getParameters();
ArrayList< ? extends ParameterInterface> parameters = command.getParameters();
for (int j = 0; j < set.length; j++) {
Value value = set[j];
ParameterInterface param = parameters.get(j);
......@@ -1137,7 +1135,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
debugCodeCall("addBatch");
checkClosedForWrite();
try {
ObjectArray< ? extends ParameterInterface> parameters = command.getParameters();
ArrayList< ? extends ParameterInterface> parameters = command.getParameters();
Value[] set = new Value[parameters.size()];
for (int i = 0; i < parameters.size(); i++) {
ParameterInterface param = parameters.get(i);
......@@ -1145,7 +1143,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
set[i] = value;
}
if (batchParameters == null) {
batchParameters = ObjectArray.newInstance();
batchParameters = New.arrayList();
}
batchParameters.add(set);
} finally {
......@@ -1267,7 +1265,7 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
private void setParameter(int parameterIndex, Value value) throws SQLException {
checkClosed();
parameterIndex--;
ObjectArray< ? extends ParameterInterface> parameters = command.getParameters();
ArrayList< ? extends ParameterInterface> parameters = command.getParameters();
if (parameterIndex < 0 || parameterIndex >= parameters.size()) {
throw Message.getInvalidValueException("" + (parameterIndex + 1), "parameterIndex");
}
......@@ -1494,9 +1492,9 @@ public class JdbcPreparedStatement extends JdbcStatement implements PreparedStat
protected boolean checkClosed(boolean write) throws SQLException {
if (super.checkClosed(write)) {
// if the session was re-connected, re-prepare the statement
ObjectArray< ? extends ParameterInterface> oldParams = command.getParameters();
ArrayList< ? extends ParameterInterface> oldParams = command.getParameters();
command = conn.prepareCommand(sqlStatement, fetchSize);
ObjectArray< ? extends ParameterInterface> newParams = command.getParameters();
ArrayList< ? extends ParameterInterface> newParams = command.getParameters();
for (int i = 0; i < oldParams.size(); i++) {
ParameterInterface old = oldParams.get(i);
Value value = old.getParamValue();
......
......@@ -12,7 +12,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
import java.util.ArrayList;
import org.h2.command.CommandInterface;
import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
......@@ -20,7 +20,7 @@ import org.h2.engine.SessionInterface;
import org.h2.message.Message;
import org.h2.message.TraceObject;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.util.New;
/**
* Represents a statement.
......@@ -37,7 +37,7 @@ public class JdbcStatement extends TraceObject implements Statement {
protected final int resultSetConcurrency;
protected boolean closedByResultSet;
private CommandInterface executingCommand;
private ObjectArray<String> batchCommands;
private ArrayList<String> batchCommands;
private boolean escapeProcessing = true;
JdbcStatement(JdbcConnection conn, int id, int resultSetType, int resultSetConcurrency, boolean closeWithResultSet) {
......@@ -585,7 +585,7 @@ public class JdbcStatement extends TraceObject implements Statement {
checkClosed();
sql = conn.translateSQL(sql, escapeProcessing);
if (batchCommands == null) {
batchCommands = ObjectArray.newInstance();
batchCommands = New.arrayList();
}
batchCommands.add(sql);
} catch (Exception e) {
......@@ -618,7 +618,7 @@ public class JdbcStatement extends TraceObject implements Statement {
try {
if (batchCommands == null) {
// TODO batch: check what other database do if no commands are set
batchCommands = ObjectArray.newInstance();
batchCommands = New.arrayList();
}
int[] result = new int[batchCommands.size()];
boolean error = false;
......
......@@ -10,14 +10,13 @@ import java.io.PrintWriter;
import java.io.Writer;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Map;
import org.h2.constant.SysProperties;
import org.h2.expression.ParameterInterface;
import org.h2.util.ByteUtils;
import org.h2.util.FileUtils;
import org.h2.util.IOUtils;
import org.h2.util.ObjectArray;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
......@@ -421,7 +420,7 @@ public class TraceObject {
/**
* INTERNAL
*/
public static String toString(String sql, ObjectArray< ? extends ParameterInterface> params) {
public static String toString(String sql, ArrayList< ? extends ParameterInterface> params) {
StatementBuilder buff = new StatementBuilder(sql);
if (params != null && params.size() > 0) {
buff.append(" {");
......
......@@ -9,7 +9,7 @@ package org.h2.result;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.Database;
import org.h2.engine.Session;
......@@ -17,7 +17,7 @@ import org.h2.expression.Expression;
import org.h2.expression.ExpressionColumn;
import org.h2.message.Message;
import org.h2.table.Column;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.ValueHashMap;
import org.h2.value.DataType;
import org.h2.value.Value;
......@@ -36,7 +36,7 @@ public class LocalResult implements ResultInterface {
private int visibleColumnCount;
private Expression[] expressions;
private int rowId, rowCount;
private ObjectArray<Value[]> rows;
private ArrayList<Value[]> rows;
private SortOrder sort;
private ValueHashMap<Value[]> distinctRows;
private Value[] currentRow;
......@@ -67,7 +67,7 @@ public class LocalResult implements ResultInterface {
} else {
this.maxMemoryRows = session.getDatabase().getMaxMemoryRows();
}
rows = ObjectArray.newInstance();
rows = New.arrayList();
this.visibleColumnCount = visibleColumnCount;
rowId = -1;
this.expressions = expressions;
......@@ -80,7 +80,7 @@ public class LocalResult implements ResultInterface {
* @param expressionList the expression list
* @param visibleColumnCount the number of visible columns
*/
public LocalResult(Session session, ObjectArray<Expression> expressionList, int visibleColumnCount) {
public LocalResult(Session session, ArrayList<Expression> expressionList, int visibleColumnCount) {
this(session, getList(expressionList), visibleColumnCount);
}
......@@ -93,7 +93,7 @@ public class LocalResult implements ResultInterface {
* @return the local result set
*/
public static LocalResult read(Session session, ResultSet rs, int maxrows) throws SQLException {
ObjectArray<Expression> cols = getExpressionColumns(session, rs);
ArrayList<Expression> cols = getExpressionColumns(session, rs);
int columnCount = cols.size();
LocalResult result = new LocalResult(session, cols, columnCount);
for (int i = 0; (maxrows == 0 || i < maxrows) && rs.next(); i++) {
......@@ -108,10 +108,10 @@ public class LocalResult implements ResultInterface {
return result;
}
private static ObjectArray<Expression> getExpressionColumns(Session session, ResultSet rs) throws SQLException {
private static ArrayList<Expression> getExpressionColumns(Session session, ResultSet rs) throws SQLException {
ResultSetMetaData meta = rs.getMetaData();
int columnCount = meta.getColumnCount();
ObjectArray<Expression> cols = ObjectArray.newInstance(columnCount);
ArrayList<Expression> cols = New.arrayList(columnCount);
Database db = session == null ? null : session.getDatabase();
for (int i = 0; i < columnCount; i++) {
String name = meta.getColumnLabel(i + 1);
......@@ -156,7 +156,7 @@ public class LocalResult implements ResultInterface {
return copy;
}
private static Expression[] getList(ObjectArray<Expression> expressionList) {
private static Expression[] getList(ArrayList<Expression> expressionList) {
Expression[] expressions = new Expression[expressionList.size()];
expressionList.toArray(expressions);
return expressions;
......@@ -304,7 +304,7 @@ public class LocalResult implements ResultInterface {
ResultExternal temp = disk;
disk = null;
temp.reset();
rows = ObjectArray.newInstance();
rows = New.arrayList();
// TODO use offset directly if possible
while (true) {
Value[] list = temp.next();
......@@ -357,7 +357,7 @@ public class LocalResult implements ResultInterface {
}
if (disk == null) {
if (rows.size() > limit) {
rows.removeRange(limit, rows.size());
rows = New.arrayList(rows.subList(0, limit));
rowCount = limit;
}
} else {
......@@ -439,7 +439,7 @@ public class LocalResult implements ResultInterface {
} else {
// avoid copying the whole array for each row
int remove = Math.min(offset, rows.size());
rows.removeRange(0, remove);
rows = New.arrayList(rows.subList(remove, rows.size()));
rowCount -= remove;
}
} else {
......
......@@ -8,7 +8,7 @@ package org.h2.result;
import java.io.ByteArrayOutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.Constants;
import org.h2.engine.Database;
......@@ -16,7 +16,7 @@ import org.h2.engine.Session;
import org.h2.message.Message;
import org.h2.store.Data;
import org.h2.store.FileStore;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Value;
/**
......@@ -28,7 +28,7 @@ class ResultDiskBuffer implements ResultExternal {
private Data rowBuff;
private FileStore file;
private ObjectArray<ResultDiskTape> tapes;
private ArrayList<ResultDiskTape> tapes;
private ResultDiskTape mainTape;
private SortOrder sort;
private int columnCount;
......@@ -57,7 +57,7 @@ class ResultDiskBuffer implements ResultExternal {
/**
* A list of rows in the buffer.
*/
ObjectArray<Value[]> buffer = ObjectArray.newInstance();
ArrayList<Value[]> buffer = New.arrayList();
}
ResultDiskBuffer(Session session, SortOrder sort, int columnCount) throws SQLException {
......@@ -70,14 +70,14 @@ class ResultDiskBuffer implements ResultExternal {
file.setCheckedWriting(false);
file.seek(FileStore.HEADER_LENGTH);
if (sort != null) {
tapes = ObjectArray.newInstance();
tapes = New.arrayList();
} else {
mainTape = new ResultDiskTape();
mainTape.pos = FileStore.HEADER_LENGTH;
}
}
public void addRows(ObjectArray<Value[]> rows) throws SQLException {
public void addRows(ArrayList<Value[]> rows) throws SQLException {
if (sort != null) {
sort.sort(rows);
}
......@@ -133,11 +133,11 @@ class ResultDiskBuffer implements ResultExternal {
if (sort != null) {
for (ResultDiskTape tape : tapes) {
tape.pos = tape.start;
tape.buffer = ObjectArray.newInstance();
tape.buffer = New.arrayList();
}
} else {
mainTape.pos = FileStore.HEADER_LENGTH;
mainTape.buffer = ObjectArray.newInstance();
mainTape.buffer = New.arrayList();
}
}
......
......@@ -7,8 +7,7 @@
package org.h2.result;
import java.sql.SQLException;
import org.h2.util.ObjectArray;
import java.util.ArrayList;
import org.h2.value.Value;
/**
......@@ -34,7 +33,7 @@ public interface ResultExternal {
*
* @param rows the list of rows to add
*/
void addRows(ObjectArray<Value[]> rows) throws SQLException;
void addRows(ArrayList<Value[]> rows) throws SQLException;
/**
* This method is called after all rows have been added.
......
......@@ -8,12 +8,12 @@ package org.h2.result;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.SessionRemote;
import org.h2.message.Message;
import org.h2.message.Trace;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Transfer;
import org.h2.value.Value;
......@@ -31,8 +31,8 @@ public class ResultRemote implements ResultInterface {
private ResultColumn[] columns;
private Value[] currentRow;
private int rowId, rowCount, rowOffset;
private ObjectArray<Value[]> result;
private ObjectArray<Value> lobValues;
private ArrayList<Value[]> result;
private ArrayList<Value> lobValues;
private final Trace trace;
public ResultRemote(SessionRemote session, Transfer transfer, int id, int columnCount, int fetchSize)
......@@ -47,7 +47,7 @@ public class ResultRemote implements ResultInterface {
columns[i] = new ResultColumn(transfer);
}
rowId = -1;
result = ObjectArray.newInstance();
result = New.arrayList();
this.fetchSize = fetchSize;
fetchRows(false);
}
......@@ -218,7 +218,7 @@ public class ResultRemote implements ResultInterface {
values[i] = v;
if (v.isFileBased()) {
if (lobValues == null) {
lobValues = ObjectArray.newInstance();
lobValues = New.arrayList();
}
lobValues.add(v);
}
......
......@@ -7,6 +7,7 @@
package org.h2.result;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.ddl.CreateTableData;
import org.h2.engine.Constants;
import org.h2.engine.Database;
......@@ -20,7 +21,6 @@ import org.h2.schema.Schema;
import org.h2.table.Column;
import org.h2.table.IndexColumn;
import org.h2.table.TableData;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
import org.h2.value.ValueArray;
......@@ -87,7 +87,7 @@ public class ResultTempTable implements ResultExternal {
return (int) table.getRowCount(session);
}
public void addRows(ObjectArray<Value[]> rows) throws SQLException {
public void addRows(ArrayList<Value[]> rows) throws SQLException {
if (sort != null) {
sort.sort(rows);
}
......
......@@ -7,13 +7,14 @@
package org.h2.result;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.Constants;
import org.h2.engine.Database;
import org.h2.engine.Session;
import org.h2.store.Data;
import org.h2.store.FileStore;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.value.Value;
import org.h2.value.ValueLob;
......@@ -24,12 +25,12 @@ import org.h2.value.ValueLob;
public class RowList {
private final Session session;
private final ObjectArray<Row> list = ObjectArray.newInstance();
private final ArrayList<Row> list = New.arrayList();
private int size;
private int index, listIndex;
private FileStore file;
private Data rowBuff;
private ObjectArray<ValueLob> lobs;
private ArrayList<ValueLob> lobs;
private int memory, maxMemory;
private boolean written;
private boolean readUncached;
......@@ -68,7 +69,7 @@ public class RowList {
ValueLob lob = (ValueLob) v;
if (lob.getSmall() == null && lob.getTableId() == 0) {
if (lobs == null) {
lobs = ObjectArray.newInstance();
lobs = New.arrayList();
}
// need to create a copy, otherwise,
// if stored multiple times, it may be renamed
......
......@@ -7,12 +7,11 @@
package org.h2.result;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.SysProperties;
import org.h2.engine.Database;
import org.h2.expression.Expression;
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;
......@@ -154,17 +153,18 @@ public class SortOrder {
*
* @param rows the list of rows
*/
public void sort(ObjectArray<Value[]> rows) throws SQLException {
public void sort(ArrayList<Value[]> rows) throws SQLException {
int todoUseArraySort;
sort(rows, 0, rows.size() - 1);
}
private void swap(ObjectArray<Value[]> rows, int a, int b) {
private void swap(ArrayList<Value[]> rows, int a, int b) {
Value[] t = rows.get(a);
rows.set(a, rows.get(b));
rows.set(b, t);
}
private void sort(ObjectArray<Value[]> rows, int l, int r) throws SQLException {
private void sort(ArrayList<Value[]> rows, int l, int r) throws SQLException {
// quicksort
int i, j;
while (r - l > 10) {
......
......@@ -10,12 +10,12 @@ import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.constant.ErrorCode;
import org.h2.jdbc.JdbcConnection;
import org.h2.message.Message;
import org.h2.util.JdbcUtils;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.DataType;
......@@ -34,7 +34,7 @@ public class UpdatableRow {
private final int columnCount;
private String schemaName;
private String tableName;
private ObjectArray<String> key;
private ArrayList<String> key;
private boolean isUpdatable;
/**
......@@ -77,7 +77,7 @@ public class UpdatableRow {
// system table
return;
}
key = ObjectArray.newInstance();
key = New.arrayList();
rs = meta.getPrimaryKeys(null,
JdbcUtils.escapeMetaDataPattern(schemaName),
tableName);
......
......@@ -11,6 +11,7 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.Socket;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Command;
import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
......@@ -26,7 +27,6 @@ import org.h2.jdbc.JdbcSQLException;
import org.h2.message.Message;
import org.h2.result.ResultColumn;
import org.h2.result.ResultInterface;
import org.h2.util.ObjectArray;
import org.h2.util.SmallMap;
import org.h2.util.StringUtils;
import org.h2.value.Transfer;
......@@ -207,7 +207,7 @@ public class TcpServerThread implements Runnable {
private void setParameters(Command command) throws IOException, SQLException {
int len = transfer.readInt();
ObjectArray< ? extends ParameterInterface> params = command.getParameters();
ArrayList< ? extends ParameterInterface> params = command.getParameters();
for (int i = 0; i < len; i++) {
Parameter p = (Parameter) params.get(i);
p.setValue(transfer.readValue());
......@@ -226,7 +226,7 @@ public class TcpServerThread implements Runnable {
boolean readonly = command.isReadOnly();
cache.addObject(id, command);
boolean isQuery = command.isQuery();
ObjectArray< ? extends ParameterInterface> params = command.getParameters();
ArrayList< ? extends ParameterInterface> params = command.getParameters();
transfer.writeInt(getState(old)).writeBoolean(isQuery).writeBoolean(readonly)
.writeInt(params.size());
if (operation == SessionRemote.SESSION_PREPARE_READ_PARAMS) {
......
......@@ -47,7 +47,6 @@ import org.h2.tools.SimpleResultSet;
import org.h2.util.JdbcUtils;
import org.h2.util.MemoryUtils;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.Profiler;
import org.h2.util.ScriptReader;
import org.h2.util.SortedProperties;
......@@ -931,7 +930,7 @@ public class WebApp implements DatabaseEventListener {
result = "${text.result.maxrowsSet}";
} else {
ScriptReader r = new ScriptReader(new StringReader(sql));
ObjectArray<String> list = ObjectArray.newInstance();
ArrayList<String> list = New.arrayList();
while (true) {
String s = r.readStatement();
if (s == null) {
......
......@@ -9,6 +9,7 @@ package org.h2.store;
import java.io.EOFException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import org.h2.compress.CompressLZF;
......@@ -22,7 +23,6 @@ import org.h2.util.BitField;
import org.h2.util.IntArray;
import org.h2.util.IntIntHashMap;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.value.Value;
import org.h2.value.ValueNull;
......@@ -801,8 +801,8 @@ public class PageLog {
return pageOut == null ? 0 : pageOut.getSize();
}
ObjectArray<InDoubtTransaction> getInDoubtTransactions() {
ObjectArray<InDoubtTransaction> list = ObjectArray.newInstance();
ArrayList<InDoubtTransaction> getInDoubtTransactions() {
ArrayList<InDoubtTransaction> list = New.arrayList();
for (SessionState state : sessionStates.values()) {
InDoubtTransaction in = state.inDoubtTransaction;
if (in != null) {
......
......@@ -9,6 +9,7 @@ package org.h2.store;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.zip.CRC32;
import org.h2.command.ddl.CreateTableData;
......@@ -190,7 +191,7 @@ public class PageStore implements CacheWriter {
private Session systemSession;
private BitField freed = new BitField();
private ObjectArray<PageFreeList> freeLists = ObjectArray.newInstance();
private ArrayList<PageFreeList> freeLists = New.arrayList();
/**
* The change count is something like a "micro-transaction-id".
......@@ -1438,7 +1439,7 @@ public class PageStore implements CacheWriter {
*
* @return the list
*/
public ObjectArray<InDoubtTransaction> getInDoubtTransactions() {
public ArrayList<InDoubtTransaction> getInDoubtTransactions() {
return log.getInDoubtTransactions();
}
......
......@@ -10,12 +10,13 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.TreeMap;
import org.h2.message.Message;
import org.h2.util.IOUtils;
import org.h2.util.MathUtils;
import org.h2.util.ObjectArray;
import org.h2.util.New;
/**
* This file system keeps files fully in memory.
......@@ -102,7 +103,7 @@ public class FileSystemMemory extends FileSystem {
}
public String[] listFiles(String path) {
ObjectArray<String> list = ObjectArray.newInstance();
ArrayList<String> list = New.arrayList();
synchronized (MEMORY_FILES) {
for (String name : MEMORY_FILES.tailMap(path).keySet()) {
if (name.startsWith(path)) {
......
......@@ -15,6 +15,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Locale;
import org.h2.command.Command;
......@@ -51,6 +52,7 @@ import org.h2.store.InDoubtTransaction;
import org.h2.store.PageStore;
import org.h2.tools.Csv;
import org.h2.util.MathUtils;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.Resources;
import org.h2.util.StatementBuilder;
......@@ -600,7 +602,7 @@ public class MetaTable extends Table {
* @param last the last row to return
* @return the generated rows
*/
public ObjectArray<Row> generateRows(Session session, SearchRow first, SearchRow last) throws SQLException {
public ArrayList<Row> generateRows(Session session, SearchRow first, SearchRow last) throws SQLException {
Value indexFrom = null, indexTo = null;
if (indexColumn >= 0) {
......@@ -612,7 +614,7 @@ public class MetaTable extends Table {
}
}
ObjectArray<Row> rows = ObjectArray.newInstance();
ArrayList<Row> rows = New.arrayList();
String catalog = identifier(database.getShortName());
switch (type) {
case TABLES: {
......@@ -1251,15 +1253,16 @@ public class MetaTable extends Table {
break;
}
case IN_DOUBT: {
ObjectArray<InDoubtTransaction> prepared = database.getInDoubtTransactions();
for (int i = 0; prepared != null && i < prepared.size(); i++) {
InDoubtTransaction prep = prepared.get(i);
add(rows,
// TRANSACTION
prep.getTransaction(),
// STATE
prep.getState()
);
ArrayList<InDoubtTransaction> prepared = database.getInDoubtTransactions();
if (prepared != null) {
for (InDoubtTransaction prep : prepared) {
add(rows,
// TRANSACTION
prep.getTransaction(),
// STATE
prep.getState()
);
}
}
break;
}
......@@ -1599,7 +1602,7 @@ public class MetaTable extends Table {
// nothing to do
}
private void addPrivileges(ObjectArray<Row> rows, DbObject grantee, String catalog, Table table, String column,
private void addPrivileges(ArrayList<Row> rows, DbObject grantee, String catalog, Table table, String column,
int rightMask) throws SQLException {
if ((rightMask & Right.SELECT) != 0) {
addPrivilege(rows, grantee, catalog, table, column, "SELECT");
......@@ -1615,7 +1618,7 @@ public class MetaTable extends Table {
}
}
private void addPrivilege(ObjectArray<Row> rows, DbObject grantee, String catalog, Table table, String column,
private void addPrivilege(ArrayList<Row> rows, DbObject grantee, String catalog, Table table, String column,
String right) throws SQLException {
String isGrantable = "NO";
if (grantee.getType() == DbObject.USER) {
......@@ -1664,7 +1667,7 @@ public class MetaTable extends Table {
}
}
private void add(ObjectArray<Row> rows, String... strings) throws SQLException {
private void add(ArrayList<Row> rows, String... strings) throws SQLException {
Value[] values = new Value[strings.length];
for (int i = 0; i < strings.length; i++) {
String s = strings[i];
......
......@@ -7,12 +7,12 @@
package org.h2.table;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import org.h2.engine.Session;
import org.h2.expression.Expression;
import org.h2.expression.ExpressionVisitor;
import org.h2.util.New;
import org.h2.util.ObjectArray;
/**
* A possible query execution plan. The time required to execute a query depends
......@@ -34,8 +34,8 @@ public class Plan {
public Plan(TableFilter[] filters, int count, Expression condition) {
this.filters = new TableFilter[count];
System.arraycopy(filters, 0, this.filters, 0, count);
ObjectArray<Expression> allCond = ObjectArray.newInstance();
ObjectArray<TableFilter> all = ObjectArray.newInstance();
ArrayList<Expression> allCond = New.arrayList();
ArrayList<TableFilter> all = New.arrayList();
if (condition != null) {
allCond.add(condition);
}
......
......@@ -7,6 +7,7 @@
package org.h2.table;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
......@@ -904,7 +905,7 @@ public abstract class Table extends SchemaObjectBase {
* @return an object array with the sessions involved in the deadlock, or
* null
*/
public ObjectArray<Session> checkDeadlock(Session session, Session clash, Set<Session> visited) {
public ArrayList<Session> checkDeadlock(Session session, Session clash, Set<Session> visited) {
return null;
}
......
......@@ -7,6 +7,7 @@
package org.h2.table;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
......@@ -453,7 +454,7 @@ public class TableData extends Table {
}
session.setWaitForLock(this);
if (checkDeadlock) {
ObjectArray<Session> sessions = checkDeadlock(session, null, null);
ArrayList<Session> sessions = checkDeadlock(session, null, null);
if (sessions != null) {
throw Message.getSQLException(ErrorCode.DEADLOCK_1, getDeadlockDetails(sessions));
}
......@@ -491,7 +492,7 @@ public class TableData extends Table {
}
}
private String getDeadlockDetails(ObjectArray<Session> sessions) {
private String getDeadlockDetails(ArrayList<Session> sessions) {
StringBuilder buff = new StringBuilder();
for (Session s : sessions) {
Table lock = s.getWaitForLock();
......@@ -519,7 +520,7 @@ public class TableData extends Table {
return buff.toString();
}
public ObjectArray<Session> checkDeadlock(Session session, Session clash, Set<Session> visited) {
public ArrayList<Session> checkDeadlock(Session session, Session clash, Set<Session> visited) {
// only one deadlock check at any given time
synchronized (TableData.class) {
if (clash == null) {
......@@ -528,7 +529,7 @@ public class TableData extends Table {
visited = New.hashSet();
} else if (clash == session) {
// we found a circle where this session is involved
return ObjectArray.newInstance();
return New.arrayList();
} else if (visited.contains(session)) {
// we have already checked this session.
// there is a circle, but the sessions in the circle need to
......@@ -536,7 +537,7 @@ public class TableData extends Table {
return null;
}
visited.add(session);
ObjectArray<Session> error = null;
ArrayList<Session> error = null;
for (Session s : lockShared) {
if (s == session) {
// it doesn't matter if we have locked the object already
......
......@@ -7,7 +7,7 @@
package org.h2.table;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Parser;
import org.h2.command.dml.Select;
import org.h2.constant.SysProperties;
......@@ -23,7 +23,7 @@ import org.h2.index.IndexCursor;
import org.h2.message.Message;
import org.h2.result.Row;
import org.h2.result.SearchRow;
import org.h2.util.ObjectArray;
import org.h2.util.New;
import org.h2.util.StatementBuilder;
import org.h2.util.StringUtils;
import org.h2.value.Value;
......@@ -55,7 +55,7 @@ public class TableFilter implements ColumnResolver {
/**
* The index conditions used for direct index lookup (start or end).
*/
private final ObjectArray<IndexCondition> indexConditions = ObjectArray.newInstance();
private final ArrayList<IndexCondition> indexConditions = New.arrayList();
/**
* Additional conditions that can't be used for index lookup,
......@@ -73,7 +73,7 @@ public class TableFilter implements ColumnResolver {
private int state;
private TableFilter join;
private boolean outerJoin;
private ObjectArray<Column> naturalJoinColumns;
private ArrayList<Column> naturalJoinColumns;
private boolean foundOne;
private Expression fullCondition;
private final int hashCode;
......@@ -683,7 +683,7 @@ public class TableFilter implements ColumnResolver {
*/
public void addNaturalJoinColumn(Column c) {
if (naturalJoinColumns == null) {
naturalJoinColumns = ObjectArray.newInstance();
naturalJoinColumns = New.arrayList();
}
naturalJoinColumns.add(c);
}
......
......@@ -13,6 +13,7 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;
import java.util.HashMap;
import org.h2.command.Prepared;
import org.h2.constant.ErrorCode;
......@@ -107,7 +108,7 @@ public class TableLink extends Table {
rs.close();
rs = meta.getColumns(null, originalSchema, originalTable, null);
int i = 0;
ObjectArray<Column> columnList = ObjectArray.newInstance();
ArrayList<Column> columnList = New.arrayList();
HashMap<String, Column> columnMap = New.hashMap();
String catalog = null, schema = null;
while (rs.next()) {
......
......@@ -7,6 +7,7 @@
package org.h2.table;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.command.Prepared;
import org.h2.command.dml.Query;
import org.h2.constant.ErrorCode;
......@@ -24,6 +25,7 @@ import org.h2.result.Row;
import org.h2.schema.Schema;
import org.h2.util.IntArray;
import org.h2.util.MemoryUtils;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.SmallLRUCache;
import org.h2.util.StatementBuilder;
......@@ -38,7 +40,7 @@ public class TableView extends Table {
private static final long ROW_COUNT_APPROXIMATION = 100;
private String querySQL;
private ObjectArray<Table> tables;
private ArrayList<Table> tables;
private final String[] columnNames;
private Query viewQuery;
private ViewIndex index;
......@@ -50,7 +52,7 @@ public class TableView extends Table {
private User owner;
private Query topQuery;
public TableView(Schema schema, int id, String name, String querySQL, ObjectArray<Parameter> params, String[] columnNames,
public TableView(Schema schema, int id, String name, String querySQL, ArrayList<Parameter> params, String[] columnNames,
Session session, boolean recursive) throws SQLException {
super(schema, id, name, false, true);
this.querySQL = querySQL;
......@@ -81,9 +83,9 @@ public class TableView extends Table {
removeViewFromTables();
try {
Query query = recompileQuery(session);
tables = ObjectArray.newInstance(query.getTables());
ObjectArray<Expression> expressions = query.getExpressions();
ObjectArray<Column> list = ObjectArray.newInstance();
tables = New.arrayList(query.getTables());
ArrayList<Expression> expressions = query.getExpressions();
ArrayList<Column> list = New.arrayList();
for (int i = 0; i < query.getColumnCount(); i++) {
Expression expr = expressions.get(i);
String name = null;
......@@ -110,7 +112,7 @@ public class TableView extends Table {
// if it can't be compiled, then it's a 'zero column table'
// this avoids problems when creating the view when opening the
// database
tables = ObjectArray.newInstance();
tables = New.arrayList();
cols = new Column[0];
if (recursive && columnNames != null) {
cols = new Column[columnNames.length];
......
......@@ -7,6 +7,7 @@
package org.h2.util;
import java.sql.SQLException;
import java.util.ArrayList;
import org.h2.message.Message;
import org.h2.store.DataHandler;
......@@ -167,8 +168,8 @@ public class ValueHashMap<V> extends HashBase {
*
* @return all keys
*/
public ObjectArray<Value> keys() {
ObjectArray<Value> list = ObjectArray.newInstance(size);
public ArrayList<Value> keys() {
ArrayList<Value> list = New.arrayList(size);
for (Value k : keys) {
if (k != null && k != ValueNull.DELETED) {
list.add(k);
......@@ -182,8 +183,8 @@ public class ValueHashMap<V> extends HashBase {
*
* @return all values
*/
public ObjectArray<V> values() {
ObjectArray<V> list = ObjectArray.newInstance(size);
public ArrayList<V> values() {
ArrayList<V> list = New.arrayList(size);
for (int i = 0; i < keys.length; i++) {
Value k = keys[i];
if (k != null && k != ValueNull.DELETED) {
......
......@@ -7,6 +7,8 @@
package org.h2.test.unit;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Random;
......@@ -14,7 +16,6 @@ import org.h2.store.DataHandler;
import org.h2.store.FileStore;
import org.h2.test.TestBase;
import org.h2.util.New;
import org.h2.util.ObjectArray;
import org.h2.util.SmallLRUCache;
import org.h2.util.TempFileDeleter;
import org.h2.util.ValueHashMap;
......@@ -86,22 +87,22 @@ public class TestValueHashMap extends TestBase implements DataHandler {
assertTrue(v1 == null ? v2 == null : v1.compareEqual(v2));
break;
case 3: {
ObjectArray<Value> a1 = map.keys();
ObjectArray<Value> a2 = ObjectArray.newInstance(hash.keySet());
ArrayList<Value> a1 = map.keys();
ArrayList<Value> a2 = New.arrayList(hash.keySet());
assertEquals(a1.size(), a2.size());
a1.sort(vc);
a2.sort(vc);
Collections.sort(a1, vc);
Collections.sort(a2, vc);
for (int j = 0; j < a1.size(); j++) {
assertTrue(a1.get(j).compareEqual(a2.get(j)));
}
break;
}
case 4:
ObjectArray<Value> a1 = map.values();
ObjectArray<Value> a2 = ObjectArray.newInstance(hash.values());
ArrayList<Value> a1 = map.values();
ArrayList<Value> a2 = New.arrayList(hash.values());
assertEquals(a1.size(), a2.size());
a1.sort(vc);
a2.sort(vc);
Collections.sort(a1, vc);
Collections.sort(a2, vc);
for (int j = 0; j < a1.size(); j++) {
assertTrue(a1.get(j).compareEqual(a2.get(j)));
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论