Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
8094d423
提交
8094d423
authored
2月 05, 2010
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Replace ObjectArray with ArrayList.
上级
7020bad7
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
65 个修改的文件
包含
324 行增加
和
312 行删除
+324
-312
Command.java
h2/src/main/org/h2/command/Command.java
+2
-2
CommandContainer.java
h2/src/main/org/h2/command/CommandContainer.java
+4
-4
CommandInterface.java
h2/src/main/org/h2/command/CommandInterface.java
+2
-3
CommandList.java
h2/src/main/org/h2/command/CommandList.java
+2
-2
CommandRemote.java
h2/src/main/org/h2/command/CommandRemote.java
+7
-7
Parser.java
h2/src/main/org/h2/command/Parser.java
+38
-36
Prepared.java
h2/src/main/org/h2/command/Prepared.java
+4
-4
AlterTableAlterColumn.java
h2/src/main/org/h2/command/ddl/AlterTableAlterColumn.java
+0
-1
CreateTable.java
h2/src/main/org/h2/command/ddl/CreateTable.java
+2
-1
GrantRevoke.java
h2/src/main/org/h2/command/ddl/GrantRevoke.java
+5
-5
Call.java
h2/src/main/org/h2/command/dml/Call.java
+6
-4
ExecuteProcedure.java
h2/src/main/org/h2/command/dml/ExecuteProcedure.java
+4
-3
Insert.java
h2/src/main/org/h2/command/dml/Insert.java
+3
-2
Merge.java
h2/src/main/org/h2/command/dml/Merge.java
+4
-3
Query.java
h2/src/main/org/h2/command/dml/Query.java
+9
-9
Select.java
h2/src/main/org/h2/command/dml/Select.java
+15
-14
SelectListColumnResolver.java
h2/src/main/org/h2/command/dml/SelectListColumnResolver.java
+2
-2
SelectUnion.java
h2/src/main/org/h2/command/dml/SelectUnion.java
+12
-12
CompressDeflate.java
h2/src/main/org/h2/compress/CompressDeflate.java
+0
-1
LZFInputStream.java
h2/src/main/org/h2/compress/LZFInputStream.java
+0
-1
LZFOutputStream.java
h2/src/main/org/h2/compress/LZFOutputStream.java
+0
-1
ConstraintReferential.java
h2/src/main/org/h2/constraint/ConstraintReferential.java
+4
-4
Database.java
h2/src/main/org/h2/engine/Database.java
+1
-1
FunctionAlias.java
h2/src/main/org/h2/engine/FunctionAlias.java
+3
-3
Session.java
h2/src/main/org/h2/engine/Session.java
+10
-9
SessionRemote.java
h2/src/main/org/h2/engine/SessionRemote.java
+3
-3
SessionWithState.java
h2/src/main/org/h2/engine/SessionWithState.java
+4
-3
Aggregate.java
h2/src/main/org/h2/expression/Aggregate.java
+6
-5
AggregateData.java
h2/src/main/org/h2/expression/AggregateData.java
+5
-4
Comparison.java
h2/src/main/org/h2/expression/Comparison.java
+5
-6
ConditionIn.java
h2/src/main/org/h2/expression/ConditionIn.java
+3
-3
Function.java
h2/src/main/org/h2/expression/Function.java
+3
-4
TableFunction.java
h2/src/main/org/h2/expression/TableFunction.java
+2
-3
IndexCondition.java
h2/src/main/org/h2/index/IndexCondition.java
+3
-3
IndexCursor.java
h2/src/main/org/h2/index/IndexCursor.java
+2
-2
MetaCursor.java
h2/src/main/org/h2/index/MetaCursor.java
+3
-3
MetaIndex.java
h2/src/main/org/h2/index/MetaIndex.java
+2
-2
ScanIndex.java
h2/src/main/org/h2/index/ScanIndex.java
+4
-4
ViewIndex.java
h2/src/main/org/h2/index/ViewIndex.java
+4
-4
JdbcParameterMetaData.java
h2/src/main/org/h2/jdbc/JdbcParameterMetaData.java
+2
-3
JdbcPreparedStatement.java
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
+12
-14
JdbcStatement.java
h2/src/main/org/h2/jdbc/JdbcStatement.java
+5
-5
TraceObject.java
h2/src/main/org/h2/message/TraceObject.java
+2
-3
LocalResult.java
h2/src/main/org/h2/result/LocalResult.java
+12
-12
ResultDiskBuffer.java
h2/src/main/org/h2/result/ResultDiskBuffer.java
+8
-8
ResultExternal.java
h2/src/main/org/h2/result/ResultExternal.java
+2
-3
ResultRemote.java
h2/src/main/org/h2/result/ResultRemote.java
+6
-6
ResultTempTable.java
h2/src/main/org/h2/result/ResultTempTable.java
+2
-2
RowList.java
h2/src/main/org/h2/result/RowList.java
+5
-4
SortOrder.java
h2/src/main/org/h2/result/SortOrder.java
+5
-5
UpdatableRow.java
h2/src/main/org/h2/result/UpdatableRow.java
+4
-4
TcpServerThread.java
h2/src/main/org/h2/server/TcpServerThread.java
+3
-3
WebApp.java
h2/src/main/org/h2/server/web/WebApp.java
+1
-2
PageLog.java
h2/src/main/org/h2/store/PageLog.java
+3
-3
PageStore.java
h2/src/main/org/h2/store/PageStore.java
+3
-2
FileSystemMemory.java
h2/src/main/org/h2/store/fs/FileSystemMemory.java
+3
-2
MetaTable.java
h2/src/main/org/h2/table/MetaTable.java
+17
-14
Plan.java
h2/src/main/org/h2/table/Plan.java
+3
-3
Table.java
h2/src/main/org/h2/table/Table.java
+2
-1
TableData.java
h2/src/main/org/h2/table/TableData.java
+6
-5
TableFilter.java
h2/src/main/org/h2/table/TableFilter.java
+5
-5
TableLink.java
h2/src/main/org/h2/table/TableLink.java
+2
-1
TableView.java
h2/src/main/org/h2/table/TableView.java
+8
-6
ValueHashMap.java
h2/src/main/org/h2/util/ValueHashMap.java
+5
-4
TestValueHashMap.java
h2/src/test/org/h2/test/unit/TestValueHashMap.java
+10
-9
没有找到文件。
h2/src/main/org/h2/command/Command.java
浏览文件 @
8094d423
...
...
@@ -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.
...
...
h2/src/main/org/h2/command/CommandContainer.java
浏览文件 @
8094d423
...
...
@@ -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
())
{
...
...
h2/src/main/org/h2/command/CommandInterface.java
浏览文件 @
8094d423
...
...
@@ -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.
...
...
h2/src/main/org/h2/command/CommandList.java
浏览文件 @
8094d423
...
...
@@ -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
();
}
...
...
h2/src/main/org/h2/command/CommandRemote.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/command/Parser.java
浏览文件 @
8094d423
差异被折叠。
点击展开。
h2/src/main/org/h2/command/Prepared.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/command/ddl/AlterTableAlterColumn.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/command/ddl/CreateTable.java
浏览文件 @
8094d423
...
...
@@ -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
();
...
...
h2/src/main/org/h2/command/ddl/GrantRevoke.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/command/dml/Call.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/command/dml/ExecuteProcedure.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/command/dml/Insert.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/command/dml/Merge.java
浏览文件 @
8094d423
...
...
@@ -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
());
...
...
h2/src/main/org/h2/command/dml/Query.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/command/dml/Select.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/command/dml/SelectListColumnResolver.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/command/dml/SelectUnion.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/compress/CompressDeflate.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/compress/LZFInputStream.java
浏览文件 @
8094d423
...
...
@@ -8,7 +8,6 @@ package org.h2.compress;
import
java.io.IOException
;
import
java.io.InputStream
;
import
org.h2.util.MemoryUtils
;
/**
...
...
h2/src/main/org/h2/compress/LZFOutputStream.java
浏览文件 @
8094d423
...
...
@@ -8,7 +8,6 @@ package org.h2.compress;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
org.h2.engine.Constants
;
/**
...
...
h2/src/main/org/h2/constraint/ConstraintReferential.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/engine/Database.java
浏览文件 @
8094d423
...
...
@@ -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
();
}
...
...
h2/src/main/org/h2/engine/FunctionAlias.java
浏览文件 @
8094d423
...
...
@@ -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
()))
{
...
...
h2/src/main/org/h2/engine/Session.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/main/org/h2/engine/SessionRemote.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/engine/SessionWithState.java
浏览文件 @
8094d423
...
...
@@ -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
())
{
...
...
h2/src/main/org/h2/expression/Aggregate.java
浏览文件 @
8094d423
...
...
@@ -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
();
...
...
h2/src/main/org/h2/expression/AggregateData.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/expression/Comparison.java
浏览文件 @
8094d423
...
...
@@ -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
));
}
}
}
...
...
h2/src/main/org/h2/expression/ConditionIn.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/expression/Function.java
浏览文件 @
8094d423
...
...
@@ -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
];
}
...
...
h2/src/main/org/h2/expression/TableFunction.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/index/IndexCondition.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/index/IndexCursor.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/index/MetaCursor.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/index/MetaIndex.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/index/ScanIndex.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/index/ViewIndex.java
浏览文件 @
8094d423
...
...
@@ -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
();
...
...
h2/src/main/org/h2/jdbc/JdbcParameterMetaData.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/jdbc/JdbcPreparedStatement.java
浏览文件 @
8094d423
...
...
@@ -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
();
...
...
h2/src/main/org/h2/jdbc/JdbcStatement.java
浏览文件 @
8094d423
...
...
@@ -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
;
...
...
h2/src/main/org/h2/message/TraceObject.java
浏览文件 @
8094d423
...
...
@@ -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
(
" {"
);
...
...
h2/src/main/org/h2/result/LocalResult.java
浏览文件 @
8094d423
...
...
@@ -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
{
...
...
h2/src/main/org/h2/result/ResultDiskBuffer.java
浏览文件 @
8094d423
...
...
@@ -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
();
}
}
...
...
h2/src/main/org/h2/result/ResultExternal.java
浏览文件 @
8094d423
...
...
@@ -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.
...
...
h2/src/main/org/h2/result/ResultRemote.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/result/ResultTempTable.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/result/RowList.java
浏览文件 @
8094d423
...
...
@@ -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
...
...
h2/src/main/org/h2/result/SortOrder.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/main/org/h2/result/UpdatableRow.java
浏览文件 @
8094d423
...
...
@@ -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
);
...
...
h2/src/main/org/h2/server/TcpServerThread.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/main/org/h2/server/web/WebApp.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/main/org/h2/store/PageLog.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/main/org/h2/store/PageStore.java
浏览文件 @
8094d423
...
...
@@ -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
();
}
...
...
h2/src/main/org/h2/store/fs/FileSystemMemory.java
浏览文件 @
8094d423
...
...
@@ -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
))
{
...
...
h2/src/main/org/h2/table/MetaTable.java
浏览文件 @
8094d423
...
...
@@ -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
];
...
...
h2/src/main/org/h2/table/Plan.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/table/Table.java
浏览文件 @
8094d423
...
...
@@ -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
;
}
...
...
h2/src/main/org/h2/table/TableData.java
浏览文件 @
8094d423
...
...
@@ -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
...
...
h2/src/main/org/h2/table/TableFilter.java
浏览文件 @
8094d423
...
...
@@ -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
);
}
...
...
h2/src/main/org/h2/table/TableLink.java
浏览文件 @
8094d423
...
...
@@ -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
())
{
...
...
h2/src/main/org/h2/table/TableView.java
浏览文件 @
8094d423
...
...
@@ -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
];
...
...
h2/src/main/org/h2/util/ValueHashMap.java
浏览文件 @
8094d423
...
...
@@ -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
)
{
...
...
h2/src/test/org/h2/test/unit/TestValueHashMap.java
浏览文件 @
8094d423
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论